Time bar (total: 3.9s)
| 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 |
| 25% | 25% | 74.9% | 0.1% | 0% | 0% | 0% | 5 |
| 43.8% | 43.7% | 56.2% | 0.1% | 0% | 0% | 0% | 6 |
| 59.4% | 59.3% | 40.6% | 0.1% | 0% | 0% | 0% | 7 |
| 68.3% | 67.1% | 31.2% | 0.1% | 1.6% | 0% | 0% | 8 |
| 76.6% | 74.1% | 22.6% | 0.1% | 3.1% | 0% | 0% | 9 |
| 81.9% | 77.7% | 17.2% | 0.1% | 5.1% | 0% | 0% | 10 |
| 87.2% | 81% | 11.9% | 0.1% | 7% | 0% | 0% | 11 |
| 90.2% | 82.6% | 9% | 0.1% | 8.3% | 0% | 0% | 12 |
Compiled 8 to 6 computations (25% saved)
| 630.0ms | 8256× | body | 256 | valid |
| 27.0ms | 365× | body | 256 | infinite |
| 2× | egg-herbie |
| 4008× | rational.json-simplify-35 |
| 2700× | rational.json-simplify-51 |
| 1900× | rational.json-simplify-2 |
| 1496× | rational.json-simplify-1 |
| 768× | rational.json-simplify-47 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 26 |
| 1 | 21 | 26 |
| 2 | 43 | 26 |
| 3 | 83 | 26 |
| 4 | 165 | 26 |
| 5 | 327 | 26 |
| 6 | 747 | 26 |
| 7 | 1099 | 26 |
| 8 | 1380 | 26 |
| 9 | 1782 | 26 |
| 10 | 2152 | 26 |
| 11 | 2744 | 26 |
| 12 | 3612 | 26 |
| 13 | 4038 | 26 |
| 14 | 4234 | 26 |
| 15 | 5938 | 26 |
| 16 | 6150 | 26 |
| 17 | 6150 | 26 |
| 18 | 7120 | 26 |
| 0 | 2 | 2 |
| 1× | saturated |
| 1× | node limit |
| Inputs |
|---|
0 |
1 |
| Outputs |
|---|
0 |
1 |
| Inputs |
|---|
(/.f64 x (*.f64 y 3)) |
(/.f64 y (*.f64 x 3)) |
| Outputs |
|---|
(/.f64 x (*.f64 y 3)) |
(/.f64 y (*.f64 x 3)) |
(/.f64 (/.f64 y x) 3) |
Compiled 9 to 7 computations (22.2% saved)
| 1× | egg-herbie |
| 2688× | rational.json-simplify-51 |
| 2634× | rational.json-simplify-2 |
| 2510× | rational.json-simplify-44 |
| 2092× | rational.json-simplify-35 |
| 908× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 13 | 13 |
| 2 | 26 | 13 |
| 3 | 48 | 13 |
| 4 | 95 | 13 |
| 5 | 186 | 13 |
| 6 | 424 | 13 |
| 7 | 1062 | 13 |
| 8 | 1596 | 13 |
| 9 | 1777 | 13 |
| 10 | 1908 | 13 |
| 11 | 2086 | 13 |
| 12 | 2315 | 13 |
| 13 | 2621 | 13 |
| 14 | 5240 | 13 |
| 15 | 5679 | 13 |
| 16 | 6234 | 13 |
| 17 | 6234 | 13 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 x (*.f64 y 3)) |
| Outputs |
|---|
(/.f64 x (*.f64 y 3)) |
Compiled 7 to 5 computations (28.6% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 1 | 1 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 2 | 2 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.2b | (/.f64 x (*.f64 y 3)) |
Compiled 7 to 5 computations (28.6% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (/.f64 x (*.f64 y 3)) |
Compiled 13 to 8 computations (38.5% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | 0 | (/.f64 x (*.f64 y 3)) |
| 1.0ms | x | @ | inf | (/.f64 x (*.f64 y 3)) |
| 1.0ms | x | @ | 0 | (/.f64 x (*.f64 y 3)) |
| 0.0ms | y | @ | inf | (/.f64 x (*.f64 y 3)) |
| 0.0ms | x | @ | -inf | (/.f64 x (*.f64 y 3)) |
| 1× | batch-egg-rewrite |
| 1904× | rational.json-simplify-35 |
| 1352× | rational.json-1 |
| 1352× | rational.json-2 |
| 1352× | rational.json-4 |
| 1352× | rational.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 50 | 13 |
| 2 | 145 | 13 |
| 3 | 433 | 13 |
| 4 | 1424 | 13 |
| 5 | 4040 | 13 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 x (*.f64 y 3)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (/.f64 1/3 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 x (*.f64 y -3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 x (*.f64 y 6)) (/.f64 x (*.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (/.f64 1/3 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 x (*.f64 y -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 1/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (*.f64 2 (/.f64 1/3 y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (/.f64 2 (*.f64 y 3)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 2/3 (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 1/3 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (/.f64 1/6 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (/.f64 1/3 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (*.f64 (/.f64 1/3 y) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 1/6 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (/.f64 1/2 y) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (*.f64 (/.f64 1 y) 1/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 1/3 (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x y) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 x (*.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 x (*.f64 y 6)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 x 6) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 x 2) (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 x (+.f64 y y)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 x (/.f64 1/3 y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 x 1/3) (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 x (/.f64 1/6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1/6 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x y) 2/3) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (/.f64 1 (*.f64 y 12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 (/.f64 1 (*.f64 y 12)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 1/4 (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 (/.f64 1 (*.f64 y 4)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 1/2 (/.f64 1/6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (/.f64 y x)) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/3) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (*.f64 x 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/3 y) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 1 (*.f64 y -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (*.f64 (/.f64 1 (*.f64 y -3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (*.f64 (/.f64 -1 y) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 x (*.f64 y -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 x (*.f64 y -3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 (neg.f64 x) y) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 2/3) (/.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (/.f64 x y) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 y) (*.f64 x 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/6 y) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/3 y) 1/2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (*.f64 y -3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/6 (/.f64 2 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (*.f64 y 6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y 12)) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y -3)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (/.f64 1/3 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 x (*.f64 y -3))))))) |
| 1× | egg-herbie |
| 1418× | rational.json-simplify-2 |
| 1068× | rational.json-simplify-35 |
| 834× | rational.json-simplify-1 |
| 794× | rational.json-simplify-51 |
| 776× | rational.json-simplify-44 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 135 | 1066 |
| 1 | 303 | 1066 |
| 2 | 630 | 1066 |
| 3 | 1290 | 1066 |
| 4 | 2730 | 1066 |
| 5 | 6325 | 1066 |
| 6 | 7691 | 1066 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 (*.f64 x (/.f64 1/3 y)) 0) |
(+.f64 0 (*.f64 x (/.f64 1/3 y))) |
(+.f64 -1 (-.f64 1 (/.f64 x (*.f64 y -3)))) |
(+.f64 (/.f64 x (*.f64 y 6)) (/.f64 x (*.f64 y 6))) |
(-.f64 (*.f64 x (/.f64 1/3 y)) 0) |
(-.f64 0 (/.f64 x (*.f64 y -3))) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 x (*.f64 (*.f64 2 (/.f64 1/3 y)) 1/2)) |
(*.f64 x (*.f64 (/.f64 2 (*.f64 y 3)) 1/2)) |
(*.f64 x (*.f64 2/3 (/.f64 1/2 y))) |
(*.f64 (*.f64 x (/.f64 1/3 y)) 1) |
(*.f64 1 (*.f64 x (/.f64 1/3 y))) |
(*.f64 (+.f64 x x) (/.f64 1/6 y)) |
(*.f64 (+.f64 x x) (*.f64 (/.f64 1/3 y) 1/2)) |
(*.f64 (+.f64 x x) (*.f64 (*.f64 (/.f64 1/3 y) 1/2) 1)) |
(*.f64 (+.f64 x x) (*.f64 1/6 (/.f64 1 y))) |
(*.f64 (+.f64 x x) (*.f64 (/.f64 1/2 y) 1/3)) |
(*.f64 (+.f64 x x) (*.f64 (*.f64 (/.f64 1 y) 1/2) 1/3)) |
(*.f64 (+.f64 x x) (*.f64 1/3 (/.f64 1/2 y))) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 2 (/.f64 x (*.f64 y 6))) |
(*.f64 2 (*.f64 (/.f64 x (*.f64 y 6)) 1)) |
(*.f64 2 (*.f64 (/.f64 x 6) (/.f64 1 y))) |
(*.f64 2 (*.f64 (/.f64 x 2) (/.f64 1/3 y))) |
(*.f64 2 (*.f64 (/.f64 x (+.f64 y y)) 1/3)) |
(*.f64 2 (*.f64 (*.f64 x (/.f64 1/3 y)) 1/2)) |
(*.f64 2 (*.f64 (*.f64 x 1/3) (/.f64 1/2 y))) |
(*.f64 2 (*.f64 x (/.f64 1/6 y))) |
(*.f64 2 (*.f64 (/.f64 1/6 y) x)) |
(*.f64 (*.f64 (/.f64 x y) 2/3) 1/2) |
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 y 12))) |
(*.f64 (*.f64 x 4) (*.f64 (/.f64 1 (*.f64 y 12)) 1)) |
(*.f64 (*.f64 x 4) (*.f64 1/4 (/.f64 1/3 y))) |
(*.f64 (*.f64 x 4) (*.f64 (/.f64 1 (*.f64 y 4)) 1/3)) |
(*.f64 (*.f64 x 4) (*.f64 1/2 (/.f64 1/6 y))) |
(*.f64 (/.f64 2 (/.f64 y x)) 1/6) |
(*.f64 (*.f64 x 1/3) (/.f64 1 y)) |
(*.f64 (/.f64 1 y) (*.f64 x 1/3)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 (neg.f64 x) (/.f64 1 (*.f64 y -3))) |
(*.f64 (neg.f64 x) (*.f64 (/.f64 1 (*.f64 y -3)) 1)) |
(*.f64 (neg.f64 x) (*.f64 (/.f64 -1 y) 1/3)) |
(*.f64 -1 (/.f64 x (*.f64 y -3))) |
(*.f64 -1 (*.f64 (/.f64 x (*.f64 y -3)) 1)) |
(*.f64 -1 (*.f64 (/.f64 (neg.f64 x) y) 1/3)) |
(*.f64 (*.f64 x 2/3) (/.f64 1/2 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/2 (*.f64 (/.f64 x y) 2/3)) |
(*.f64 (/.f64 1/2 y) (*.f64 x 2/3)) |
(*.f64 (/.f64 1/6 y) (+.f64 x x)) |
(*.f64 (*.f64 (/.f64 1/3 y) 1/2) (+.f64 x x)) |
(*.f64 (/.f64 x (*.f64 y -3)) -1) |
(*.f64 1/6 (/.f64 2 (/.f64 y x))) |
(*.f64 (/.f64 x (*.f64 y 6)) 2) |
(*.f64 (/.f64 1 (*.f64 y 12)) (*.f64 x 4)) |
(*.f64 (/.f64 1 (*.f64 y -3)) (neg.f64 x)) |
(pow.f64 (*.f64 x (/.f64 1/3 y)) 1) |
(neg.f64 (/.f64 x (*.f64 y -3))) |
| Outputs |
|---|
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(+.f64 (*.f64 x (/.f64 1/3 y)) 0) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(+.f64 0 (*.f64 x (/.f64 1/3 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(+.f64 -1 (-.f64 1 (/.f64 x (*.f64 y -3)))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(+.f64 (/.f64 x (*.f64 y 6)) (/.f64 x (*.f64 y 6))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(-.f64 (*.f64 x (/.f64 1/3 y)) 0) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(-.f64 0 (/.f64 x (*.f64 y -3))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 x (*.f64 (*.f64 2 (/.f64 1/3 y)) 1/2)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 x (*.f64 (/.f64 2 (*.f64 y 3)) 1/2)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 x (*.f64 2/3 (/.f64 1/2 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (*.f64 x (/.f64 1/3 y)) 1) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1 (*.f64 x (/.f64 1/3 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (+.f64 x x) (/.f64 1/6 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (+.f64 x x) (*.f64 (/.f64 1/3 y) 1/2)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (+.f64 x x) (*.f64 (*.f64 (/.f64 1/3 y) 1/2) 1)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (+.f64 x x) (*.f64 1/6 (/.f64 1 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (+.f64 x x) (*.f64 (/.f64 1/2 y) 1/3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (+.f64 x x) (*.f64 (*.f64 (/.f64 1 y) 1/2) 1/3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (+.f64 x x) (*.f64 1/3 (/.f64 1/2 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 2 (/.f64 x (*.f64 y 6))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 2 (*.f64 (/.f64 x (*.f64 y 6)) 1)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 2 (*.f64 (/.f64 x 6) (/.f64 1 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 2 (*.f64 (/.f64 x 2) (/.f64 1/3 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 2 (*.f64 (/.f64 x (+.f64 y y)) 1/3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 2 (*.f64 (*.f64 x (/.f64 1/3 y)) 1/2)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 2 (*.f64 (*.f64 x 1/3) (/.f64 1/2 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 2 (*.f64 x (/.f64 1/6 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 2 (*.f64 (/.f64 1/6 y) x)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (*.f64 (/.f64 x y) 2/3) 1/2) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 y 12))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (*.f64 x 4) (*.f64 (/.f64 1 (*.f64 y 12)) 1)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (*.f64 x 4) (*.f64 1/4 (/.f64 1/3 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (*.f64 x 4) (*.f64 (/.f64 1 (*.f64 y 4)) 1/3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (*.f64 x 4) (*.f64 1/2 (/.f64 1/6 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (/.f64 2 (/.f64 y x)) 1/6) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (*.f64 x 1/3) (/.f64 1 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (/.f64 1 y) (*.f64 x 1/3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (neg.f64 x) (/.f64 1 (*.f64 y -3))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (neg.f64 x) (*.f64 (/.f64 1 (*.f64 y -3)) 1)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (neg.f64 x) (*.f64 (/.f64 -1 y) 1/3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 -1 (/.f64 x (*.f64 y -3))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 -1 (*.f64 (/.f64 x (*.f64 y -3)) 1)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 -1 (*.f64 (/.f64 (neg.f64 x) y) 1/3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (*.f64 x 2/3) (/.f64 1/2 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/2 (*.f64 (/.f64 x y) 2/3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (/.f64 1/2 y) (*.f64 x 2/3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (/.f64 1/6 y) (+.f64 x x)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (*.f64 (/.f64 1/3 y) 1/2) (+.f64 x x)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (/.f64 x (*.f64 y -3)) -1) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/6 (/.f64 2 (/.f64 y x))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (/.f64 x (*.f64 y 6)) 2) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (/.f64 1 (*.f64 y 12)) (*.f64 x 4)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (/.f64 1 (*.f64 y -3)) (neg.f64 x)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(pow.f64 (*.f64 x (/.f64 1/3 y)) 1) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(neg.f64 (/.f64 x (*.f64 y -3))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
Compiled 469 to 323 computations (31.1% saved)
7 alts after pruning (6 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 53 | 6 | 59 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 53 | 7 | 60 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.2b | (/.f64 x (*.f64 y 3)) |
| ▶ | 0.3b | (*.f64 (/.f64 x y) 1/3) |
| ▶ | 0.7b | (*.f64 (/.f64 2 (/.f64 y x)) 1/6) |
| ▶ | 0.4b | (*.f64 (/.f64 1 y) (*.f64 x 1/3)) |
| ▶ | 0.3b | (*.f64 (/.f64 1/3 y) x) |
| ▶ | 0.4b | (*.f64 x (*.f64 2/3 (/.f64 1/2 y))) |
| 0.3b | (*.f64 2 (*.f64 (/.f64 x 6) (/.f64 1 y))) |
Compiled 111 to 85 computations (23.4% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (*.f64 (/.f64 x y) 1/3) |
Compiled 13 to 6 computations (53.8% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | -inf | (*.f64 (/.f64 x y) 1/3) |
| 0.0ms | x | @ | 0 | (*.f64 (/.f64 x y) 1/3) |
| 0.0ms | x | @ | inf | (*.f64 (/.f64 x y) 1/3) |
| 0.0ms | x | @ | -inf | (*.f64 (/.f64 x y) 1/3) |
| 0.0ms | y | @ | inf | (*.f64 (/.f64 x y) 1/3) |
| 1× | batch-egg-rewrite |
| 1264× | rational.json-1 |
| 1264× | rational.json-2 |
| 1264× | rational.json-4 |
| 1264× | rational.json-3 |
| 1256× | exponential.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 48 | 13 |
| 2 | 123 | 13 |
| 3 | 305 | 13 |
| 4 | 807 | 13 |
| 5 | 3413 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (/.f64 x y) 1/3) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 x y) 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 x y) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 x y) 1/6) (*.f64 (/.f64 x y) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (/.f64 x y) 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x y) 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x y) 2/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x y) 4/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 x y) 4/3)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (/.f64 x y) 4/3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 x y) 1/3) 1))))) |
| 1× | egg-herbie |
| 1636× | rational.json-simplify-35 |
| 1594× | rational.json-simplify-2 |
| 1476× | rational.json-simplify-61 |
| 874× | rational.json-simplify-39 |
| 600× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 32 | 442 |
| 1 | 74 | 442 |
| 2 | 162 | 442 |
| 3 | 423 | 442 |
| 4 | 1308 | 442 |
| 5 | 2938 | 442 |
| 6 | 3876 | 442 |
| 7 | 4338 | 442 |
| 8 | 4772 | 442 |
| 9 | 6099 | 442 |
| 10 | 6443 | 442 |
| 11 | 6767 | 442 |
| 12 | 7422 | 442 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 (*.f64 (/.f64 x y) 1/3) 0) |
(+.f64 0 (*.f64 (/.f64 x y) 1/3)) |
(+.f64 (*.f64 (/.f64 x y) 1/6) (*.f64 (/.f64 x y) 1/6)) |
(-.f64 (*.f64 (/.f64 x y) 1/3) 0) |
(/.f64 (*.f64 (/.f64 x y) 1/3) 1) |
(/.f64 (*.f64 (/.f64 x y) 2/3) 2) |
(/.f64 (*.f64 (/.f64 x y) 4/3) 4) |
(/.f64 (*.f64 2 (*.f64 (/.f64 x y) 4/3)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (/.f64 x y) 4/3))) 16) |
(pow.f64 (*.f64 (/.f64 x y) 1/3) 1) |
| Outputs |
|---|
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 (*.f64 (/.f64 x y) 1/3) 0) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 0 (*.f64 (/.f64 x y) 1/3)) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 (*.f64 (/.f64 x y) 1/6) (*.f64 (/.f64 x y) 1/6)) |
(*.f64 1/3 (/.f64 x y)) |
(-.f64 (*.f64 (/.f64 x y) 1/3) 0) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (*.f64 (/.f64 x y) 1/3) 1) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (*.f64 (/.f64 x y) 2/3) 2) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (*.f64 (/.f64 x y) 4/3) 4) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (*.f64 2 (*.f64 (/.f64 x y) 4/3)) 8) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (/.f64 x y) 4/3))) 16) |
(*.f64 1/3 (/.f64 x y)) |
(pow.f64 (*.f64 (/.f64 x y) 1/3) 1) |
(*.f64 1/3 (/.f64 x y)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (*.f64 (/.f64 1/3 y) x) |
| ✓ | 0.4b | (/.f64 1/3 y) |
Compiled 13 to 8 computations (38.5% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (/.f64 1/3 y) |
| 0.0ms | y | @ | inf | (/.f64 1/3 y) |
| 0.0ms | y | @ | -inf | (/.f64 1/3 y) |
| 0.0ms | x | @ | -inf | (*.f64 (/.f64 1/3 y) x) |
| 0.0ms | x | @ | inf | (*.f64 (/.f64 1/3 y) x) |
| 1× | batch-egg-rewrite |
| 1268× | rational.json-1 |
| 1268× | rational.json-2 |
| 1268× | rational.json-3 |
| 1266× | rational.json-4 |
| 1252× | exponential.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 20 |
| 1 | 49 | 20 |
| 2 | 123 | 20 |
| 3 | 285 | 20 |
| 4 | 621 | 20 |
| 5 | 1974 | 20 |
| 6 | 5066 | 20 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 1/3 y) |
(*.f64 (/.f64 1/3 y) x) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1/3 y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 -1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1/6 y) (/.f64 1/6 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1/3 y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 -1/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 3 (*.f64 y (*.f64 y 9))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/3 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 1/6 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2/3 y) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 3) (/.f64 1 (*.f64 y (*.f64 y 9))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 6) (/.f64 1/2 (*.f64 y (*.f64 y 9))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (/.f64 1/3 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/3 y) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (/.f64 y (*.f64 y (*.f64 y 9))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 2/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (/.f64 1/3 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 6 (/.f64 (*.f64 y 1/2) (*.f64 y (*.f64 y 9))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/6 y) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 3/2) (/.f64 2 (*.f64 y (*.f64 y 9))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3/2 (/.f64 (+.f64 y y) (*.f64 y (*.f64 y 9))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y (*.f64 y (*.f64 y 9))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 y y) (*.f64 y (*.f64 y 9))) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/3 y) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y (*.f64 y 9))) (*.f64 y 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (*.f64 y (*.f64 y 9))) (*.f64 y 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 3 (*.f64 y (*.f64 y 9))) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 y (*.f64 y 9))) (*.f64 y 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y 1/2) (*.f64 y (*.f64 y 9))) 6)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1/3 y) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/3 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 -1/3 y)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1/3 y) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 1/3 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1/6 (/.f64 y x)) (/.f64 1/6 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (/.f64 1/3 y) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/3 (/.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (*.f64 y 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (/.f64 (*.f64 y (*.f64 y 9)) (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1/3 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 y (/.f64 3 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2/3 (*.f64 y (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (*.f64 6 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x x) (*.f64 y 6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4/3 (*.f64 2 (*.f64 y (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4/3 (/.f64 (*.f64 y 4) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2/3 (/.f64 y x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/3 (neg.f64 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 2 (*.f64 6 (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 y 12) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8/3 (*.f64 2 (/.f64 (*.f64 y 4) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8/3 (*.f64 2 (*.f64 2 (*.f64 y (/.f64 2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2/3 (neg.f64 (*.f64 y (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) (*.f64 y 12))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4/3 (/.f64 y x)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (*.f64 y (/.f64 3 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (*.f64 2 (*.f64 2 (*.f64 6 (/.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (*.f64 2 (/.f64 (*.f64 y 12) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 8) (*.f64 2 (*.f64 y 12)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -4/3 (-.f64 0 (*.f64 2 (*.f64 y (/.f64 2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -4/3 (-.f64 0 (/.f64 (*.f64 y 4) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1/3 y) (*.f64 x 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x y) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 1/2) (*.f64 y 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 1/2) (/.f64 (*.f64 y (*.f64 y 9)) (*.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x) (neg.f64 (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x) (-.f64 0 (/.f64 (*.f64 y (*.f64 y 9)) (*.f64 y 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 6 (/.f64 y x))) (*.f64 (*.f64 6 (/.f64 y x)) (*.f64 6 (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 1/3 y) (*.f64 x 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 x y)) 6)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 x)) (*.f64 2 (neg.f64 (*.f64 y 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (neg.f64 (*.f64 6 (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x 8)) (*.f64 2 (*.f64 2 (*.f64 y 12))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x 4) (*.f64 y 3/2)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x 3) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x (*.f64 y 1/2)) 6)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x (+.f64 y y)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -4 (-.f64 0 (*.f64 2 (*.f64 6 (/.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -4 (-.f64 0 (/.f64 (*.f64 y 12) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 x x)) (neg.f64 (*.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 x 4)) (neg.f64 (*.f64 y 12)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 x (*.f64 y 1/2))) 12)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (/.f64 1/3 y) (*.f64 x 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (/.f64 x y))) 12)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (neg.f64 x))) (*.f64 2 (*.f64 2 (neg.f64 (*.f64 y 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (*.f64 x 4) (*.f64 y 3/2))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 x 3)) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (+.f64 x x))) (*.f64 2 (neg.f64 (*.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 x 1/2)) (neg.f64 (*.f64 y 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 x 1/2)) (-.f64 0 (/.f64 (*.f64 y (*.f64 y 9)) (*.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 x 8)) (-.f64 0 (*.f64 2 (*.f64 y 12))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 x 4))) (*.f64 y 12))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 x 3)) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (+.f64 x x))) (*.f64 y 6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (+.f64 x x))) (neg.f64 (neg.f64 (*.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 x 1/2))) (*.f64 y 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (neg.f64 x))) (-.f64 0 (*.f64 2 (neg.f64 (*.f64 y 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (/.f64 x 3))) (*.f64 y -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (/.f64 x 3))) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (neg.f64 (+.f64 x x)))) (neg.f64 (*.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 1/3 y) x) 1))))) |
| 1× | egg-herbie |
| 1718× | rational.json-simplify-35 |
| 1464× | rational.json-simplify-49 |
| 1118× | rational.json-simplify-46 |
| 1012× | rational.json-simplify-44 |
| 778× | rational.json-simplify-2 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 235 | 1932 |
| 1 | 734 | 1926 |
| 2 | 2036 | 1824 |
| 3 | 7301 | 1824 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 (/.f64 1/3 y) 0) |
(+.f64 0 (/.f64 1/3 y)) |
(+.f64 -1 (-.f64 1 (/.f64 -1/3 y))) |
(+.f64 (/.f64 1/6 y) (/.f64 1/6 y)) |
(-.f64 (/.f64 1/3 y) 0) |
(-.f64 0 (/.f64 -1/3 y)) |
(*.f64 y (/.f64 3 (*.f64 y (*.f64 y 9)))) |
(*.f64 (/.f64 1/3 y) 1) |
(*.f64 1 (/.f64 1/3 y)) |
(*.f64 2 (/.f64 1/6 y)) |
(*.f64 (/.f64 2/3 y) 1/2) |
(*.f64 (*.f64 y 3) (/.f64 1 (*.f64 y (*.f64 y 9)))) |
(*.f64 (*.f64 y 6) (/.f64 1/2 (*.f64 y (*.f64 y 9)))) |
(*.f64 4 (/.f64 (/.f64 1/3 y) 4)) |
(*.f64 (*.f64 (/.f64 1/3 y) 4) 1/4) |
(*.f64 3 (/.f64 y (*.f64 y (*.f64 y 9)))) |
(*.f64 1/2 (/.f64 2/3 y)) |
(*.f64 1/4 (*.f64 (/.f64 1/3 y) 4)) |
(*.f64 6 (/.f64 (*.f64 y 1/2) (*.f64 y (*.f64 y 9)))) |
(*.f64 (/.f64 1/6 y) 2) |
(*.f64 (*.f64 y 3/2) (/.f64 2 (*.f64 y (*.f64 y 9)))) |
(*.f64 3/2 (/.f64 (+.f64 y y) (*.f64 y (*.f64 y 9)))) |
(*.f64 (/.f64 y (*.f64 y (*.f64 y 9))) 3) |
(*.f64 (/.f64 (+.f64 y y) (*.f64 y (*.f64 y 9))) 3/2) |
(*.f64 (/.f64 -1/3 y) -1) |
(*.f64 (/.f64 1 (*.f64 y (*.f64 y 9))) (*.f64 y 3)) |
(*.f64 (/.f64 2 (*.f64 y (*.f64 y 9))) (*.f64 y 3/2)) |
(*.f64 (/.f64 3 (*.f64 y (*.f64 y 9))) y) |
(*.f64 (/.f64 1/2 (*.f64 y (*.f64 y 9))) (*.f64 y 6)) |
(*.f64 (/.f64 (*.f64 y 1/2) (*.f64 y (*.f64 y 9))) 6) |
(*.f64 (/.f64 (/.f64 1/3 y) 4) 4) |
(pow.f64 (/.f64 1/3 y) 1) |
(neg.f64 (/.f64 -1/3 y)) |
(+.f64 (*.f64 (/.f64 1/3 y) x) 0) |
(+.f64 0 (*.f64 (/.f64 1/3 y) x)) |
(+.f64 (/.f64 1/6 (/.f64 y x)) (/.f64 1/6 (/.f64 y x))) |
(-.f64 (*.f64 (/.f64 1/3 y) x) 0) |
(/.f64 1/3 (/.f64 y x)) |
(/.f64 x (*.f64 y 3)) |
(/.f64 x (/.f64 (*.f64 y (*.f64 y 9)) (*.f64 y 3))) |
(/.f64 (*.f64 (/.f64 1/3 y) x) 1) |
(/.f64 1 (*.f64 y (/.f64 3 x))) |
(/.f64 2/3 (*.f64 y (/.f64 2 x))) |
(/.f64 2 (*.f64 6 (/.f64 y x))) |
(/.f64 (+.f64 x x) (*.f64 y 6)) |
(/.f64 4/3 (*.f64 2 (*.f64 y (/.f64 2 x)))) |
(/.f64 4/3 (/.f64 (*.f64 y 4) x)) |
(/.f64 (/.f64 2/3 (/.f64 y x)) 2) |
(/.f64 -1/3 (neg.f64 (/.f64 y x))) |
(/.f64 4 (*.f64 2 (*.f64 6 (/.f64 y x)))) |
(/.f64 4 (/.f64 (*.f64 y 12) x)) |
(/.f64 8/3 (*.f64 2 (/.f64 (*.f64 y 4) x))) |
(/.f64 8/3 (*.f64 2 (*.f64 2 (*.f64 y (/.f64 2 x))))) |
(/.f64 -2/3 (neg.f64 (*.f64 y (/.f64 2 x)))) |
(/.f64 (*.f64 x 4) (*.f64 y 12)) |
(/.f64 (/.f64 4/3 (/.f64 y x)) 4) |
(/.f64 -1 (neg.f64 (*.f64 y (/.f64 3 x)))) |
(/.f64 8 (*.f64 2 (*.f64 2 (*.f64 6 (/.f64 y x))))) |
(/.f64 8 (*.f64 2 (/.f64 (*.f64 y 12) x))) |
(/.f64 (*.f64 x 8) (*.f64 2 (*.f64 y 12))) |
(/.f64 -4/3 (-.f64 0 (*.f64 2 (*.f64 y (/.f64 2 x))))) |
(/.f64 -4/3 (-.f64 0 (/.f64 (*.f64 y 4) x))) |
(/.f64 (*.f64 (/.f64 1/3 y) (*.f64 x 8)) 8) |
(/.f64 (/.f64 x y) 3) |
(/.f64 (*.f64 x 1/2) (*.f64 y 3/2)) |
(/.f64 (*.f64 x 1/2) (/.f64 (*.f64 y (*.f64 y 9)) (*.f64 y 6))) |
(/.f64 (neg.f64 x) (neg.f64 (*.f64 y 3))) |
(/.f64 (neg.f64 x) (-.f64 0 (/.f64 (*.f64 y (*.f64 y 9)) (*.f64 y 3)))) |
(/.f64 (*.f64 2 (*.f64 6 (/.f64 y x))) (*.f64 (*.f64 6 (/.f64 y x)) (*.f64 6 (/.f64 y x)))) |
(/.f64 (*.f64 2 (*.f64 (/.f64 1/3 y) (*.f64 x 8))) 16) |
(/.f64 (*.f64 2 (/.f64 x y)) 6) |
(/.f64 (*.f64 2 (neg.f64 x)) (*.f64 2 (neg.f64 (*.f64 y 3)))) |
(/.f64 -2 (neg.f64 (*.f64 6 (/.f64 y x)))) |
(/.f64 (*.f64 2 (*.f64 x 8)) (*.f64 2 (*.f64 2 (*.f64 y 12)))) |
(/.f64 (/.f64 (*.f64 x 4) (*.f64 y 3/2)) 8) |
(/.f64 (/.f64 x 3) y) |
(/.f64 (/.f64 x (*.f64 y 1/2)) 6) |
(/.f64 (/.f64 x (+.f64 y y)) 3/2) |
(/.f64 -4 (-.f64 0 (*.f64 2 (*.f64 6 (/.f64 y x))))) |
(/.f64 -4 (-.f64 0 (/.f64 (*.f64 y 12) x))) |
(/.f64 (neg.f64 (+.f64 x x)) (neg.f64 (*.f64 y 6))) |
(/.f64 (neg.f64 (*.f64 x 4)) (neg.f64 (*.f64 y 12))) |
(/.f64 (*.f64 2 (/.f64 x (*.f64 y 1/2))) 12) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (/.f64 1/3 y) (*.f64 x 8)))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (/.f64 x y))) 12) |
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 x))) (*.f64 2 (*.f64 2 (neg.f64 (*.f64 y 3))))) |
(/.f64 (*.f64 2 (/.f64 (*.f64 x 4) (*.f64 y 3/2))) 16) |
(/.f64 (*.f64 2 (/.f64 x 3)) (+.f64 y y)) |
(/.f64 (*.f64 2 (neg.f64 (+.f64 x x))) (*.f64 2 (neg.f64 (*.f64 y 6)))) |
(/.f64 (neg.f64 (*.f64 x 1/2)) (neg.f64 (*.f64 y 3/2))) |
(/.f64 (neg.f64 (*.f64 x 1/2)) (-.f64 0 (/.f64 (*.f64 y (*.f64 y 9)) (*.f64 y 6)))) |
(/.f64 (neg.f64 (*.f64 x 8)) (-.f64 0 (*.f64 2 (*.f64 y 12)))) |
(/.f64 (neg.f64 (neg.f64 (*.f64 x 4))) (*.f64 y 12)) |
(/.f64 (neg.f64 (/.f64 x 3)) (neg.f64 y)) |
(/.f64 (neg.f64 (neg.f64 (+.f64 x x))) (*.f64 y 6)) |
(/.f64 (neg.f64 (neg.f64 (+.f64 x x))) (neg.f64 (neg.f64 (*.f64 y 6)))) |
(/.f64 (neg.f64 (neg.f64 (*.f64 x 1/2))) (*.f64 y 3/2)) |
(/.f64 (neg.f64 (*.f64 2 (neg.f64 x))) (-.f64 0 (*.f64 2 (neg.f64 (*.f64 y 3))))) |
(/.f64 (neg.f64 (*.f64 2 (/.f64 x 3))) (*.f64 y -2)) |
(/.f64 (neg.f64 (neg.f64 (/.f64 x 3))) y) |
(/.f64 (neg.f64 (neg.f64 (neg.f64 (+.f64 x x)))) (neg.f64 (*.f64 y 6))) |
(pow.f64 (*.f64 (/.f64 1/3 y) x) 1) |
| Outputs |
|---|
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 (/.f64 1/3 y) 0) |
(/.f64 1/3 y) |
(+.f64 0 (/.f64 1/3 y)) |
(/.f64 1/3 y) |
(+.f64 -1 (-.f64 1 (/.f64 -1/3 y))) |
(/.f64 1/3 y) |
(+.f64 (/.f64 1/6 y) (/.f64 1/6 y)) |
(-.f64 (/.f64 1/3 y) 0) |
(/.f64 1/3 y) |
(-.f64 0 (/.f64 -1/3 y)) |
(/.f64 1/3 y) |
(*.f64 y (/.f64 3 (*.f64 y (*.f64 y 9)))) |
(*.f64 y (/.f64 3 (*.f64 9 (*.f64 y y)))) |
(*.f64 y (/.f64 1/3 (*.f64 y y))) |
(*.f64 (/.f64 1/3 y) 1) |
(/.f64 1/3 y) |
(*.f64 1 (/.f64 1/3 y)) |
(/.f64 1/3 y) |
(*.f64 2 (/.f64 1/6 y)) |
(*.f64 (/.f64 1/6 y) 2) |
(*.f64 (/.f64 2/3 y) 1/2) |
(*.f64 (*.f64 y 3) (/.f64 1 (*.f64 y (*.f64 y 9)))) |
(*.f64 y (*.f64 3 (/.f64 1 (*.f64 y (*.f64 y 9))))) |
(*.f64 y (*.f64 3 (/.f64 1 (*.f64 9 (*.f64 y y))))) |
(*.f64 3 (*.f64 y (/.f64 (/.f64 1/9 y) y))) |
(*.f64 (*.f64 y 6) (/.f64 1/2 (*.f64 y (*.f64 y 9)))) |
(*.f64 (*.f64 y 6) (/.f64 1/2 (*.f64 9 (*.f64 y y)))) |
(*.f64 6 (*.f64 (/.f64 y y) (/.f64 1/18 y))) |
(*.f64 4 (/.f64 (/.f64 1/3 y) 4)) |
(/.f64 1/3 y) |
(*.f64 (*.f64 (/.f64 1/3 y) 4) 1/4) |
(/.f64 1/3 y) |
(*.f64 3 (/.f64 y (*.f64 y (*.f64 y 9)))) |
(*.f64 (*.f64 y 6) (/.f64 1/2 (*.f64 y (*.f64 y 9)))) |
(*.f64 (*.f64 y 6) (/.f64 1/2 (*.f64 9 (*.f64 y y)))) |
(*.f64 6 (*.f64 (/.f64 y y) (/.f64 1/18 y))) |
(*.f64 1/2 (/.f64 2/3 y)) |
(*.f64 (/.f64 2/3 y) 1/2) |
(*.f64 1/4 (*.f64 (/.f64 1/3 y) 4)) |
(/.f64 1/3 y) |
(*.f64 6 (/.f64 (*.f64 y 1/2) (*.f64 y (*.f64 y 9)))) |
(*.f64 (*.f64 y 6) (/.f64 1/2 (*.f64 y (*.f64 y 9)))) |
(*.f64 (*.f64 y 6) (/.f64 1/2 (*.f64 9 (*.f64 y y)))) |
(*.f64 6 (*.f64 (/.f64 y y) (/.f64 1/18 y))) |
(*.f64 (/.f64 1/6 y) 2) |
(*.f64 (*.f64 y 3/2) (/.f64 2 (*.f64 y (*.f64 y 9)))) |
(*.f64 y (*.f64 3/2 (/.f64 (/.f64 2 y) (*.f64 y 9)))) |
(*.f64 y (*.f64 3/2 (/.f64 2 (*.f64 9 (*.f64 y y))))) |
(*.f64 y (*.f64 3/2 (/.f64 (/.f64 2/9 y) y))) |
(*.f64 3/2 (/.f64 (+.f64 y y) (*.f64 y (*.f64 y 9)))) |
(*.f64 3/2 (/.f64 (+.f64 y y) (*.f64 9 (*.f64 y y)))) |
(*.f64 (/.f64 y (*.f64 y (*.f64 y 9))) 3) |
(*.f64 (*.f64 y 6) (/.f64 1/2 (*.f64 y (*.f64 y 9)))) |
(*.f64 (*.f64 y 6) (/.f64 1/2 (*.f64 9 (*.f64 y y)))) |
(*.f64 6 (*.f64 (/.f64 y y) (/.f64 1/18 y))) |
(*.f64 (/.f64 (+.f64 y y) (*.f64 y (*.f64 y 9))) 3/2) |
(*.f64 3/2 (/.f64 (+.f64 y y) (*.f64 y (*.f64 y 9)))) |
(*.f64 3/2 (/.f64 (+.f64 y y) (*.f64 9 (*.f64 y y)))) |
(*.f64 (/.f64 -1/3 y) -1) |
(/.f64 1/3 y) |
(*.f64 (/.f64 1 (*.f64 y (*.f64 y 9))) (*.f64 y 3)) |
(*.f64 y (*.f64 3 (/.f64 1 (*.f64 y (*.f64 y 9))))) |
(*.f64 y (*.f64 3 (/.f64 1 (*.f64 9 (*.f64 y y))))) |
(*.f64 3 (*.f64 y (/.f64 (/.f64 1/9 y) y))) |
(*.f64 (/.f64 2 (*.f64 y (*.f64 y 9))) (*.f64 y 3/2)) |
(*.f64 y (*.f64 3/2 (/.f64 (/.f64 2 y) (*.f64 y 9)))) |
(*.f64 y (*.f64 3/2 (/.f64 2 (*.f64 9 (*.f64 y y))))) |
(*.f64 y (*.f64 3/2 (/.f64 (/.f64 2/9 y) y))) |
(*.f64 (/.f64 3 (*.f64 y (*.f64 y 9))) y) |
(*.f64 y (/.f64 3 (*.f64 y (*.f64 y 9)))) |
(*.f64 y (/.f64 3 (*.f64 9 (*.f64 y y)))) |
(*.f64 y (/.f64 1/3 (*.f64 y y))) |
(*.f64 (/.f64 1/2 (*.f64 y (*.f64 y 9))) (*.f64 y 6)) |
(*.f64 (*.f64 y 6) (/.f64 1/2 (*.f64 y (*.f64 y 9)))) |
(*.f64 (*.f64 y 6) (/.f64 1/2 (*.f64 9 (*.f64 y y)))) |
(*.f64 6 (*.f64 (/.f64 y y) (/.f64 1/18 y))) |
(*.f64 (/.f64 (*.f64 y 1/2) (*.f64 y (*.f64 y 9))) 6) |
(*.f64 (*.f64 y 6) (/.f64 1/2 (*.f64 y (*.f64 y 9)))) |
(*.f64 (*.f64 y 6) (/.f64 1/2 (*.f64 9 (*.f64 y y)))) |
(*.f64 6 (*.f64 (/.f64 y y) (/.f64 1/18 y))) |
(*.f64 (/.f64 (/.f64 1/3 y) 4) 4) |
(/.f64 1/3 y) |
(pow.f64 (/.f64 1/3 y) 1) |
(/.f64 1/3 y) |
(neg.f64 (/.f64 -1/3 y)) |
(/.f64 1/3 y) |
(+.f64 (*.f64 (/.f64 1/3 y) x) 0) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 0 (*.f64 (/.f64 1/3 y) x)) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 (/.f64 1/6 (/.f64 y x)) (/.f64 1/6 (/.f64 y x))) |
(+.f64 (/.f64 x (/.f64 y 1/6)) (/.f64 x (/.f64 y 1/6))) |
(-.f64 (*.f64 (/.f64 1/3 y) x) 0) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 x (/.f64 (*.f64 y (*.f64 y 9)) (*.f64 y 3))) |
(/.f64 x (*.f64 (*.f64 y 9) (/.f64 y (*.f64 y 3)))) |
(/.f64 (*.f64 y 3) (/.f64 (*.f64 9 (*.f64 y y)) x)) |
(*.f64 y (/.f64 (/.f64 1/3 y) (/.f64 y x))) |
(/.f64 (*.f64 (/.f64 1/3 y) x) 1) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1 (*.f64 y (/.f64 3 x))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 2/3 (*.f64 y (/.f64 2 x))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 2 (*.f64 6 (/.f64 y x))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (+.f64 x x) (*.f64 y 6)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 4/3 (*.f64 2 (*.f64 y (/.f64 2 x)))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 4/3 (/.f64 (*.f64 y 4) x)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (/.f64 2/3 (/.f64 y x)) 2) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 -1/3 (neg.f64 (/.f64 y x))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 4 (*.f64 2 (*.f64 6 (/.f64 y x)))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 4 (/.f64 (*.f64 y 12) x)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 8/3 (*.f64 2 (/.f64 (*.f64 y 4) x))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 8/3 (*.f64 2 (*.f64 2 (*.f64 y (/.f64 2 x))))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 -2/3 (neg.f64 (*.f64 y (/.f64 2 x)))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (*.f64 x 4) (*.f64 y 12)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (/.f64 4/3 (/.f64 y x)) 4) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 -1 (neg.f64 (*.f64 y (/.f64 3 x)))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 8 (*.f64 2 (*.f64 2 (*.f64 6 (/.f64 y x))))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 8 (*.f64 2 (/.f64 (*.f64 y 12) x))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (*.f64 x 8) (*.f64 2 (*.f64 y 12))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 -4/3 (-.f64 0 (*.f64 2 (*.f64 y (/.f64 2 x))))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 -4/3 (-.f64 0 (/.f64 (*.f64 y 4) x))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (*.f64 (/.f64 1/3 y) (*.f64 x 8)) 8) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (/.f64 x y) 3) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (*.f64 x 1/2) (*.f64 y 3/2)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (*.f64 x 1/2) (/.f64 (*.f64 y (*.f64 y 9)) (*.f64 y 6))) |
(/.f64 x (*.f64 (*.f64 y 9) (/.f64 y (*.f64 y 3)))) |
(/.f64 (*.f64 y 3) (/.f64 (*.f64 9 (*.f64 y y)) x)) |
(*.f64 y (/.f64 (/.f64 1/3 y) (/.f64 y x))) |
(/.f64 (neg.f64 x) (neg.f64 (*.f64 y 3))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (neg.f64 x) (-.f64 0 (/.f64 (*.f64 y (*.f64 y 9)) (*.f64 y 3)))) |
(/.f64 x (*.f64 (*.f64 y 9) (/.f64 y (*.f64 y 3)))) |
(/.f64 (*.f64 y 3) (/.f64 (*.f64 9 (*.f64 y y)) x)) |
(*.f64 y (/.f64 (/.f64 1/3 y) (/.f64 y x))) |
(/.f64 (*.f64 2 (*.f64 6 (/.f64 y x))) (*.f64 (*.f64 6 (/.f64 y x)) (*.f64 6 (/.f64 y x)))) |
(*.f64 (*.f64 6 (/.f64 y x)) (/.f64 2 (*.f64 (*.f64 6 (/.f64 y x)) (*.f64 6 (/.f64 y x))))) |
(*.f64 (*.f64 6 (/.f64 y x)) (/.f64 (/.f64 1/3 (/.f64 y x)) (*.f64 6 (/.f64 y x)))) |
(+.f64 (/.f64 1 (*.f64 6 (/.f64 y x))) (/.f64 1 (*.f64 6 (/.f64 y x)))) |
(/.f64 (*.f64 2 (*.f64 (/.f64 1/3 y) (*.f64 x 8))) 16) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (*.f64 2 (/.f64 x y)) 6) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (*.f64 2 (neg.f64 x)) (*.f64 2 (neg.f64 (*.f64 y 3)))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 -2 (neg.f64 (*.f64 6 (/.f64 y x)))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (*.f64 2 (*.f64 x 8)) (*.f64 2 (*.f64 2 (*.f64 y 12)))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (/.f64 (*.f64 x 4) (*.f64 y 3/2)) 8) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (/.f64 x 3) y) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (/.f64 x (*.f64 y 1/2)) 6) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (/.f64 x (+.f64 y y)) 3/2) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 -4 (-.f64 0 (*.f64 2 (*.f64 6 (/.f64 y x))))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 -4 (-.f64 0 (/.f64 (*.f64 y 12) x))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (neg.f64 (+.f64 x x)) (neg.f64 (*.f64 y 6))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (neg.f64 (*.f64 x 4)) (neg.f64 (*.f64 y 12))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (*.f64 2 (/.f64 x (*.f64 y 1/2))) 12) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (/.f64 1/3 y) (*.f64 x 8)))) 32) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (*.f64 2 (*.f64 2 (/.f64 x y))) 12) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (*.f64 2 (*.f64 2 (neg.f64 x))) (*.f64 2 (*.f64 2 (neg.f64 (*.f64 y 3))))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (*.f64 2 (/.f64 (*.f64 x 4) (*.f64 y 3/2))) 16) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (*.f64 2 (/.f64 x 3)) (+.f64 y y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (*.f64 2 (neg.f64 (+.f64 x x))) (*.f64 2 (neg.f64 (*.f64 y 6)))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (neg.f64 (*.f64 x 1/2)) (neg.f64 (*.f64 y 3/2))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (neg.f64 (*.f64 x 1/2)) (-.f64 0 (/.f64 (*.f64 y (*.f64 y 9)) (*.f64 y 6)))) |
(/.f64 x (*.f64 (*.f64 y 9) (/.f64 y (*.f64 y 3)))) |
(/.f64 (*.f64 y 3) (/.f64 (*.f64 9 (*.f64 y y)) x)) |
(*.f64 y (/.f64 (/.f64 1/3 y) (/.f64 y x))) |
(/.f64 (neg.f64 (*.f64 x 8)) (-.f64 0 (*.f64 2 (*.f64 y 12)))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 x 4))) (*.f64 y 12)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (neg.f64 (/.f64 x 3)) (neg.f64 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (neg.f64 (neg.f64 (+.f64 x x))) (*.f64 y 6)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (neg.f64 (neg.f64 (+.f64 x x))) (neg.f64 (neg.f64 (*.f64 y 6)))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 x 1/2))) (*.f64 y 3/2)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (neg.f64 (*.f64 2 (neg.f64 x))) (-.f64 0 (*.f64 2 (neg.f64 (*.f64 y 3))))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (neg.f64 (*.f64 2 (/.f64 x 3))) (*.f64 y -2)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (neg.f64 (neg.f64 (/.f64 x 3))) y) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 (neg.f64 (neg.f64 (neg.f64 (+.f64 x x)))) (neg.f64 (*.f64 y 6))) |
(*.f64 1/3 (/.f64 x y)) |
(pow.f64 (*.f64 (/.f64 1/3 y) x) 1) |
(*.f64 1/3 (/.f64 x y)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (*.f64 x (*.f64 2/3 (/.f64 1/2 y))) |
| ✓ | 0.4b | (*.f64 2/3 (/.f64 1/2 y)) |
Compiled 21 to 15 computations (28.6% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | 0 | (*.f64 x (*.f64 2/3 (/.f64 1/2 y))) |
| 0.0ms | y | @ | 0 | (*.f64 2/3 (/.f64 1/2 y)) |
| 0.0ms | x | @ | inf | (*.f64 x (*.f64 2/3 (/.f64 1/2 y))) |
| 0.0ms | x | @ | -inf | (*.f64 x (*.f64 2/3 (/.f64 1/2 y))) |
| 0.0ms | y | @ | -inf | (*.f64 x (*.f64 2/3 (/.f64 1/2 y))) |
| 1× | batch-egg-rewrite |
| 1628× | rational.json-1 |
| 1628× | rational.json-2 |
| 1628× | rational.json-4 |
| 1628× | rational.json-3 |
| 1190× | rational.json-simplify-35 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 32 |
| 1 | 63 | 32 |
| 2 | 149 | 32 |
| 3 | 352 | 26 |
| 4 | 786 | 26 |
| 5 | 2578 | 26 |
| 6 | 6418 | 26 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 2/3 (/.f64 1/2 y)) |
(*.f64 x (*.f64 2/3 (/.f64 1/2 y))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1 y) 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 1 y) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2/3 (/.f64 1/4 y)) (*.f64 2/3 (/.f64 1/4 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (/.f64 1 y) 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 y) 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2/3 (/.f64 1 y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 y) 4/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 y) 8/3) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 1 y) 8/3)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 1 y) 8/3)) (*.f64 2 (*.f64 (/.f64 1 y) 8/3))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 1 y) 1/3) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 x y) 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 x y) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 2/3 (/.f64 x y)) 4) (/.f64 (*.f64 2/3 (/.f64 x y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (/.f64 x y) 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 y (*.f64 2/3 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x y) 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 y y) (*.f64 2/3 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (+.f64 (/.f64 y (*.f64 2/3 x)) (/.f64 y (*.f64 2/3 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (/.f64 y 1/4) (*.f64 2/3 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (/.f64 (+.f64 y y) (*.f64 2/3 x)) (/.f64 (+.f64 y y) (*.f64 2/3 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2/3 (/.f64 x y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2/3 x) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2/3 x) (/.f64 (*.f64 y (/.f64 y 1/4)) (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 y 8) (*.f64 2/3 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (+.f64 (/.f64 (/.f64 y 1/4) (*.f64 2/3 x)) (/.f64 (/.f64 y 1/4) (*.f64 2/3 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x y) 4/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (+.f64 (/.f64 (*.f64 y 8) (*.f64 2/3 x)) (/.f64 (*.f64 y 8) (*.f64 2/3 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x y) 8/3) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4/3) (/.f64 y 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2/3 (/.f64 x y)) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 x y) 8/3)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 8/3) (*.f64 y 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2/3 x) 2) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2/3 x)) (/.f64 y -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (*.f64 2/3 x) 2) (/.f64 (*.f64 2/3 x) 2)) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 x y) 8/3)) (*.f64 2 (*.f64 (/.f64 x y) 8/3))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2/3 x)) (neg.f64 (*.f64 2/3 x))) (*.f64 (neg.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 x 4/3)) (neg.f64 (/.f64 y 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 2/3 x) 2)) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 2/3 x))) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 x y) 1/3) 1))))) |
| 1× | egg-herbie |
| 1010× | rational.json-simplify-43 |
| 916× | rational.json-simplify-1 |
| 880× | rational.json-simplify-2 |
| 708× | rational.json-simplify-35 |
| 700× | rational.json-simplify-51 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 107 | 942 |
| 1 | 299 | 942 |
| 2 | 821 | 942 |
| 3 | 3036 | 942 |
| 4 | 5649 | 942 |
| 5 | 7659 | 942 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 1/3 y) |
(/.f64 1/3 y) |
(/.f64 1/3 y) |
(/.f64 1/3 y) |
(/.f64 1/3 y) |
(/.f64 1/3 y) |
(/.f64 1/3 y) |
(/.f64 1/3 y) |
(/.f64 1/3 y) |
(/.f64 1/3 y) |
(/.f64 1/3 y) |
(/.f64 1/3 y) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 (*.f64 (/.f64 1 y) 1/3) 0) |
(+.f64 0 (*.f64 (/.f64 1 y) 1/3)) |
(+.f64 (*.f64 2/3 (/.f64 1/4 y)) (*.f64 2/3 (/.f64 1/4 y))) |
(-.f64 (*.f64 (/.f64 1 y) 1/3) 0) |
(/.f64 (*.f64 (/.f64 1 y) 1/3) 1) |
(/.f64 (*.f64 2/3 (/.f64 1 y)) 2) |
(/.f64 (*.f64 (/.f64 1 y) 4/3) 4) |
(/.f64 (*.f64 (/.f64 1 y) 8/3) 8) |
(/.f64 (*.f64 2 (*.f64 (/.f64 1 y) 8/3)) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 1 y) 8/3)) (*.f64 2 (*.f64 (/.f64 1 y) 8/3))) 32) |
(pow.f64 (*.f64 (/.f64 1 y) 1/3) 1) |
(+.f64 (*.f64 (/.f64 x y) 1/3) 0) |
(+.f64 0 (*.f64 (/.f64 x y) 1/3)) |
(+.f64 (/.f64 (*.f64 2/3 (/.f64 x y)) 4) (/.f64 (*.f64 2/3 (/.f64 x y)) 4)) |
(-.f64 (*.f64 (/.f64 x y) 1/3) 0) |
(/.f64 1/2 (/.f64 y (*.f64 2/3 x))) |
(/.f64 (*.f64 (/.f64 x y) 1/3) 1) |
(/.f64 1 (/.f64 (+.f64 y y) (*.f64 2/3 x))) |
(/.f64 1 (+.f64 (/.f64 y (*.f64 2/3 x)) (/.f64 y (*.f64 2/3 x)))) |
(/.f64 2 (/.f64 (/.f64 y 1/4) (*.f64 2/3 x))) |
(/.f64 2 (+.f64 (/.f64 (+.f64 y y) (*.f64 2/3 x)) (/.f64 (+.f64 y y) (*.f64 2/3 x)))) |
(/.f64 (*.f64 2/3 (/.f64 x y)) 2) |
(/.f64 (*.f64 2/3 x) (+.f64 y y)) |
(/.f64 (*.f64 2/3 x) (/.f64 (*.f64 y (/.f64 y 1/4)) (+.f64 y y))) |
(/.f64 4 (/.f64 (*.f64 y 8) (*.f64 2/3 x))) |
(/.f64 4 (+.f64 (/.f64 (/.f64 y 1/4) (*.f64 2/3 x)) (/.f64 (/.f64 y 1/4) (*.f64 2/3 x)))) |
(/.f64 (*.f64 (/.f64 x y) 4/3) 4) |
(/.f64 8 (+.f64 (/.f64 (*.f64 y 8) (*.f64 2/3 x)) (/.f64 (*.f64 y 8) (*.f64 2/3 x)))) |
(/.f64 (*.f64 (/.f64 x y) 8/3) 8) |
(/.f64 (*.f64 x 4/3) (/.f64 y 1/4)) |
(/.f64 (/.f64 (*.f64 2/3 (/.f64 x y)) 4) 1/2) |
(/.f64 (*.f64 2 (*.f64 (/.f64 x y) 8/3)) 16) |
(/.f64 (*.f64 x 8/3) (*.f64 y 8)) |
(/.f64 (/.f64 (*.f64 2/3 x) 2) y) |
(/.f64 (neg.f64 (*.f64 2/3 x)) (/.f64 y -1/2)) |
(/.f64 (+.f64 (/.f64 (*.f64 2/3 x) 2) (/.f64 (*.f64 2/3 x) 2)) (+.f64 y y)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 x y) 8/3)) (*.f64 2 (*.f64 (/.f64 x y) 8/3))) 32) |
(/.f64 (+.f64 (neg.f64 (*.f64 2/3 x)) (neg.f64 (*.f64 2/3 x))) (*.f64 (neg.f64 y) 4)) |
(/.f64 (neg.f64 (*.f64 x 4/3)) (neg.f64 (/.f64 y 1/4))) |
(/.f64 (neg.f64 (/.f64 (*.f64 2/3 x) 2)) (neg.f64 y)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 2/3 x))) (+.f64 y y)) |
(pow.f64 (*.f64 (/.f64 x y) 1/3) 1) |
| Outputs |
|---|
(/.f64 1/3 y) |
(/.f64 1/3 y) |
(/.f64 1/3 y) |
(/.f64 1/3 y) |
(/.f64 1/3 y) |
(/.f64 1/3 y) |
(/.f64 1/3 y) |
(/.f64 1/3 y) |
(/.f64 1/3 y) |
(/.f64 1/3 y) |
(/.f64 1/3 y) |
(/.f64 1/3 y) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(+.f64 (*.f64 (/.f64 1 y) 1/3) 0) |
(*.f64 1/3 (/.f64 1 y)) |
(*.f64 8/3 (/.f64 1/8 y)) |
(+.f64 0 (*.f64 (/.f64 1 y) 1/3)) |
(*.f64 1/3 (/.f64 1 y)) |
(*.f64 8/3 (/.f64 1/8 y)) |
(+.f64 (*.f64 2/3 (/.f64 1/4 y)) (*.f64 2/3 (/.f64 1/4 y))) |
(*.f64 1/3 (/.f64 1 y)) |
(*.f64 8/3 (/.f64 1/8 y)) |
(-.f64 (*.f64 (/.f64 1 y) 1/3) 0) |
(*.f64 1/3 (/.f64 1 y)) |
(*.f64 8/3 (/.f64 1/8 y)) |
(/.f64 (*.f64 (/.f64 1 y) 1/3) 1) |
(*.f64 1/3 (/.f64 1 y)) |
(*.f64 8/3 (/.f64 1/8 y)) |
(/.f64 (*.f64 2/3 (/.f64 1 y)) 2) |
(*.f64 1/3 (/.f64 1 y)) |
(*.f64 8/3 (/.f64 1/8 y)) |
(/.f64 (*.f64 (/.f64 1 y) 4/3) 4) |
(*.f64 1/3 (/.f64 1 y)) |
(*.f64 8/3 (/.f64 1/8 y)) |
(/.f64 (*.f64 (/.f64 1 y) 8/3) 8) |
(*.f64 1/3 (/.f64 1 y)) |
(*.f64 8/3 (/.f64 1/8 y)) |
(/.f64 (*.f64 2 (*.f64 (/.f64 1 y) 8/3)) 16) |
(*.f64 1/3 (/.f64 1 y)) |
(*.f64 8/3 (/.f64 1/8 y)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 1 y) 8/3)) (*.f64 2 (*.f64 (/.f64 1 y) 8/3))) 32) |
(*.f64 1/3 (/.f64 1 y)) |
(*.f64 8/3 (/.f64 1/8 y)) |
(pow.f64 (*.f64 (/.f64 1 y) 1/3) 1) |
(*.f64 1/3 (/.f64 1 y)) |
(*.f64 8/3 (/.f64 1/8 y)) |
(+.f64 (*.f64 (/.f64 x y) 1/3) 0) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(+.f64 0 (*.f64 (/.f64 x y) 1/3)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(+.f64 (/.f64 (*.f64 2/3 (/.f64 x y)) 4) (/.f64 (*.f64 2/3 (/.f64 x y)) 4)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(-.f64 (*.f64 (/.f64 x y) 1/3) 0) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 1/2 (/.f64 y (*.f64 2/3 x))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 (*.f64 (/.f64 x y) 1/3) 1) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 1 (/.f64 (+.f64 y y) (*.f64 2/3 x))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 1 (+.f64 (/.f64 y (*.f64 2/3 x)) (/.f64 y (*.f64 2/3 x)))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 2 (/.f64 (/.f64 y 1/4) (*.f64 2/3 x))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 2 (+.f64 (/.f64 (+.f64 y y) (*.f64 2/3 x)) (/.f64 (+.f64 y y) (*.f64 2/3 x)))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 (*.f64 2/3 (/.f64 x y)) 2) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 (*.f64 2/3 x) (+.f64 y y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 (*.f64 2/3 x) (/.f64 (*.f64 y (/.f64 y 1/4)) (+.f64 y y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 4 (/.f64 (*.f64 y 8) (*.f64 2/3 x))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 4 (+.f64 (/.f64 (/.f64 y 1/4) (*.f64 2/3 x)) (/.f64 (/.f64 y 1/4) (*.f64 2/3 x)))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 (*.f64 (/.f64 x y) 4/3) 4) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 8 (+.f64 (/.f64 (*.f64 y 8) (*.f64 2/3 x)) (/.f64 (*.f64 y 8) (*.f64 2/3 x)))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 (*.f64 (/.f64 x y) 8/3) 8) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 (*.f64 x 4/3) (/.f64 y 1/4)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 (/.f64 (*.f64 2/3 (/.f64 x y)) 4) 1/2) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 (*.f64 2 (*.f64 (/.f64 x y) 8/3)) 16) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 (*.f64 x 8/3) (*.f64 y 8)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 (/.f64 (*.f64 2/3 x) 2) y) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 (neg.f64 (*.f64 2/3 x)) (/.f64 y -1/2)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 (+.f64 (/.f64 (*.f64 2/3 x) 2) (/.f64 (*.f64 2/3 x) 2)) (+.f64 y y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (/.f64 x y) 8/3)) (*.f64 2 (*.f64 (/.f64 x y) 8/3))) 32) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 (+.f64 (neg.f64 (*.f64 2/3 x)) (neg.f64 (*.f64 2/3 x))) (*.f64 (neg.f64 y) 4)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 (neg.f64 (*.f64 x 4/3)) (neg.f64 (/.f64 y 1/4))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 (neg.f64 (/.f64 (*.f64 2/3 x) 2)) (neg.f64 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(/.f64 (neg.f64 (neg.f64 (*.f64 2/3 x))) (+.f64 y y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(pow.f64 (*.f64 (/.f64 x y) 1/3) 1) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (*.f64 (/.f64 1 y) (*.f64 x 1/3)) |
| ✓ | 0.4b | (*.f64 x 1/3) |
Compiled 19 to 13 computations (31.6% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | -inf | (*.f64 x 1/3) |
| 0.0ms | x | @ | inf | (*.f64 x 1/3) |
| 0.0ms | x | @ | 0 | (*.f64 x 1/3) |
| 0.0ms | y | @ | inf | (*.f64 (/.f64 1 y) (*.f64 x 1/3)) |
| 0.0ms | y | @ | 0 | (*.f64 (/.f64 1 y) (*.f64 x 1/3)) |
| 1× | batch-egg-rewrite |
| 2008× | rational.json-1 |
| 1610× | rational.json-simplify-35 |
| 944× | rational.json-2 |
| 944× | rational.json-4 |
| 944× | rational.json-3 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 26 |
| 1 | 73 | 20 |
| 2 | 175 | 20 |
| 3 | 363 | 20 |
| 4 | 842 | 20 |
| 5 | 3004 | 20 |
| 6 | 7901 | 20 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 x 1/3) |
(*.f64 (/.f64 1 y) (*.f64 x 1/3)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 x -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 1/6) (*.f64 x 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 x -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 2/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -1/3) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 x 2/3)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x 1/3) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x 1/3) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x 1/3) 8)) (*.f64 2 (*.f64 (*.f64 x 1/3) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 x -1/3)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 (/.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/3 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (/.f64 1/6 y)) (*.f64 x (/.f64 1/6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/3 (/.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (*.f64 y 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (/.f64 (neg.f64 y) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (/.f64 (/.f64 (*.f64 y -2) -1/3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/3 (/.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 1/3) y)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 1/3) (/.f64 (*.f64 y y) y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 y (/.f64 3 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 y) (/.f64 3 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/3 (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 y (*.f64 x 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 y) (/.f64 6 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 2 y) (+.f64 (/.f64 3 x) (/.f64 3 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (*.f64 2 (/.f64 y (*.f64 x 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 2/3) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x 2/3) y) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x x) (*.f64 y 6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 y (*.f64 x -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (*.f64 y (/.f64 3 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 4 y) (+.f64 (/.f64 6 x) (/.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (*.f64 2 (*.f64 2 (/.f64 y (*.f64 x 1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (/.f64 (*.f64 y 8) (*.f64 x 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (neg.f64 (/.f64 y (*.f64 x 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (+.f64 (neg.f64 (*.f64 y (/.f64 3 x))) (neg.f64 (*.f64 y (/.f64 3 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -2 (+.f64 (/.f64 y (*.f64 x -1/3)) (/.f64 y (*.f64 x -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4/3) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x 4/3) y) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 4) (*.f64 (*.f64 y 8) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/2 (/.f64 y (*.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -1/3) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2/3 (*.f64 y (/.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (/.f64 3 x)) (*.f64 (*.f64 y (/.f64 3 x)) (*.f64 y (/.f64 3 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 y (*.f64 x 1/6)) (*.f64 y (*.f64 (/.f64 6 x) (*.f64 y (/.f64 3 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/3 (/.f64 x y)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 x 2/3)) (*.f64 y -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 16 (+.f64 (*.f64 2 (*.f64 2 (/.f64 y (*.f64 x 1/6)))) (*.f64 2 (*.f64 2 (/.f64 y (*.f64 x 1/6))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 16 (+.f64 (/.f64 (*.f64 y 8) (*.f64 x 1/3)) (/.f64 (*.f64 y 8) (*.f64 x 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -4 (+.f64 (neg.f64 (/.f64 y (*.f64 x 1/6))) (neg.f64 (/.f64 y (*.f64 x 1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -4 (-.f64 0 (*.f64 2 (/.f64 y (*.f64 x 1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x 1/3) 8) (*.f64 y 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 y (*.f64 x 1/6))) (*.f64 (/.f64 y (*.f64 x 1/6)) (/.f64 y (*.f64 x 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 y (*.f64 x 1/6))) (+.f64 (*.f64 y (*.f64 (/.f64 6 x) (*.f64 y (/.f64 3 x)))) (*.f64 y (*.f64 (/.f64 6 x) (*.f64 y (/.f64 3 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (/.f64 1/6 y)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 1/6) (*.f64 y 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 1/6) (/.f64 (*.f64 y y) (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x) (neg.f64 (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/3 (-.f64 0 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 x 2/3))) (*.f64 (neg.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 1/3 (/.f64 x y)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x 1/3) 8)) (*.f64 2 (*.f64 y 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 x 1/3) 8) y) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x -1/3) y) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 x 1/3) 8)) (neg.f64 (*.f64 y 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/2 (-.f64 0 (/.f64 y (*.f64 x 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x 2/3) (*.f64 y 8)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 y (/.f64 3 x))) (-.f64 0 (*.f64 (*.f64 y (/.f64 3 x)) (*.f64 y (/.f64 3 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 x 4/3)) (neg.f64 (*.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 x 2/3))) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 x x)) (neg.f64 (*.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (*.f64 x 2/3) (*.f64 y 8)) (/.f64 (*.f64 x 2/3) (*.f64 y 8))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 x 2/3))) (*.f64 2 (neg.f64 (*.f64 x 2/3)))) (*.f64 2 (*.f64 (neg.f64 y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 x 4/3)) (neg.f64 (*.f64 x 4/3))) (*.f64 2 (neg.f64 (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (neg.f64 (*.f64 x 2/3))) (neg.f64 (neg.f64 (*.f64 x 2/3)))) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 1/3 (/.f64 x y)) 8)) (*.f64 2 (*.f64 (*.f64 1/3 (/.f64 x y)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (*.f64 (*.f64 x 1/3) 8) y) (/.f64 (*.f64 (*.f64 x 1/3) 8) y)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (*.f64 x -1/3) y) (/.f64 (*.f64 x -1/3) y)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 1 y)) (-.f64 0 (/.f64 3 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 2 y)) (-.f64 0 (/.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (neg.f64 (*.f64 x 2/3)))) (-.f64 0 (*.f64 (neg.f64 y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 x 4/3))) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 x 4/3))) (-.f64 0 (neg.f64 (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (neg.f64 (*.f64 x 2/3)))) (*.f64 y -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 x 1/6)) (-.f64 0 (*.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/3 (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 x -1/3) y)))))) |
| 1× | egg-herbie |
| 1820× | rational.json-simplify-35 |
| 1318× | rational.json-simplify-61 |
| 948× | rational.json-simplify-41 |
| 814× | rational.json-simplify-50 |
| 736× | rational.json-simplify-43 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 224 | 1762 |
| 1 | 714 | 1726 |
| 2 | 2185 | 1720 |
| 3 | 5788 | 1720 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 1/3 x) |
(*.f64 1/3 x) |
(*.f64 1/3 x) |
(*.f64 1/3 x) |
(*.f64 1/3 x) |
(*.f64 1/3 x) |
(*.f64 1/3 x) |
(*.f64 1/3 x) |
(*.f64 1/3 x) |
(*.f64 1/3 x) |
(*.f64 1/3 x) |
(*.f64 1/3 x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 (*.f64 x 1/3) 0) |
(+.f64 0 (*.f64 x 1/3)) |
(+.f64 -1 (-.f64 1 (*.f64 x -1/3))) |
(+.f64 (*.f64 x 1/6) (*.f64 x 1/6)) |
(-.f64 (*.f64 x 1/3) 0) |
(-.f64 0 (*.f64 x -1/3)) |
(/.f64 (*.f64 x 1/3) 1) |
(/.f64 (*.f64 x 2/3) 2) |
(/.f64 (*.f64 x 4/3) 4) |
(/.f64 (*.f64 x -1/3) -1) |
(/.f64 (neg.f64 (*.f64 x 2/3)) -2) |
(/.f64 (*.f64 (*.f64 x 1/3) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 x 1/3) 8)) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x 1/3) 8)) (*.f64 2 (*.f64 (*.f64 x 1/3) 8))) 32) |
(pow.f64 (*.f64 x 1/3) 1) |
(neg.f64 (*.f64 x -1/3)) |
(+.f64 (*.f64 1/3 (/.f64 x y)) 0) |
(+.f64 0 (*.f64 1/3 (/.f64 x y))) |
(+.f64 (*.f64 x (/.f64 1/6 y)) (*.f64 x (/.f64 1/6 y))) |
(-.f64 (*.f64 1/3 (/.f64 x y)) 0) |
(/.f64 x (*.f64 y 3)) |
(/.f64 x (/.f64 (neg.f64 y) -1/3)) |
(/.f64 x (/.f64 (/.f64 (*.f64 y -2) -1/3) 2)) |
(/.f64 1/3 (/.f64 y x)) |
(/.f64 (*.f64 x 1/3) y) |
(/.f64 (*.f64 x 1/3) (/.f64 (*.f64 y y) y)) |
(/.f64 1 (*.f64 y (/.f64 3 x))) |
(/.f64 (/.f64 1 y) (/.f64 3 x)) |
(/.f64 (*.f64 1/3 (/.f64 x y)) 1) |
(/.f64 2 (/.f64 y (*.f64 x 1/6))) |
(/.f64 (/.f64 2 y) (/.f64 6 x)) |
(/.f64 (/.f64 2 y) (+.f64 (/.f64 3 x) (/.f64 3 x))) |
(/.f64 4 (*.f64 2 (/.f64 y (*.f64 x 1/6)))) |
(/.f64 (*.f64 x 2/3) (+.f64 y y)) |
(/.f64 (/.f64 (*.f64 x 2/3) y) 2) |
(/.f64 (+.f64 x x) (*.f64 y 6)) |
(/.f64 -1 (/.f64 y (*.f64 x -1/3))) |
(/.f64 -1 (neg.f64 (*.f64 y (/.f64 3 x)))) |
(/.f64 (/.f64 4 y) (+.f64 (/.f64 6 x) (/.f64 6 x))) |
(/.f64 8 (*.f64 2 (*.f64 2 (/.f64 y (*.f64 x 1/6))))) |
(/.f64 8 (/.f64 (*.f64 y 8) (*.f64 x 1/3))) |
(/.f64 -2 (neg.f64 (/.f64 y (*.f64 x 1/6)))) |
(/.f64 -2 (+.f64 (neg.f64 (*.f64 y (/.f64 3 x))) (neg.f64 (*.f64 y (/.f64 3 x))))) |
(/.f64 -2 (+.f64 (/.f64 y (*.f64 x -1/3)) (/.f64 y (*.f64 x -1/3)))) |
(/.f64 (*.f64 x 4/3) (*.f64 y 4)) |
(/.f64 (/.f64 (*.f64 x 4/3) y) 4) |
(/.f64 (*.f64 x 4) (*.f64 (*.f64 y 8) 3/2)) |
(/.f64 1/2 (/.f64 y (*.f64 x 2/3))) |
(/.f64 (*.f64 x -1/3) (neg.f64 y)) |
(/.f64 2/3 (*.f64 y (/.f64 2 x))) |
(/.f64 (*.f64 y (/.f64 3 x)) (*.f64 (*.f64 y (/.f64 3 x)) (*.f64 y (/.f64 3 x)))) |
(/.f64 (/.f64 y (*.f64 x 1/6)) (*.f64 y (*.f64 (/.f64 6 x) (*.f64 y (/.f64 3 x))))) |
(/.f64 (*.f64 (*.f64 1/3 (/.f64 x y)) 8) 8) |
(/.f64 (neg.f64 (*.f64 x 2/3)) (*.f64 y -2)) |
(/.f64 16 (+.f64 (*.f64 2 (*.f64 2 (/.f64 y (*.f64 x 1/6)))) (*.f64 2 (*.f64 2 (/.f64 y (*.f64 x 1/6)))))) |
(/.f64 16 (+.f64 (/.f64 (*.f64 y 8) (*.f64 x 1/3)) (/.f64 (*.f64 y 8) (*.f64 x 1/3)))) |
(/.f64 -4 (+.f64 (neg.f64 (/.f64 y (*.f64 x 1/6))) (neg.f64 (/.f64 y (*.f64 x 1/6))))) |
(/.f64 -4 (-.f64 0 (*.f64 2 (/.f64 y (*.f64 x 1/6))))) |
(/.f64 (*.f64 (*.f64 x 1/3) 8) (*.f64 y 8)) |
(/.f64 (*.f64 2 (/.f64 y (*.f64 x 1/6))) (*.f64 (/.f64 y (*.f64 x 1/6)) (/.f64 y (*.f64 x 1/6)))) |
(/.f64 (*.f64 2 (/.f64 y (*.f64 x 1/6))) (+.f64 (*.f64 y (*.f64 (/.f64 6 x) (*.f64 y (/.f64 3 x)))) (*.f64 y (*.f64 (/.f64 6 x) (*.f64 y (/.f64 3 x)))))) |
(/.f64 (*.f64 x (/.f64 1/6 y)) 1/2) |
(/.f64 (*.f64 x 1/6) (*.f64 y 1/2)) |
(/.f64 (*.f64 x 1/6) (/.f64 (*.f64 y y) (+.f64 y y))) |
(/.f64 (neg.f64 x) (neg.f64 (*.f64 y 3))) |
(/.f64 -1/3 (-.f64 0 (/.f64 y x))) |
(/.f64 (*.f64 2 (neg.f64 (*.f64 x 2/3))) (*.f64 (neg.f64 y) 4)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 1/3 (/.f64 x y)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 (*.f64 x 1/3) 8)) (*.f64 2 (*.f64 y 8))) |
(/.f64 (/.f64 (*.f64 (*.f64 x 1/3) 8) y) 8) |
(/.f64 (/.f64 (*.f64 x -1/3) y) -1) |
(/.f64 (neg.f64 (*.f64 (*.f64 x 1/3) 8)) (neg.f64 (*.f64 y 8))) |
(/.f64 -1/2 (-.f64 0 (/.f64 y (*.f64 x 2/3)))) |
(/.f64 (/.f64 (*.f64 x 2/3) (*.f64 y 8)) 1/4) |
(/.f64 (neg.f64 (*.f64 y (/.f64 3 x))) (-.f64 0 (*.f64 (*.f64 y (/.f64 3 x)) (*.f64 y (/.f64 3 x))))) |
(/.f64 (neg.f64 (*.f64 x 4/3)) (neg.f64 (*.f64 y 4))) |
(/.f64 (neg.f64 (neg.f64 (*.f64 x 2/3))) (+.f64 y y)) |
(/.f64 (neg.f64 (+.f64 x x)) (neg.f64 (*.f64 y 6))) |
(/.f64 (+.f64 (/.f64 (*.f64 x 2/3) (*.f64 y 8)) (/.f64 (*.f64 x 2/3) (*.f64 y 8))) 1/2) |
(/.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 x 2/3))) (*.f64 2 (neg.f64 (*.f64 x 2/3)))) (*.f64 2 (*.f64 (neg.f64 y) 4))) |
(/.f64 (+.f64 (neg.f64 (*.f64 x 4/3)) (neg.f64 (*.f64 x 4/3))) (*.f64 2 (neg.f64 (*.f64 y 4)))) |
(/.f64 (+.f64 (neg.f64 (neg.f64 (*.f64 x 2/3))) (neg.f64 (neg.f64 (*.f64 x 2/3)))) (*.f64 y 4)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 1/3 (/.f64 x y)) 8)) (*.f64 2 (*.f64 (*.f64 1/3 (/.f64 x y)) 8))) 32) |
(/.f64 (+.f64 (/.f64 (*.f64 (*.f64 x 1/3) 8) y) (/.f64 (*.f64 (*.f64 x 1/3) 8) y)) 16) |
(/.f64 (+.f64 (/.f64 (*.f64 x -1/3) y) (/.f64 (*.f64 x -1/3) y)) -2) |
(/.f64 (neg.f64 (/.f64 1 y)) (-.f64 0 (/.f64 3 x))) |
(/.f64 (neg.f64 (/.f64 2 y)) (-.f64 0 (/.f64 6 x))) |
(/.f64 (neg.f64 (*.f64 2 (neg.f64 (*.f64 x 2/3)))) (-.f64 0 (*.f64 (neg.f64 y) 4))) |
(/.f64 (neg.f64 (neg.f64 (*.f64 x 4/3))) (*.f64 y 4)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 x 4/3))) (-.f64 0 (neg.f64 (*.f64 y 4)))) |
(/.f64 (neg.f64 (neg.f64 (neg.f64 (*.f64 x 2/3)))) (*.f64 y -2)) |
(/.f64 (neg.f64 (*.f64 x 1/6)) (-.f64 0 (*.f64 y 1/2))) |
(pow.f64 (*.f64 1/3 (/.f64 x y)) 1) |
(neg.f64 (/.f64 (*.f64 x -1/3) y)) |
| Outputs |
|---|
(*.f64 1/3 x) |
(*.f64 1/3 x) |
(*.f64 1/3 x) |
(*.f64 1/3 x) |
(*.f64 1/3 x) |
(*.f64 1/3 x) |
(*.f64 1/3 x) |
(*.f64 1/3 x) |
(*.f64 1/3 x) |
(*.f64 1/3 x) |
(*.f64 1/3 x) |
(*.f64 1/3 x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(+.f64 (*.f64 x 1/3) 0) |
(*.f64 1/3 x) |
(+.f64 0 (*.f64 x 1/3)) |
(*.f64 1/3 x) |
(+.f64 -1 (-.f64 1 (*.f64 x -1/3))) |
(*.f64 1/3 x) |
(+.f64 (*.f64 x 1/6) (*.f64 x 1/6)) |
(*.f64 1/3 x) |
(-.f64 (*.f64 x 1/3) 0) |
(*.f64 1/3 x) |
(-.f64 0 (*.f64 x -1/3)) |
(*.f64 1/3 x) |
(/.f64 (*.f64 x 1/3) 1) |
(*.f64 1/3 x) |
(/.f64 (*.f64 x 2/3) 2) |
(*.f64 1/3 x) |
(/.f64 (*.f64 x 4/3) 4) |
(*.f64 1/3 x) |
(/.f64 (*.f64 x -1/3) -1) |
(*.f64 1/3 x) |
(/.f64 (neg.f64 (*.f64 x 2/3)) -2) |
(*.f64 1/3 x) |
(/.f64 (*.f64 (*.f64 x 1/3) 8) 8) |
(*.f64 1/3 x) |
(/.f64 (*.f64 2 (*.f64 (*.f64 x 1/3) 8)) 16) |
(*.f64 1/3 x) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 x 1/3) 8)) (*.f64 2 (*.f64 (*.f64 x 1/3) 8))) 32) |
(*.f64 1/3 x) |
(pow.f64 (*.f64 x 1/3) 1) |
(*.f64 1/3 x) |
(neg.f64 (*.f64 x -1/3)) |
(*.f64 1/3 x) |
(+.f64 (*.f64 1/3 (/.f64 x y)) 0) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(+.f64 0 (*.f64 1/3 (/.f64 x y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(+.f64 (*.f64 x (/.f64 1/6 y)) (*.f64 x (/.f64 1/6 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(-.f64 (*.f64 1/3 (/.f64 x y)) 0) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 x (*.f64 y 3)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 x (/.f64 (neg.f64 y) -1/3)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 x (/.f64 (/.f64 (*.f64 y -2) -1/3) 2)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (*.f64 x 1/3) y) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (*.f64 x 1/3) (/.f64 (*.f64 y y) y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 1 (*.f64 y (/.f64 3 x))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (/.f64 1 y) (/.f64 3 x)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (*.f64 1/3 (/.f64 x y)) 1) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 2 (/.f64 y (*.f64 x 1/6))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (/.f64 2 y) (/.f64 6 x)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (/.f64 2 y) (+.f64 (/.f64 3 x) (/.f64 3 x))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 4 (*.f64 2 (/.f64 y (*.f64 x 1/6)))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (*.f64 x 2/3) (+.f64 y y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (/.f64 (*.f64 x 2/3) y) 2) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (+.f64 x x) (*.f64 y 6)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 -1 (/.f64 y (*.f64 x -1/3))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 -1 (neg.f64 (*.f64 y (/.f64 3 x)))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (/.f64 4 y) (+.f64 (/.f64 6 x) (/.f64 6 x))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 8 (*.f64 2 (*.f64 2 (/.f64 y (*.f64 x 1/6))))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 8 (/.f64 (*.f64 y 8) (*.f64 x 1/3))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 -2 (neg.f64 (/.f64 y (*.f64 x 1/6)))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 -2 (+.f64 (neg.f64 (*.f64 y (/.f64 3 x))) (neg.f64 (*.f64 y (/.f64 3 x))))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 -2 (+.f64 (/.f64 y (*.f64 x -1/3)) (/.f64 y (*.f64 x -1/3)))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (*.f64 x 4/3) (*.f64 y 4)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (/.f64 (*.f64 x 4/3) y) 4) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (*.f64 x 4) (*.f64 (*.f64 y 8) 3/2)) |
(*.f64 x (/.f64 4 (*.f64 y 12))) |
(/.f64 1/2 (/.f64 y (*.f64 x 2/3))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (*.f64 x -1/3) (neg.f64 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 2/3 (*.f64 y (/.f64 2 x))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (*.f64 y (/.f64 3 x)) (*.f64 (*.f64 y (/.f64 3 x)) (*.f64 y (/.f64 3 x)))) |
(*.f64 y (/.f64 (/.f64 3 x) (*.f64 (*.f64 y (/.f64 3 x)) (*.f64 y (/.f64 3 x))))) |
(*.f64 y (/.f64 (/.f64 3 x) (*.f64 y (*.f64 y (*.f64 (/.f64 3 x) (/.f64 3 x)))))) |
(/.f64 (/.f64 y (*.f64 x 1/6)) (*.f64 y (*.f64 (/.f64 6 x) (*.f64 y (/.f64 3 x))))) |
(/.f64 y (*.f64 (*.f64 x 1/6) (*.f64 y (*.f64 y (*.f64 (/.f64 3 x) (/.f64 6 x)))))) |
(/.f64 (/.f64 (/.f64 (/.f64 (/.f64 y 1/6) x) y) y) (*.f64 (/.f64 3 x) (/.f64 6 x))) |
(/.f64 (/.f64 x (/.f64 6 (/.f64 y (*.f64 x (*.f64 y 1/6))))) (*.f64 y (/.f64 3 x))) |
(/.f64 (/.f64 x (/.f64 6 (/.f64 (/.f64 (*.f64 y 6) x) y))) (*.f64 y (/.f64 3 x))) |
(/.f64 (*.f64 (*.f64 1/3 (/.f64 x y)) 8) 8) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (neg.f64 (*.f64 x 2/3)) (*.f64 y -2)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 16 (+.f64 (*.f64 2 (*.f64 2 (/.f64 y (*.f64 x 1/6)))) (*.f64 2 (*.f64 2 (/.f64 y (*.f64 x 1/6)))))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 16 (+.f64 (/.f64 (*.f64 y 8) (*.f64 x 1/3)) (/.f64 (*.f64 y 8) (*.f64 x 1/3)))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 -4 (+.f64 (neg.f64 (/.f64 y (*.f64 x 1/6))) (neg.f64 (/.f64 y (*.f64 x 1/6))))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 -4 (-.f64 0 (*.f64 2 (/.f64 y (*.f64 x 1/6))))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (*.f64 (*.f64 x 1/3) 8) (*.f64 y 8)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (*.f64 2 (/.f64 y (*.f64 x 1/6))) (*.f64 (/.f64 y (*.f64 x 1/6)) (/.f64 y (*.f64 x 1/6)))) |
(/.f64 (*.f64 (/.f64 (/.f64 y 1/6) x) (/.f64 2 (/.f64 (/.f64 y 1/6) x))) (/.f64 (/.f64 y 1/6) x)) |
(*.f64 (/.f64 y (*.f64 x 1/6)) (/.f64 x (/.f64 (/.f64 y 1/6) (*.f64 x (/.f64 1/3 y))))) |
(*.f64 (/.f64 (*.f64 y 6) x) (/.f64 1/3 (/.f64 (/.f64 y x) (*.f64 x (/.f64 1/6 y))))) |
(/.f64 (*.f64 2 (/.f64 y (*.f64 x 1/6))) (+.f64 (*.f64 y (*.f64 (/.f64 6 x) (*.f64 y (/.f64 3 x)))) (*.f64 y (*.f64 (/.f64 6 x) (*.f64 y (/.f64 3 x)))))) |
(/.f64 (*.f64 2 (/.f64 y (*.f64 x 1/6))) (+.f64 (*.f64 y (*.f64 y (*.f64 (/.f64 3 x) (/.f64 6 x)))) (*.f64 y (*.f64 y (*.f64 (/.f64 3 x) (/.f64 6 x)))))) |
(*.f64 2 (/.f64 (/.f64 (/.f64 y 1/6) x) (*.f64 (*.f64 y (*.f64 (/.f64 3 x) (/.f64 6 x))) (+.f64 y y)))) |
(*.f64 2 (/.f64 (/.f64 y (*.f64 x 1/6)) (*.f64 y (*.f64 (/.f64 6 x) (*.f64 (/.f64 3 x) (+.f64 y y)))))) |
(*.f64 2 (/.f64 (/.f64 (*.f64 y 6) x) (*.f64 y (*.f64 (/.f64 6 x) (*.f64 (/.f64 3 x) (+.f64 y y)))))) |
(/.f64 (*.f64 x (/.f64 1/6 y)) 1/2) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (*.f64 x 1/6) (*.f64 y 1/2)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (*.f64 x 1/6) (/.f64 (*.f64 y y) (+.f64 y y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (neg.f64 x) (neg.f64 (*.f64 y 3))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 -1/3 (-.f64 0 (/.f64 y x))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (*.f64 2 (neg.f64 (*.f64 x 2/3))) (*.f64 (neg.f64 y) 4)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 1/3 (/.f64 x y)) 8)) 16) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 x 1/3) 8)) (*.f64 2 (*.f64 y 8))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (/.f64 (*.f64 (*.f64 x 1/3) 8) y) 8) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (/.f64 (*.f64 x -1/3) y) -1) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (neg.f64 (*.f64 (*.f64 x 1/3) 8)) (neg.f64 (*.f64 y 8))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 -1/2 (-.f64 0 (/.f64 y (*.f64 x 2/3)))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (/.f64 (*.f64 x 2/3) (*.f64 y 8)) 1/4) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (neg.f64 (*.f64 y (/.f64 3 x))) (-.f64 0 (*.f64 (*.f64 y (/.f64 3 x)) (*.f64 y (/.f64 3 x))))) |
(/.f64 (*.f64 y (/.f64 3 x)) (*.f64 (*.f64 y (/.f64 3 x)) (*.f64 y (/.f64 3 x)))) |
(*.f64 y (/.f64 (/.f64 3 x) (*.f64 (*.f64 y (/.f64 3 x)) (*.f64 y (/.f64 3 x))))) |
(*.f64 y (/.f64 (/.f64 3 x) (*.f64 y (*.f64 y (*.f64 (/.f64 3 x) (/.f64 3 x)))))) |
(/.f64 (neg.f64 (*.f64 x 4/3)) (neg.f64 (*.f64 y 4))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 x 2/3))) (+.f64 y y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (neg.f64 (+.f64 x x)) (neg.f64 (*.f64 y 6))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (+.f64 (/.f64 (*.f64 x 2/3) (*.f64 y 8)) (/.f64 (*.f64 x 2/3) (*.f64 y 8))) 1/2) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 x 2/3))) (*.f64 2 (neg.f64 (*.f64 x 2/3)))) (*.f64 2 (*.f64 (neg.f64 y) 4))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (+.f64 (neg.f64 (*.f64 x 4/3)) (neg.f64 (*.f64 x 4/3))) (*.f64 2 (neg.f64 (*.f64 y 4)))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (+.f64 (neg.f64 (neg.f64 (*.f64 x 2/3))) (neg.f64 (neg.f64 (*.f64 x 2/3)))) (*.f64 y 4)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 1/3 (/.f64 x y)) 8)) (*.f64 2 (*.f64 (*.f64 1/3 (/.f64 x y)) 8))) 32) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (+.f64 (/.f64 (*.f64 (*.f64 x 1/3) 8) y) (/.f64 (*.f64 (*.f64 x 1/3) 8) y)) 16) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (+.f64 (/.f64 (*.f64 x -1/3) y) (/.f64 (*.f64 x -1/3) y)) -2) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (neg.f64 (/.f64 1 y)) (-.f64 0 (/.f64 3 x))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (neg.f64 (/.f64 2 y)) (-.f64 0 (/.f64 6 x))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (neg.f64 (*.f64 2 (neg.f64 (*.f64 x 2/3)))) (-.f64 0 (*.f64 (neg.f64 y) 4))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 x 4/3))) (*.f64 y 4)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 x 4/3))) (-.f64 0 (neg.f64 (*.f64 y 4)))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (neg.f64 (neg.f64 (neg.f64 (*.f64 x 2/3)))) (*.f64 y -2)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(/.f64 (neg.f64 (*.f64 x 1/6)) (-.f64 0 (*.f64 y 1/2))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(pow.f64 (*.f64 1/3 (/.f64 x y)) 1) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(neg.f64 (/.f64 (*.f64 x -1/3) y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (*.f64 (/.f64 2 (/.f64 y x)) 1/6) |
| ✓ | 0.6b | (/.f64 2 (/.f64 y x)) |
Compiled 21 to 11 computations (47.6% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | -inf | (/.f64 2 (/.f64 y x)) |
| 0.0ms | x | @ | inf | (/.f64 2 (/.f64 y x)) |
| 0.0ms | y | @ | 0 | (/.f64 2 (/.f64 y x)) |
| 0.0ms | y | @ | inf | (/.f64 2 (/.f64 y x)) |
| 0.0ms | y | @ | -inf | (/.f64 2 (/.f64 y x)) |
| 1× | batch-egg-rewrite |
| 1586× | rational.json-1 |
| 1586× | rational.json-2 |
| 1586× | rational.json-4 |
| 1586× | rational.json-3 |
| 1576× | exponential.json-3 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 32 |
| 1 | 66 | 32 |
| 2 | 182 | 32 |
| 3 | 495 | 26 |
| 4 | 1475 | 26 |
| 5 | 4583 | 26 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 2 (/.f64 y x)) |
(*.f64 (/.f64 2 (/.f64 y x)) 1/6) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (/.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 2 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 x y) (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 (neg.f64 (+.f64 x x)) y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (/.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (neg.f64 (+.f64 x x)) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (*.f64 2 (/.f64 2 y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (/.f64 4 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 2 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 1/2 (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (/.f64 1/2 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (*.f64 1/2 (/.f64 2 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (/.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 1/2 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 (/.f64 1/2 y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 1/4 (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 4 y)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 x (/.f64 4 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 y) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 y) (/.f64 1 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 y) (*.f64 (/.f64 1 (/.f64 1 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 2 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (*.f64 (/.f64 -1 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (*.f64 (/.f64 2 (neg.f64 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x y) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 2 y)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 x)) (/.f64 2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 (+.f64 x x)) y) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 y) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (neg.f64 y)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (neg.f64 (+.f64 x x)) y))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 x (*.f64 y -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 -2 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 x -2) y))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (neg.f64 (*.f64 x 4)) (+.f64 y y))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 x y) 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 x y) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (/.f64 x y) 1/3) 2) (/.f64 (*.f64 (/.f64 x y) 1/3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (/.f64 x y) 1/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x y) 1/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x y) 2/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 x y) 2/3)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (/.f64 x y) 2/3))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (/.f64 x y) 2/3)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 x y) 1/3) 1))))) |
| 1× | egg-herbie |
| 1310× | rational.json-simplify-2 |
| 1088× | rational.json-simplify-1 |
| 896× | rational.json-simplify-55 |
| 856× | rational.json-simplify-35 |
| 734× | rational.json-simplify-53 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 114 | 1287 |
| 1 | 273 | 1287 |
| 2 | 597 | 1287 |
| 3 | 1767 | 1287 |
| 4 | 4096 | 1287 |
| 5 | 6457 | 1287 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 (*.f64 2 (/.f64 x y)) 0) |
(+.f64 0 (*.f64 2 (/.f64 x y))) |
(+.f64 (/.f64 x y) (/.f64 x y)) |
(+.f64 -1 (-.f64 1 (/.f64 (neg.f64 (+.f64 x x)) y))) |
(-.f64 (*.f64 2 (/.f64 x y)) 0) |
(-.f64 0 (/.f64 (neg.f64 (+.f64 x x)) y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 x (/.f64 2 y)) |
(*.f64 x (*.f64 (*.f64 2 (/.f64 2 y)) 1/2)) |
(*.f64 x (*.f64 (/.f64 4 y) 1/2)) |
(*.f64 (*.f64 2 (/.f64 x y)) 1) |
(*.f64 1 (*.f64 2 (/.f64 x y))) |
(*.f64 (+.f64 x x) (/.f64 1 y)) |
(*.f64 (+.f64 x x) (*.f64 1/2 (/.f64 2 y))) |
(*.f64 (+.f64 x x) (*.f64 (/.f64 1/2 y) 2)) |
(*.f64 (+.f64 x x) (*.f64 (*.f64 1/2 (/.f64 2 y)) 1)) |
(*.f64 (*.f64 x 4) (/.f64 1/2 y)) |
(*.f64 (*.f64 x 4) (*.f64 1/2 (/.f64 1 y))) |
(*.f64 (*.f64 x 4) (*.f64 (/.f64 1/2 y) 1)) |
(*.f64 (*.f64 x 4) (*.f64 1/4 (/.f64 2 y))) |
(*.f64 (*.f64 x (/.f64 4 y)) 1/2) |
(*.f64 1/2 (*.f64 x (/.f64 4 y))) |
(*.f64 (/.f64 2 y) x) |
(*.f64 (/.f64 2 y) (/.f64 1 (/.f64 1 x))) |
(*.f64 (/.f64 2 y) (*.f64 (/.f64 1 (/.f64 1 x)) 1)) |
(*.f64 (neg.f64 x) (/.f64 2 (neg.f64 y))) |
(*.f64 (neg.f64 x) (*.f64 (/.f64 -1 y) 2)) |
(*.f64 (neg.f64 x) (*.f64 (/.f64 2 (neg.f64 y)) 1)) |
(*.f64 (/.f64 x y) 2) |
(*.f64 (/.f64 1 y) (+.f64 x x)) |
(*.f64 (*.f64 1/2 (/.f64 2 y)) (+.f64 x x)) |
(*.f64 (/.f64 1 (/.f64 1 x)) (/.f64 2 y)) |
(*.f64 (/.f64 (neg.f64 (+.f64 x x)) y) -1) |
(*.f64 (/.f64 1/2 y) (*.f64 x 4)) |
(*.f64 (/.f64 2 (neg.f64 y)) (neg.f64 x)) |
(pow.f64 (*.f64 2 (/.f64 x y)) 1) |
(neg.f64 (/.f64 (neg.f64 (+.f64 x x)) y)) |
(neg.f64 (/.f64 x (*.f64 y -1/2))) |
(neg.f64 (/.f64 -2 (/.f64 y x))) |
(neg.f64 (/.f64 (*.f64 x -2) y)) |
(neg.f64 (/.f64 (neg.f64 (*.f64 x 4)) (+.f64 y y))) |
(+.f64 (*.f64 (/.f64 x y) 1/3) 0) |
(+.f64 0 (*.f64 (/.f64 x y) 1/3)) |
(+.f64 (/.f64 (*.f64 (/.f64 x y) 1/3) 2) (/.f64 (*.f64 (/.f64 x y) 1/3) 2)) |
(-.f64 (*.f64 (/.f64 x y) 1/3) 0) |
(/.f64 (*.f64 (/.f64 x y) 1/3) 1) |
(/.f64 (*.f64 (/.f64 x y) 2/3) 2) |
(/.f64 (*.f64 2 (*.f64 (/.f64 x y) 2/3)) 4) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (/.f64 x y) 2/3))) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (/.f64 x y) 2/3)))) 16) |
(pow.f64 (*.f64 (/.f64 x y) 1/3) 1) |
| Outputs |
|---|
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x y) 1/3) |
(+.f64 (*.f64 2 (/.f64 x y)) 0) |
(*.f64 2 (/.f64 x y)) |
(+.f64 0 (*.f64 2 (/.f64 x y))) |
(*.f64 2 (/.f64 x y)) |
(+.f64 (/.f64 x y) (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(+.f64 -1 (-.f64 1 (/.f64 (neg.f64 (+.f64 x x)) y))) |
(*.f64 2 (/.f64 x y)) |
(-.f64 (*.f64 2 (/.f64 x y)) 0) |
(*.f64 2 (/.f64 x y)) |
(-.f64 0 (/.f64 (neg.f64 (+.f64 x x)) y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 x (/.f64 2 y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 x (*.f64 (*.f64 2 (/.f64 2 y)) 1/2)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 x (*.f64 (/.f64 4 y) 1/2)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 (*.f64 2 (/.f64 x y)) 1) |
(*.f64 2 (/.f64 x y)) |
(*.f64 1 (*.f64 2 (/.f64 x y))) |
(*.f64 2 (/.f64 x y)) |
(*.f64 (+.f64 x x) (/.f64 1 y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 (+.f64 x x) (*.f64 1/2 (/.f64 2 y))) |
(*.f64 2 (/.f64 x y)) |
(*.f64 (+.f64 x x) (*.f64 (/.f64 1/2 y) 2)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 (+.f64 x x) (*.f64 (*.f64 1/2 (/.f64 2 y)) 1)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 (*.f64 x 4) (/.f64 1/2 y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 (*.f64 x 4) (*.f64 1/2 (/.f64 1 y))) |
(*.f64 2 (/.f64 x y)) |
(*.f64 (*.f64 x 4) (*.f64 (/.f64 1/2 y) 1)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 (*.f64 x 4) (*.f64 1/4 (/.f64 2 y))) |
(*.f64 2 (/.f64 x y)) |
(*.f64 (*.f64 x (/.f64 4 y)) 1/2) |
(*.f64 2 (/.f64 x y)) |
(*.f64 1/2 (*.f64 x (/.f64 4 y))) |
(*.f64 2 (/.f64 x y)) |
(*.f64 (/.f64 2 y) x) |
(*.f64 2 (/.f64 x y)) |
(*.f64 (/.f64 2 y) (/.f64 1 (/.f64 1 x))) |
(*.f64 2 (/.f64 x y)) |
(*.f64 (/.f64 2 y) (*.f64 (/.f64 1 (/.f64 1 x)) 1)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 (neg.f64 x) (/.f64 2 (neg.f64 y))) |
(*.f64 2 (/.f64 x y)) |
(*.f64 (neg.f64 x) (*.f64 (/.f64 -1 y) 2)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 (neg.f64 x) (*.f64 (/.f64 2 (neg.f64 y)) 1)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 (/.f64 x y) 2) |
(*.f64 2 (/.f64 x y)) |
(*.f64 (/.f64 1 y) (+.f64 x x)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 (*.f64 1/2 (/.f64 2 y)) (+.f64 x x)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 (/.f64 1 (/.f64 1 x)) (/.f64 2 y)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 (/.f64 (neg.f64 (+.f64 x x)) y) -1) |
(*.f64 2 (/.f64 x y)) |
(*.f64 (/.f64 1/2 y) (*.f64 x 4)) |
(*.f64 2 (/.f64 x y)) |
(*.f64 (/.f64 2 (neg.f64 y)) (neg.f64 x)) |
(*.f64 2 (/.f64 x y)) |
(pow.f64 (*.f64 2 (/.f64 x y)) 1) |
(*.f64 2 (/.f64 x y)) |
(neg.f64 (/.f64 (neg.f64 (+.f64 x x)) y)) |
(*.f64 2 (/.f64 x y)) |
(neg.f64 (/.f64 x (*.f64 y -1/2))) |
(*.f64 2 (/.f64 x y)) |
(neg.f64 (/.f64 -2 (/.f64 y x))) |
(*.f64 2 (/.f64 x y)) |
(neg.f64 (/.f64 (*.f64 x -2) y)) |
(*.f64 2 (/.f64 x y)) |
(neg.f64 (/.f64 (neg.f64 (*.f64 x 4)) (+.f64 y y))) |
(*.f64 2 (/.f64 x y)) |
(+.f64 (*.f64 (/.f64 x y) 1/3) 0) |
(*.f64 (/.f64 x y) 1/3) |
(+.f64 0 (*.f64 (/.f64 x y) 1/3)) |
(*.f64 (/.f64 x y) 1/3) |
(+.f64 (/.f64 (*.f64 (/.f64 x y) 1/3) 2) (/.f64 (*.f64 (/.f64 x y) 1/3) 2)) |
(*.f64 (/.f64 x y) 1/3) |
(-.f64 (*.f64 (/.f64 x y) 1/3) 0) |
(*.f64 (/.f64 x y) 1/3) |
(/.f64 (*.f64 (/.f64 x y) 1/3) 1) |
(*.f64 (/.f64 x y) 1/3) |
(/.f64 (*.f64 (/.f64 x y) 2/3) 2) |
(*.f64 (/.f64 x y) 1/3) |
(/.f64 (*.f64 2 (*.f64 (/.f64 x y) 2/3)) 4) |
(*.f64 (/.f64 x y) 1/3) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (/.f64 x y) 2/3))) 8) |
(*.f64 (/.f64 x y) 1/3) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (/.f64 x y) 2/3)))) 16) |
(*.f64 (/.f64 x y) 1/3) |
(pow.f64 (*.f64 (/.f64 x y) 1/3) 1) |
(*.f64 (/.f64 x y) 1/3) |
Compiled 3476 to 2368 computations (31.9% saved)
7 alts after pruning (5 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 339 | 5 | 344 |
| Fresh | 1 | 0 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 3 | 2 | 5 |
| Total | 344 | 7 | 351 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.2b | (/.f64 (/.f64 x y) 3) |
| ▶ | 0.3b | (/.f64 (/.f64 x 3) y) |
| ▶ | 0.4b | (/.f64 x (*.f64 (*.f64 y 9) (/.f64 y (*.f64 y 3)))) |
| ✓ | 0.2b | (/.f64 x (*.f64 y 3)) |
| ▶ | 0.6b | (/.f64 2 (*.f64 6 (/.f64 y x))) |
| ▶ | 0.6b | (/.f64 1/3 (/.f64 y x)) |
| ✓ | 0.3b | (*.f64 (/.f64 1/3 y) x) |
Compiled 100 to 72 computations (28% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (/.f64 (/.f64 x y) 3) |
Compiled 13 to 6 computations (53.8% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | 0 | (/.f64 (/.f64 x y) 3) |
| 0.0ms | x | @ | inf | (/.f64 (/.f64 x y) 3) |
| 0.0ms | x | @ | -inf | (/.f64 (/.f64 x y) 3) |
| 0.0ms | y | @ | -inf | (/.f64 (/.f64 x y) 3) |
| 0.0ms | y | @ | inf | (/.f64 (/.f64 x y) 3) |
| 1× | batch-egg-rewrite |
| 1426× | rational.json-1 |
| 1426× | rational.json-2 |
| 1426× | rational.json-4 |
| 1426× | rational.json-3 |
| 1408× | exponential.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 55 | 13 |
| 2 | 177 | 13 |
| 3 | 519 | 13 |
| 4 | 1698 | 13 |
| 5 | 4497 | 13 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (/.f64 x y) 3) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (/.f64 1/3 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 x (*.f64 y -3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 (*.f64 x -1/3) y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 x 1/3) (+.f64 y y)) (/.f64 (*.f64 x 1/3) (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 x (*.f64 y 6)) (/.f64 x (*.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (/.f64 x y) 6) (/.f64 (/.f64 x y) 6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 x (/.f64 1/3 y)) 2) (/.f64 (*.f64 x (/.f64 1/3 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (/.f64 1/3 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 x (*.f64 y -3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (*.f64 x -1/3) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 1/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (*.f64 2 (/.f64 1/3 y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (/.f64 2 (*.f64 y 3)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (*.f64 2 (/.f64 1 y)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (/.f64 2 y) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 2/3 (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x y) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 1/3 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (/.f64 1 (*.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (/.f64 1 y) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 1/3 (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (*.f64 (/.f64 1 y) 1/6) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (*.f64 1/3 (/.f64 1/2 y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (*.f64 (/.f64 1 y) 1/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 2 y)) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/3) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/3) (*.f64 (*.f64 2 (/.f64 1 y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 x 1/3) (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 x (*.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 x y) 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 x (/.f64 1/3 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 x (*.f64 y 6)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (/.f64 x y) 6) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (*.f64 x (/.f64 1/3 y)) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 x 6) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 x 2) (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 x (+.f64 y y)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (/.f64 x y) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 x (/.f64 1/3 y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 x y) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 x 1/3) (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 x (/.f64 1 (*.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1 (*.f64 y 6)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1/2 y) (*.f64 x 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (/.f64 1 (*.f64 y 12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 (/.f64 1 (*.f64 y 12)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 1/12 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 1/4 (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 (/.f64 2 (*.f64 y 8)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 1/6 (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 1/2 (/.f64 1 (*.f64 y 6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x y) 2/3) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x y) 4) 1/12)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 2/3) (/.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 2/3) (*.f64 (/.f64 1 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (*.f64 x 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/3 y) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 1 (*.f64 y -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (*.f64 (/.f64 1 (*.f64 y -3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (*.f64 (/.f64 -1 y) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x -1/3) (/.f64 -1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x -1/3) (*.f64 (/.f64 -1 y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 x (*.f64 y -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 x -1/3) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 x (*.f64 y -3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 (*.f64 x -1/3) y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 x (neg.f64 y)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 y)) (/.f64 x 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 y)) (*.f64 (/.f64 x 6) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 y)) (*.f64 (/.f64 x 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 y)) (*.f64 (*.f64 x 1/3) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1 y)) (*.f64 x 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (/.f64 x y) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/6 (*.f64 x (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2/3 (/.f64 x (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2/3 (*.f64 (/.f64 x (+.f64 y y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2/3 (*.f64 (/.f64 x 2) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2/3 (*.f64 x (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 y) (*.f64 x 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y 6)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 y) 1/6) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/3 (/.f64 1/2 y)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (*.f64 y -3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x -1/3) y) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (+.f64 y y)) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 y) (*.f64 x -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 6) (*.f64 2 (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/12 (*.f64 (/.f64 x y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (*.f64 y 6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 x y) 6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y 12)) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x (/.f64 1/3 y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y -3)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (/.f64 1/3 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 x (*.f64 y -3)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 x -1/3) y)))))) |
| 1× | egg-herbie |
| 1836× | rational.json-simplify-35 |
| 1364× | rational.json-simplify-2 |
| 1106× | rational.json-simplify-61 |
| 1086× | rational.json-simplify-51 |
| 1062× | rational.json-simplify-43 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 207 | 1629 |
| 1 | 444 | 1611 |
| 2 | 958 | 1611 |
| 3 | 2184 | 1611 |
| 4 | 4957 | 1611 |
| 5 | 7774 | 1611 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 (*.f64 x (/.f64 1/3 y)) 0) |
(+.f64 0 (*.f64 x (/.f64 1/3 y))) |
(+.f64 -1 (-.f64 1 (/.f64 x (*.f64 y -3)))) |
(+.f64 -1 (-.f64 1 (/.f64 (*.f64 x -1/3) y))) |
(+.f64 (/.f64 (*.f64 x 1/3) (+.f64 y y)) (/.f64 (*.f64 x 1/3) (+.f64 y y))) |
(+.f64 (/.f64 x (*.f64 y 6)) (/.f64 x (*.f64 y 6))) |
(+.f64 (/.f64 (/.f64 x y) 6) (/.f64 (/.f64 x y) 6)) |
(+.f64 (/.f64 (*.f64 x (/.f64 1/3 y)) 2) (/.f64 (*.f64 x (/.f64 1/3 y)) 2)) |
(-.f64 (*.f64 x (/.f64 1/3 y)) 0) |
(-.f64 0 (/.f64 x (*.f64 y -3))) |
(-.f64 0 (/.f64 (*.f64 x -1/3) y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 x (*.f64 (*.f64 2 (/.f64 1/3 y)) 1/2)) |
(*.f64 x (*.f64 (/.f64 2 (*.f64 y 3)) 1/2)) |
(*.f64 x (*.f64 (*.f64 2 (/.f64 1 y)) 1/6)) |
(*.f64 x (*.f64 (/.f64 2 y) 1/6)) |
(*.f64 x (*.f64 2/3 (/.f64 1/2 y))) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 (*.f64 x (/.f64 1/3 y)) 1) |
(*.f64 1 (*.f64 x (/.f64 1/3 y))) |
(*.f64 (+.f64 x x) (/.f64 1 (*.f64 y 6))) |
(*.f64 (+.f64 x x) (*.f64 (/.f64 1 y) 1/6)) |
(*.f64 (+.f64 x x) (*.f64 1/3 (/.f64 1/2 y))) |
(*.f64 (+.f64 x x) (*.f64 (*.f64 (/.f64 1 y) 1/6) 1)) |
(*.f64 (+.f64 x x) (*.f64 (*.f64 1/3 (/.f64 1/2 y)) 1)) |
(*.f64 (+.f64 x x) (*.f64 (*.f64 (/.f64 1 y) 1/2) 1/3)) |
(*.f64 (*.f64 x (/.f64 2 y)) 1/6) |
(*.f64 (*.f64 x 1/3) (/.f64 1 y)) |
(*.f64 (*.f64 x 1/3) (*.f64 (*.f64 2 (/.f64 1 y)) 1/2)) |
(*.f64 2 (/.f64 (*.f64 x 1/3) (+.f64 y y))) |
(*.f64 2 (/.f64 x (*.f64 y 6))) |
(*.f64 2 (/.f64 (/.f64 x y) 6)) |
(*.f64 2 (/.f64 (*.f64 x (/.f64 1/3 y)) 2)) |
(*.f64 2 (*.f64 (/.f64 x (*.f64 y 6)) 1)) |
(*.f64 2 (*.f64 (/.f64 (/.f64 x y) 6) 1)) |
(*.f64 2 (*.f64 (/.f64 (*.f64 x (/.f64 1/3 y)) 2) 1)) |
(*.f64 2 (*.f64 (/.f64 x 6) (/.f64 1 y))) |
(*.f64 2 (*.f64 (/.f64 x 2) (/.f64 1/3 y))) |
(*.f64 2 (*.f64 (/.f64 x (+.f64 y y)) 1/3)) |
(*.f64 2 (*.f64 (/.f64 (/.f64 x y) 2) 1/3)) |
(*.f64 2 (*.f64 (*.f64 x (/.f64 1/3 y)) 1/2)) |
(*.f64 2 (*.f64 (/.f64 x y) 1/6)) |
(*.f64 2 (*.f64 (*.f64 x 1/3) (/.f64 1/2 y))) |
(*.f64 2 (*.f64 x (/.f64 1 (*.f64 y 6)))) |
(*.f64 2 (*.f64 (/.f64 1 (*.f64 y 6)) x)) |
(*.f64 2 (*.f64 (/.f64 1/2 y) (*.f64 x 1/3))) |
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 y 12))) |
(*.f64 (*.f64 x 4) (*.f64 (/.f64 1 (*.f64 y 12)) 1)) |
(*.f64 (*.f64 x 4) (*.f64 1/12 (/.f64 1 y))) |
(*.f64 (*.f64 x 4) (*.f64 1/4 (/.f64 1/3 y))) |
(*.f64 (*.f64 x 4) (*.f64 (/.f64 2 (*.f64 y 8)) 1/3)) |
(*.f64 (*.f64 x 4) (*.f64 1/6 (/.f64 1/2 y))) |
(*.f64 (*.f64 x 4) (*.f64 1/2 (/.f64 1 (*.f64 y 6)))) |
(*.f64 (*.f64 (/.f64 x y) 2/3) 1/2) |
(*.f64 (*.f64 (/.f64 x y) 4) 1/12) |
(*.f64 (*.f64 x 2/3) (/.f64 1/2 y)) |
(*.f64 (*.f64 x 2/3) (*.f64 (/.f64 1 y) 1/2)) |
(*.f64 (/.f64 1 y) (*.f64 x 1/3)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (neg.f64 x) (/.f64 1 (*.f64 y -3))) |
(*.f64 (neg.f64 x) (*.f64 (/.f64 1 (*.f64 y -3)) 1)) |
(*.f64 (neg.f64 x) (*.f64 (/.f64 -1 y) 1/3)) |
(*.f64 (*.f64 x -1/3) (/.f64 -1 y)) |
(*.f64 (*.f64 x -1/3) (*.f64 (/.f64 -1 y) 1)) |
(*.f64 -1 (/.f64 x (*.f64 y -3))) |
(*.f64 -1 (/.f64 (*.f64 x -1/3) y)) |
(*.f64 -1 (*.f64 (/.f64 x (*.f64 y -3)) 1)) |
(*.f64 -1 (*.f64 (/.f64 (*.f64 x -1/3) y) 1)) |
(*.f64 -1 (*.f64 (/.f64 x (neg.f64 y)) 1/3)) |
(*.f64 (*.f64 2 (/.f64 1 y)) (/.f64 x 6)) |
(*.f64 (*.f64 2 (/.f64 1 y)) (*.f64 (/.f64 x 6) 1)) |
(*.f64 (*.f64 2 (/.f64 1 y)) (*.f64 (/.f64 x 2) 1/3)) |
(*.f64 (*.f64 2 (/.f64 1 y)) (*.f64 (*.f64 x 1/3) 1/2)) |
(*.f64 (*.f64 2 (/.f64 1 y)) (*.f64 x 1/6)) |
(*.f64 1/2 (*.f64 (/.f64 x y) 2/3)) |
(*.f64 1/6 (*.f64 x (/.f64 2 y))) |
(*.f64 2/3 (/.f64 x (+.f64 y y))) |
(*.f64 2/3 (*.f64 (/.f64 x (+.f64 y y)) 1)) |
(*.f64 2/3 (*.f64 (/.f64 x 2) (/.f64 1 y))) |
(*.f64 2/3 (*.f64 x (/.f64 1/2 y))) |
(*.f64 (/.f64 1/2 y) (*.f64 x 2/3)) |
(*.f64 (/.f64 1 (*.f64 y 6)) (+.f64 x x)) |
(*.f64 (*.f64 (/.f64 1 y) 1/6) (+.f64 x x)) |
(*.f64 (*.f64 1/3 (/.f64 1/2 y)) (+.f64 x x)) |
(*.f64 (/.f64 x (*.f64 y -3)) -1) |
(*.f64 (/.f64 (*.f64 x -1/3) y) -1) |
(*.f64 (/.f64 x (+.f64 y y)) 2/3) |
(*.f64 (/.f64 -1 y) (*.f64 x -1/3)) |
(*.f64 (/.f64 x 6) (*.f64 2 (/.f64 1 y))) |
(*.f64 1/12 (*.f64 (/.f64 x y) 4)) |
(*.f64 (/.f64 x (*.f64 y 6)) 2) |
(*.f64 (/.f64 (/.f64 x y) 6) 2) |
(*.f64 (/.f64 1 (*.f64 y 12)) (*.f64 x 4)) |
(*.f64 (/.f64 (*.f64 x (/.f64 1/3 y)) 2) 2) |
(*.f64 (/.f64 1 (*.f64 y -3)) (neg.f64 x)) |
(pow.f64 (*.f64 x (/.f64 1/3 y)) 1) |
(neg.f64 (/.f64 x (*.f64 y -3))) |
(neg.f64 (/.f64 (*.f64 x -1/3) y)) |
| Outputs |
|---|
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(+.f64 (*.f64 x (/.f64 1/3 y)) 0) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(+.f64 0 (*.f64 x (/.f64 1/3 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(+.f64 -1 (-.f64 1 (/.f64 x (*.f64 y -3)))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(+.f64 -1 (-.f64 1 (/.f64 (*.f64 x -1/3) y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(+.f64 (/.f64 (*.f64 x 1/3) (+.f64 y y)) (/.f64 (*.f64 x 1/3) (+.f64 y y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(+.f64 (/.f64 x (*.f64 y 6)) (/.f64 x (*.f64 y 6))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(+.f64 (/.f64 (/.f64 x y) 6) (/.f64 (/.f64 x y) 6)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(+.f64 (/.f64 (*.f64 x (/.f64 1/3 y)) 2) (/.f64 (*.f64 x (/.f64 1/3 y)) 2)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(-.f64 (*.f64 x (/.f64 1/3 y)) 0) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(-.f64 0 (/.f64 x (*.f64 y -3))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(-.f64 0 (/.f64 (*.f64 x -1/3) y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (*.f64 (*.f64 2 (/.f64 1/3 y)) 1/2)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 x (*.f64 (/.f64 2 (*.f64 y 3)) 1/2)) |
(*.f64 (/.f64 2 (*.f64 y 3)) (*.f64 1/2 x)) |
(*.f64 x (*.f64 1/2 (/.f64 2/3 y))) |
(*.f64 (/.f64 2/3 y) (*.f64 x 1/2)) |
(*.f64 1/2 (*.f64 x (/.f64 2/3 y))) |
(*.f64 x (*.f64 (*.f64 2 (/.f64 1 y)) 1/6)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 x (*.f64 (/.f64 2 y) 1/6)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 x (*.f64 2/3 (/.f64 1/2 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x (/.f64 1/3 y)) 1) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1 (*.f64 x (/.f64 1/3 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (+.f64 x x) (/.f64 1 (*.f64 y 6))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (+.f64 x x) (*.f64 (/.f64 1 y) 1/6)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (+.f64 x x) (*.f64 1/3 (/.f64 1/2 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (+.f64 x x) (*.f64 (*.f64 (/.f64 1 y) 1/6) 1)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (+.f64 x x) (*.f64 (*.f64 1/3 (/.f64 1/2 y)) 1)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (+.f64 x x) (*.f64 (*.f64 (/.f64 1 y) 1/2) 1/3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x (/.f64 2 y)) 1/6) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x 1/3) (/.f64 1 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x 1/3) (*.f64 (*.f64 2 (/.f64 1 y)) 1/2)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (/.f64 (*.f64 x 1/3) (+.f64 y y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (/.f64 x (*.f64 y 6))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (/.f64 (/.f64 x y) 6)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (/.f64 (*.f64 x (/.f64 1/3 y)) 2)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (*.f64 (/.f64 x (*.f64 y 6)) 1)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (*.f64 (/.f64 (/.f64 x y) 6) 1)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (*.f64 (/.f64 (*.f64 x (/.f64 1/3 y)) 2) 1)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (*.f64 (/.f64 x 6) (/.f64 1 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (*.f64 (/.f64 x 2) (/.f64 1/3 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (*.f64 (/.f64 x (+.f64 y y)) 1/3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (*.f64 (/.f64 (/.f64 x y) 2) 1/3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (*.f64 (*.f64 x (/.f64 1/3 y)) 1/2)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (*.f64 (/.f64 x y) 1/6)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (*.f64 (*.f64 x 1/3) (/.f64 1/2 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (*.f64 x (/.f64 1 (*.f64 y 6)))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (*.f64 (/.f64 1 (*.f64 y 6)) x)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (*.f64 (/.f64 1/2 y) (*.f64 x 1/3))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 y 12))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x 4) (*.f64 (/.f64 1 (*.f64 y 12)) 1)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x 4) (*.f64 1/12 (/.f64 1 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x 4) (*.f64 1/4 (/.f64 1/3 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x 4) (*.f64 (/.f64 2 (*.f64 y 8)) 1/3)) |
(*.f64 (*.f64 x 4) (*.f64 1/3 (/.f64 2 (*.f64 y 8)))) |
(*.f64 (/.f64 1/4 y) (*.f64 x 4/3)) |
(*.f64 x (*.f64 (/.f64 1/4 y) 4/3)) |
(*.f64 (*.f64 x 4) (*.f64 1/6 (/.f64 1/2 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x 4) (*.f64 1/2 (/.f64 1 (*.f64 y 6)))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 (/.f64 x y) 2/3) 1/2) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 (/.f64 x y) 4) 1/12) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x 2/3) (/.f64 1/2 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x 2/3) (*.f64 (/.f64 1 y) 1/2)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 1 y) (*.f64 x 1/3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (neg.f64 x) (/.f64 1 (*.f64 y -3))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (neg.f64 x) (*.f64 (/.f64 1 (*.f64 y -3)) 1)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (neg.f64 x) (*.f64 (/.f64 -1 y) 1/3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x -1/3) (/.f64 -1 y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x -1/3) (*.f64 (/.f64 -1 y) 1)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 -1 (/.f64 x (*.f64 y -3))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 -1 (/.f64 (*.f64 x -1/3) y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 -1 (*.f64 (/.f64 x (*.f64 y -3)) 1)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 -1 (*.f64 (/.f64 (*.f64 x -1/3) y) 1)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 -1 (*.f64 (/.f64 x (neg.f64 y)) 1/3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 2 (/.f64 1 y)) (/.f64 x 6)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 2 (/.f64 1 y)) (*.f64 (/.f64 x 6) 1)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 2 (/.f64 1 y)) (*.f64 (/.f64 x 2) 1/3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 2 (/.f64 1 y)) (*.f64 (*.f64 x 1/3) 1/2)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 2 (/.f64 1 y)) (*.f64 x 1/6)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/2 (*.f64 (/.f64 x y) 2/3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/6 (*.f64 x (/.f64 2 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2/3 (/.f64 x (+.f64 y y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2/3 (*.f64 (/.f64 x (+.f64 y y)) 1)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2/3 (*.f64 (/.f64 x 2) (/.f64 1 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2/3 (*.f64 x (/.f64 1/2 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 1/2 y) (*.f64 x 2/3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 1 (*.f64 y 6)) (+.f64 x x)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 (/.f64 1 y) 1/6) (+.f64 x x)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 1/3 (/.f64 1/2 y)) (+.f64 x x)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 x (*.f64 y -3)) -1) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 (*.f64 x -1/3) y) -1) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 x (+.f64 y y)) 2/3) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 -1 y) (*.f64 x -1/3)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 x 6) (*.f64 2 (/.f64 1 y))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/12 (*.f64 (/.f64 x y) 4)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 x (*.f64 y 6)) 2) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 (/.f64 x y) 6) 2) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 1 (*.f64 y 12)) (*.f64 x 4)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 (*.f64 x (/.f64 1/3 y)) 2) 2) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 1 (*.f64 y -3)) (neg.f64 x)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(pow.f64 (*.f64 x (/.f64 1/3 y)) 1) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(neg.f64 (/.f64 x (*.f64 y -3))) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
(neg.f64 (/.f64 (*.f64 x -1/3) y)) |
(*.f64 1/3 (/.f64 x y)) |
(/.f64 1/3 (/.f64 y x)) |
(*.f64 x (/.f64 1/3 y)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.6b | (/.f64 1/3 (/.f64 y x)) |
Compiled 13 to 6 computations (53.8% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (/.f64 1/3 (/.f64 y x)) |
| 0.0ms | y | @ | inf | (/.f64 1/3 (/.f64 y x)) |
| 0.0ms | y | @ | -inf | (/.f64 1/3 (/.f64 y x)) |
| 0.0ms | x | @ | -inf | (/.f64 1/3 (/.f64 y x)) |
| 0.0ms | x | @ | inf | (/.f64 1/3 (/.f64 y x)) |
| 1× | batch-egg-rewrite |
| 1570× | rational.json-1 |
| 1570× | rational.json-2 |
| 1570× | rational.json-4 |
| 1570× | rational.json-3 |
| 1554× | exponential.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 53 | 13 |
| 2 | 166 | 13 |
| 3 | 495 | 13 |
| 4 | 1580 | 13 |
| 5 | 4589 | 13 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 1/3 (/.f64 y x)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 (/.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/3 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1/3 (*.f64 y (/.f64 2 x))) (/.f64 1/3 (*.f64 y (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 x (*.f64 y 6)) (/.f64 x (*.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 1/3 (/.f64 x y)) 2) (/.f64 (*.f64 1/3 (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/3 (/.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 1/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (/.f64 1 y) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (*.f64 2 (/.f64 1/3 y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 (/.f64 2 (*.f64 y 3)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/3 (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 1/3 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (/.f64 1/3 (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (/.f64 1/3 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (/.f64 1 (+.f64 y y)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (*.f64 (/.f64 1/3 y) 1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 1/3 (*.f64 y (/.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 x (*.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 1/3 (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 x (+.f64 y y)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 x (*.f64 y 6)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 (*.f64 1/3 (/.f64 x y)) 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 x 2) (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 1/3 (/.f64 x y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 x (/.f64 1/3 (+.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1/3 (+.f64 y y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (/.f64 1 (*.f64 y 12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 (/.f64 1 (*.f64 y 12)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 1/4 (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 1/2 (/.f64 1/3 (+.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x y) 2/3) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/3 y) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/3 y) (/.f64 1 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/3 y) (*.f64 (/.f64 1 (/.f64 1 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 1 (*.f64 y -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (*.f64 (/.f64 -1 y) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (*.f64 (/.f64 1 (*.f64 y -3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x y) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (*.f64 1/3 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (/.f64 x 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (*.f64 (/.f64 x 3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (/.f64 x y) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/3 (+.f64 y y)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/3 y) 1/2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 x)) (/.f64 1/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 3) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (*.f64 y 6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y 12)) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 1/3 (/.f64 x y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y -3)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/3 (/.f64 x y)) 1))))) |
| 1× | egg-herbie |
| 1134× | rational.json-simplify-29 |
| 854× | rational.json-simplify-53 |
| 788× | rational.json-simplify-2 |
| 784× | rational.json-simplify-49 |
| 664× | rational.json-simplify-55 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 120 | 1028 |
| 1 | 262 | 1006 |
| 2 | 559 | 1006 |
| 3 | 1396 | 1006 |
| 4 | 4283 | 1006 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 (*.f64 1/3 (/.f64 x y)) 0) |
(+.f64 0 (*.f64 1/3 (/.f64 x y))) |
(+.f64 (/.f64 1/3 (*.f64 y (/.f64 2 x))) (/.f64 1/3 (*.f64 y (/.f64 2 x)))) |
(+.f64 (/.f64 x (*.f64 y 6)) (/.f64 x (*.f64 y 6))) |
(+.f64 (/.f64 (*.f64 1/3 (/.f64 x y)) 2) (/.f64 (*.f64 1/3 (/.f64 x y)) 2)) |
(-.f64 (*.f64 1/3 (/.f64 x y)) 0) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 x (*.f64 (/.f64 1 y) 1/3)) |
(*.f64 x (*.f64 (*.f64 2 (/.f64 1/3 y)) 1/2)) |
(*.f64 x (*.f64 (/.f64 2 (*.f64 y 3)) 1/2)) |
(*.f64 (*.f64 1/3 (/.f64 x y)) 1) |
(*.f64 1 (*.f64 1/3 (/.f64 x y))) |
(*.f64 (+.f64 x x) (/.f64 1/3 (+.f64 y y))) |
(*.f64 (+.f64 x x) (*.f64 (/.f64 1/3 y) 1/2)) |
(*.f64 (+.f64 x x) (*.f64 (/.f64 1 (+.f64 y y)) 1/3)) |
(*.f64 (+.f64 x x) (*.f64 (*.f64 (/.f64 1/3 y) 1/2) 1)) |
(*.f64 2 (/.f64 1/3 (*.f64 y (/.f64 2 x)))) |
(*.f64 2 (/.f64 x (*.f64 y 6))) |
(*.f64 2 (/.f64 (*.f64 1/3 (/.f64 x y)) 2)) |
(*.f64 2 (*.f64 (/.f64 x (+.f64 y y)) 1/3)) |
(*.f64 2 (*.f64 (/.f64 x (*.f64 y 6)) 1)) |
(*.f64 2 (*.f64 (/.f64 (*.f64 1/3 (/.f64 x y)) 2) 1)) |
(*.f64 2 (*.f64 (/.f64 x 2) (/.f64 1/3 y))) |
(*.f64 2 (*.f64 (*.f64 1/3 (/.f64 x y)) 1/2)) |
(*.f64 2 (*.f64 x (/.f64 1/3 (+.f64 y y)))) |
(*.f64 2 (*.f64 (/.f64 1/3 (+.f64 y y)) x)) |
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 y 12))) |
(*.f64 (*.f64 x 4) (*.f64 (/.f64 1 (*.f64 y 12)) 1)) |
(*.f64 (*.f64 x 4) (*.f64 1/4 (/.f64 1/3 y))) |
(*.f64 (*.f64 x 4) (*.f64 1/2 (/.f64 1/3 (+.f64 y y)))) |
(*.f64 (*.f64 (/.f64 x y) 2/3) 1/2) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 (/.f64 1/3 y) (/.f64 1 (/.f64 1 x))) |
(*.f64 (/.f64 1/3 y) (*.f64 (/.f64 1 (/.f64 1 x)) 1)) |
(*.f64 (neg.f64 x) (/.f64 1 (*.f64 y -3))) |
(*.f64 (neg.f64 x) (*.f64 (/.f64 -1 y) 1/3)) |
(*.f64 (neg.f64 x) (*.f64 (/.f64 1 (*.f64 y -3)) 1)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 (/.f64 1 y) (*.f64 1/3 x)) |
(*.f64 (/.f64 1 y) (/.f64 x 3)) |
(*.f64 (/.f64 1 y) (*.f64 (/.f64 x 3) 1)) |
(*.f64 1/2 (*.f64 (/.f64 x y) 2/3)) |
(*.f64 (/.f64 1/3 (+.f64 y y)) (+.f64 x x)) |
(*.f64 (*.f64 (/.f64 1/3 y) 1/2) (+.f64 x x)) |
(*.f64 (/.f64 1 (/.f64 1 x)) (/.f64 1/3 y)) |
(*.f64 (/.f64 x 3) (/.f64 1 y)) |
(*.f64 (/.f64 x (*.f64 y 6)) 2) |
(*.f64 (/.f64 1 (*.f64 y 12)) (*.f64 x 4)) |
(*.f64 (/.f64 (*.f64 1/3 (/.f64 x y)) 2) 2) |
(*.f64 (/.f64 1 (*.f64 y -3)) (neg.f64 x)) |
(pow.f64 (*.f64 1/3 (/.f64 x y)) 1) |
| Outputs |
|---|
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 (*.f64 1/3 (/.f64 x y)) 0) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 0 (*.f64 1/3 (/.f64 x y))) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 (/.f64 1/3 (*.f64 y (/.f64 2 x))) (/.f64 1/3 (*.f64 y (/.f64 2 x)))) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 (/.f64 x (*.f64 y 6)) (/.f64 x (*.f64 y 6))) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 (/.f64 (*.f64 1/3 (/.f64 x y)) 2) (/.f64 (*.f64 1/3 (/.f64 x y)) 2)) |
(*.f64 1/3 (/.f64 x y)) |
(-.f64 (*.f64 1/3 (/.f64 x y)) 0) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (*.f64 (/.f64 1 y) 1/3)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (*.f64 (*.f64 2 (/.f64 1/3 y)) 1/2)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (*.f64 (/.f64 2 (*.f64 y 3)) 1/2)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (*.f64 1/3 (/.f64 x y)) 1) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1 (*.f64 1/3 (/.f64 x y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (+.f64 x x) (/.f64 1/3 (+.f64 y y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (+.f64 x x) (*.f64 (/.f64 1/3 y) 1/2)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (+.f64 x x) (*.f64 (/.f64 1 (+.f64 y y)) 1/3)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (+.f64 x x) (*.f64 (*.f64 (/.f64 1/3 y) 1/2) 1)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 2 (/.f64 1/3 (*.f64 y (/.f64 2 x)))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 2 (/.f64 x (*.f64 y 6))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 2 (/.f64 (*.f64 1/3 (/.f64 x y)) 2)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 2 (*.f64 (/.f64 x (+.f64 y y)) 1/3)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 2 (*.f64 (/.f64 x (*.f64 y 6)) 1)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 2 (*.f64 (/.f64 (*.f64 1/3 (/.f64 x y)) 2) 1)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 2 (*.f64 (/.f64 x 2) (/.f64 1/3 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 2 (*.f64 (*.f64 1/3 (/.f64 x y)) 1/2)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 2 (*.f64 x (/.f64 1/3 (+.f64 y y)))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 2 (*.f64 (/.f64 1/3 (+.f64 y y)) x)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 y 12))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (*.f64 x 4) (*.f64 (/.f64 1 (*.f64 y 12)) 1)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (*.f64 x 4) (*.f64 1/4 (/.f64 1/3 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (*.f64 x 4) (*.f64 1/2 (/.f64 1/3 (+.f64 y y)))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (*.f64 (/.f64 x y) 2/3) 1/2) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) (/.f64 1 (/.f64 1 x))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) (*.f64 (/.f64 1 (/.f64 1 x)) 1)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (neg.f64 x) (/.f64 1 (*.f64 y -3))) |
(*.f64 (neg.f64 x) (/.f64 -1/3 y)) |
(*.f64 x (neg.f64 (/.f64 -1/3 y))) |
(*.f64 (neg.f64 x) (*.f64 (/.f64 -1 y) 1/3)) |
(*.f64 (neg.f64 x) (*.f64 1/3 (/.f64 -1 y))) |
(*.f64 (/.f64 -1 y) (*.f64 x -1/3)) |
(*.f64 x (*.f64 (/.f64 -1 y) -1/3)) |
(*.f64 (neg.f64 x) (*.f64 (/.f64 1 (*.f64 y -3)) 1)) |
(*.f64 (neg.f64 x) (/.f64 1 (*.f64 y -3))) |
(*.f64 (neg.f64 x) (/.f64 -1/3 y)) |
(*.f64 x (neg.f64 (/.f64 -1/3 y))) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1 y) (*.f64 1/3 x)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1 y) (/.f64 x 3)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1 y) (*.f64 (/.f64 x 3) 1)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/2 (*.f64 (/.f64 x y) 2/3)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 (+.f64 y y)) (+.f64 x x)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (*.f64 (/.f64 1/3 y) 1/2) (+.f64 x x)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1 (/.f64 1 x)) (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x 3) (/.f64 1 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x (*.f64 y 6)) 2) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1 (*.f64 y 12)) (*.f64 x 4)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 (*.f64 1/3 (/.f64 x y)) 2) 2) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1 (*.f64 y -3)) (neg.f64 x)) |
(*.f64 (neg.f64 x) (/.f64 1 (*.f64 y -3))) |
(*.f64 (neg.f64 x) (/.f64 -1/3 y)) |
(*.f64 x (neg.f64 (/.f64 -1/3 y))) |
(pow.f64 (*.f64 1/3 (/.f64 x y)) 1) |
(*.f64 1/3 (/.f64 x y)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (/.f64 (/.f64 x 3) y) |
Compiled 13 to 8 computations (38.5% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | 0 | (/.f64 (/.f64 x 3) y) |
| 0.0ms | x | @ | inf | (/.f64 (/.f64 x 3) y) |
| 0.0ms | x | @ | -inf | (/.f64 (/.f64 x 3) y) |
| 0.0ms | y | @ | -inf | (/.f64 (/.f64 x 3) y) |
| 0.0ms | y | @ | inf | (/.f64 (/.f64 x 3) y) |
| 1× | batch-egg-rewrite |
| 2112× | rational.json-1 |
| 1066× | rational.json-2 |
| 1066× | rational.json-4 |
| 1066× | rational.json-3 |
| 1058× | rational.json-simplify-50 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 55 | 13 |
| 2 | 177 | 13 |
| 3 | 522 | 13 |
| 4 | 1712 | 13 |
| 5 | 4146 | 13 |
| 6 | 7978 | 13 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (/.f64 x 3) y) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (/.f64 1/3 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 (*.f64 x -1/3) y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 x (*.f64 3 (neg.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (/.f64 x (neg.f64 (*.f64 3 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x 1/3) (/.f64 1/2 y)) (*.f64 (*.f64 x 1/3) (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (/.f64 1/6 y)) (*.f64 x (/.f64 1/6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (/.f64 x y) 2/3) 4) (/.f64 (*.f64 (/.f64 x y) 2/3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (/.f64 1/3 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (*.f64 x -1/3) y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 x (*.f64 3 (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 x (neg.f64 (*.f64 3 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 1/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 2/3 (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 (*.f64 x 2/3) (/.f64 1/6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/3) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 1/3 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (/.f64 1/6 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 1/3 (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (/.f64 1/3 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (/.f64 1 y) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 6 (*.f64 (*.f64 x 1/3) (/.f64 1/6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 2/3) (/.f64 1/2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 2/3) (*.f64 (/.f64 1 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 2/3) (*.f64 3 (/.f64 1/6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x y) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 x 1/3) (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 x (/.f64 1/6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 (/.f64 x y) 2/3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 1/3 (/.f64 1/2 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (/.f64 1/3 y) 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (/.f64 1 y) 1/6) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (/.f64 1 y) 1/2) (*.f64 x 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1 (*.f64 y 12)) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1 (*.f64 y 4)) (*.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 x 6) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (/.f64 1 (*.f64 y 12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 1/2 (/.f64 1/6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 1/6 (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x y) 2/3) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4/3) (/.f64 1 (*.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4/3) (*.f64 1/2 (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4/3) (*.f64 3/2 (/.f64 1/6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 2 y)) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/3 y) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (*.f64 x 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x -1/3) (/.f64 -1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 1 (*.f64 3 (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 -1 (*.f64 3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 x -1/3) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 x (*.f64 3 (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 x (neg.f64 (*.f64 3 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 x 2) (/.f64 1/6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (*.f64 x 1/3) (/.f64 x 6)) (/.f64 1/6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 3 (/.f64 (*.f64 x 1/3) 2)) (/.f64 1/6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 x 6) (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 (*.f64 x 1/3) 2) (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x x) 4) (*.f64 1/4 (/.f64 1/6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x x) 4) (*.f64 1/12 (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x 2/3) 4) (*.f64 1/4 (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2/3 (/.f64 x (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2/3 (*.f64 (*.f64 x 3) (/.f64 1/6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (/.f64 x y) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 y) (*.f64 x 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/6 (*.f64 x (/.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 y) (/.f64 x 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 y) (*.f64 1/6 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 y) (*.f64 1/2 (*.f64 x 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/6 y) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x -2) (*.f64 -1 (/.f64 1/6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 x) 2/3) (*.f64 -1 (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (neg.f64 x) (/.f64 1/6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (*.f64 x -1/3) (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 1/3 y)) (*.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/3 (/.f64 1/2 y)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/3 y) 1/2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 y) 1/6) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 y) 1/2) (*.f64 x 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4/3 (*.f64 (+.f64 x (/.f64 x 2)) (/.f64 1/6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4/3 (*.f64 (/.f64 x 2) (/.f64 1/2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x -1/3) y) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (*.f64 3 (neg.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (neg.f64 (*.f64 3 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (+.f64 y y)) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x 1/3) (/.f64 1/2 y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 6) (/.f64 2 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y 4)) (*.f64 x 4/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 y) (*.f64 x -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 1/6 y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y 12)) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (/.f64 x y) 2/3) 4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 3 (neg.f64 y))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (*.f64 3 y)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (/.f64 1/3 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 x -1/3) y))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 x (*.f64 3 (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 x (neg.f64 (*.f64 3 y)))))))) |
| 1× | egg-herbie |
| 1520× | rational.json-simplify-53 |
| 1086× | rational.json-simplify-43 |
| 1024× | exponential.json-simplify-26 |
| 900× | rational.json-simplify-2 |
| 702× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 208 | 1599 |
| 1 | 460 | 1599 |
| 2 | 1022 | 1599 |
| 3 | 2166 | 1599 |
| 4 | 4172 | 1599 |
| 5 | 6863 | 1599 |
| 6 | 7650 | 1599 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 (*.f64 x (/.f64 1/3 y)) 0) |
(+.f64 0 (*.f64 x (/.f64 1/3 y))) |
(+.f64 -1 (-.f64 1 (/.f64 (*.f64 x -1/3) y))) |
(+.f64 -1 (-.f64 1 (/.f64 x (*.f64 3 (neg.f64 y))))) |
(+.f64 -1 (-.f64 1 (/.f64 x (neg.f64 (*.f64 3 y))))) |
(+.f64 (*.f64 (*.f64 x 1/3) (/.f64 1/2 y)) (*.f64 (*.f64 x 1/3) (/.f64 1/2 y))) |
(+.f64 (*.f64 x (/.f64 1/6 y)) (*.f64 x (/.f64 1/6 y))) |
(+.f64 (/.f64 (*.f64 (/.f64 x y) 2/3) 4) (/.f64 (*.f64 (/.f64 x y) 2/3) 4)) |
(-.f64 (*.f64 x (/.f64 1/3 y)) 0) |
(-.f64 0 (/.f64 (*.f64 x -1/3) y)) |
(-.f64 0 (/.f64 x (*.f64 3 (neg.f64 y)))) |
(-.f64 0 (/.f64 x (neg.f64 (*.f64 3 y)))) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 x (*.f64 2/3 (/.f64 1/2 y))) |
(*.f64 3 (*.f64 (*.f64 x 2/3) (/.f64 1/6 y))) |
(*.f64 (*.f64 x 1/3) (/.f64 1 y)) |
(*.f64 (*.f64 x (/.f64 1/3 y)) 1) |
(*.f64 1 (*.f64 x (/.f64 1/3 y))) |
(*.f64 (+.f64 x x) (/.f64 1/6 y)) |
(*.f64 (+.f64 x x) (*.f64 1/3 (/.f64 1/2 y))) |
(*.f64 (+.f64 x x) (*.f64 (/.f64 1/3 y) 1/2)) |
(*.f64 (+.f64 x x) (*.f64 (/.f64 1 y) 1/6)) |
(*.f64 6 (*.f64 (*.f64 x 1/3) (/.f64 1/6 y))) |
(*.f64 (*.f64 x 2/3) (/.f64 1/2 y)) |
(*.f64 (*.f64 x 2/3) (*.f64 (/.f64 1 y) 1/2)) |
(*.f64 (*.f64 x 2/3) (*.f64 3 (/.f64 1/6 y))) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 2 (*.f64 (*.f64 x 1/3) (/.f64 1/2 y))) |
(*.f64 2 (*.f64 x (/.f64 1/6 y))) |
(*.f64 2 (/.f64 (*.f64 (/.f64 x y) 2/3) 4)) |
(*.f64 2 (*.f64 (*.f64 1/3 (/.f64 1/2 y)) x)) |
(*.f64 2 (*.f64 (*.f64 (/.f64 1/3 y) 1/2) x)) |
(*.f64 2 (*.f64 (*.f64 (/.f64 1 y) 1/6) x)) |
(*.f64 2 (*.f64 (*.f64 (/.f64 1 y) 1/2) (*.f64 x 1/3))) |
(*.f64 2 (*.f64 (/.f64 1 (*.f64 y 12)) (+.f64 x x))) |
(*.f64 2 (*.f64 (/.f64 1 (*.f64 y 4)) (*.f64 x 2/3))) |
(*.f64 2 (*.f64 (/.f64 x 6) (/.f64 1 y))) |
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 y 12))) |
(*.f64 (*.f64 x 4) (*.f64 1/2 (/.f64 1/6 y))) |
(*.f64 (*.f64 x 4) (*.f64 1/6 (/.f64 1/2 y))) |
(*.f64 (*.f64 (/.f64 x y) 2/3) 1/2) |
(*.f64 (*.f64 x 4/3) (/.f64 1 (*.f64 y 4))) |
(*.f64 (*.f64 x 4/3) (*.f64 1/2 (/.f64 1/2 y))) |
(*.f64 (*.f64 x 4/3) (*.f64 3/2 (/.f64 1/6 y))) |
(*.f64 (*.f64 x (/.f64 2 y)) 1/6) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 (/.f64 1 y) (*.f64 x 1/3)) |
(*.f64 (*.f64 x -1/3) (/.f64 -1 y)) |
(*.f64 (neg.f64 x) (/.f64 1 (*.f64 3 (neg.f64 y)))) |
(*.f64 (neg.f64 x) (/.f64 -1 (*.f64 3 y))) |
(*.f64 -1 (/.f64 (*.f64 x -1/3) y)) |
(*.f64 -1 (/.f64 x (*.f64 3 (neg.f64 y)))) |
(*.f64 -1 (/.f64 x (neg.f64 (*.f64 3 y)))) |
(*.f64 4 (*.f64 (/.f64 x 2) (/.f64 1/6 y))) |
(*.f64 4 (*.f64 (+.f64 (*.f64 x 1/3) (/.f64 x 6)) (/.f64 1/6 y))) |
(*.f64 4 (*.f64 (*.f64 3 (/.f64 (*.f64 x 1/3) 2)) (/.f64 1/6 y))) |
(*.f64 4 (*.f64 (/.f64 x 6) (/.f64 1/2 y))) |
(*.f64 4 (*.f64 (/.f64 (*.f64 x 1/3) 2) (/.f64 1/2 y))) |
(*.f64 (*.f64 (+.f64 x x) 4) (*.f64 1/4 (/.f64 1/6 y))) |
(*.f64 (*.f64 (+.f64 x x) 4) (*.f64 1/12 (/.f64 1/2 y))) |
(*.f64 (*.f64 (*.f64 x 2/3) 4) (*.f64 1/4 (/.f64 1/2 y))) |
(*.f64 2/3 (/.f64 x (+.f64 y y))) |
(*.f64 2/3 (*.f64 (*.f64 x 3) (/.f64 1/6 y))) |
(*.f64 1/2 (*.f64 (/.f64 x y) 2/3)) |
(*.f64 (/.f64 1/2 y) (*.f64 x 2/3)) |
(*.f64 1/6 (*.f64 x (/.f64 2 y))) |
(*.f64 (/.f64 2 y) (/.f64 x 6)) |
(*.f64 (/.f64 2 y) (*.f64 1/6 x)) |
(*.f64 (/.f64 2 y) (*.f64 1/2 (*.f64 x 1/3))) |
(*.f64 (/.f64 1/6 y) (+.f64 x x)) |
(*.f64 (*.f64 x -2) (*.f64 -1 (/.f64 1/6 y))) |
(*.f64 (*.f64 (neg.f64 x) 2/3) (*.f64 -1 (/.f64 1/2 y))) |
(*.f64 -2 (*.f64 (neg.f64 x) (/.f64 1/6 y))) |
(*.f64 -2 (*.f64 (*.f64 x -1/3) (/.f64 1/2 y))) |
(*.f64 (*.f64 2 (/.f64 1/3 y)) (*.f64 1/2 x)) |
(*.f64 (*.f64 1/3 (/.f64 1/2 y)) (+.f64 x x)) |
(*.f64 (*.f64 (/.f64 1/3 y) 1/2) (+.f64 x x)) |
(*.f64 (*.f64 (/.f64 1 y) 1/6) (+.f64 x x)) |
(*.f64 (*.f64 (/.f64 1 y) 1/2) (*.f64 x 2/3)) |
(*.f64 4/3 (*.f64 (+.f64 x (/.f64 x 2)) (/.f64 1/6 y))) |
(*.f64 4/3 (*.f64 (/.f64 x 2) (/.f64 1/2 y))) |
(*.f64 (/.f64 (*.f64 x -1/3) y) -1) |
(*.f64 (/.f64 x (*.f64 3 (neg.f64 y))) -1) |
(*.f64 (/.f64 x (neg.f64 (*.f64 3 y))) -1) |
(*.f64 (/.f64 x (+.f64 y y)) 2/3) |
(*.f64 (*.f64 (*.f64 x 1/3) (/.f64 1/2 y)) 2) |
(*.f64 (/.f64 x 6) (/.f64 2 y)) |
(*.f64 (/.f64 1 (*.f64 y 4)) (*.f64 x 4/3)) |
(*.f64 (/.f64 -1 y) (*.f64 x -1/3)) |
(*.f64 (*.f64 x (/.f64 1/6 y)) 2) |
(*.f64 (/.f64 1 (*.f64 y 12)) (*.f64 x 4)) |
(*.f64 (/.f64 (*.f64 (/.f64 x y) 2/3) 4) 2) |
(*.f64 (/.f64 1 (*.f64 3 (neg.f64 y))) (neg.f64 x)) |
(*.f64 (/.f64 -1 (*.f64 3 y)) (neg.f64 x)) |
(pow.f64 (*.f64 x (/.f64 1/3 y)) 1) |
(neg.f64 (/.f64 (*.f64 x -1/3) y)) |
(neg.f64 (/.f64 x (*.f64 3 (neg.f64 y)))) |
(neg.f64 (/.f64 x (neg.f64 (*.f64 3 y)))) |
| Outputs |
|---|
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(+.f64 (*.f64 x (/.f64 1/3 y)) 0) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(+.f64 0 (*.f64 x (/.f64 1/3 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(+.f64 -1 (-.f64 1 (/.f64 (*.f64 x -1/3) y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(+.f64 -1 (-.f64 1 (/.f64 x (*.f64 3 (neg.f64 y))))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(+.f64 -1 (-.f64 1 (/.f64 x (neg.f64 (*.f64 3 y))))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(+.f64 (*.f64 (*.f64 x 1/3) (/.f64 1/2 y)) (*.f64 (*.f64 x 1/3) (/.f64 1/2 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(+.f64 (*.f64 x (/.f64 1/6 y)) (*.f64 x (/.f64 1/6 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(+.f64 (/.f64 (*.f64 (/.f64 x y) 2/3) 4) (/.f64 (*.f64 (/.f64 x y) 2/3) 4)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(-.f64 (*.f64 x (/.f64 1/3 y)) 0) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(-.f64 0 (/.f64 (*.f64 x -1/3) y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(-.f64 0 (/.f64 x (*.f64 3 (neg.f64 y)))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(-.f64 0 (/.f64 x (neg.f64 (*.f64 3 y)))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (*.f64 2/3 (/.f64 1/2 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 3 (*.f64 (*.f64 x 2/3) (/.f64 1/6 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x 1/3) (/.f64 1 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x (/.f64 1/3 y)) 1) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1 (*.f64 x (/.f64 1/3 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (+.f64 x x) (/.f64 1/6 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (+.f64 x x) (*.f64 1/3 (/.f64 1/2 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (+.f64 x x) (*.f64 (/.f64 1/3 y) 1/2)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (+.f64 x x) (*.f64 (/.f64 1 y) 1/6)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 6 (*.f64 (*.f64 x 1/3) (/.f64 1/6 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x 2/3) (/.f64 1/2 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x 2/3) (*.f64 (/.f64 1 y) 1/2)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x 2/3) (*.f64 3 (/.f64 1/6 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (*.f64 (*.f64 x 1/3) (/.f64 1/2 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (*.f64 x (/.f64 1/6 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (/.f64 (*.f64 (/.f64 x y) 2/3) 4)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (*.f64 (*.f64 1/3 (/.f64 1/2 y)) x)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (*.f64 (*.f64 (/.f64 1/3 y) 1/2) x)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (*.f64 (*.f64 (/.f64 1 y) 1/6) x)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (*.f64 (*.f64 (/.f64 1 y) 1/2) (*.f64 x 1/3))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (*.f64 (/.f64 1 (*.f64 y 12)) (+.f64 x x))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (*.f64 (/.f64 1 (*.f64 y 4)) (*.f64 x 2/3))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (*.f64 (/.f64 x 6) (/.f64 1 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 y 12))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x 4) (*.f64 1/2 (/.f64 1/6 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x 4) (*.f64 1/6 (/.f64 1/2 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 (/.f64 x y) 2/3) 1/2) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x 4/3) (/.f64 1 (*.f64 y 4))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x 4/3) (*.f64 1/2 (/.f64 1/2 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x 4/3) (*.f64 3/2 (/.f64 1/6 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x (/.f64 2 y)) 1/6) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 1 y) (*.f64 x 1/3)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x -1/3) (/.f64 -1 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (neg.f64 x) (/.f64 1 (*.f64 3 (neg.f64 y)))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (neg.f64 x) (/.f64 -1 (*.f64 3 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 -1 (/.f64 (*.f64 x -1/3) y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 -1 (/.f64 x (*.f64 3 (neg.f64 y)))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 -1 (/.f64 x (neg.f64 (*.f64 3 y)))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 4 (*.f64 (/.f64 x 2) (/.f64 1/6 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 4 (*.f64 (+.f64 (*.f64 x 1/3) (/.f64 x 6)) (/.f64 1/6 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 4 (*.f64 (*.f64 3 (/.f64 (*.f64 x 1/3) 2)) (/.f64 1/6 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 4 (*.f64 (/.f64 x 6) (/.f64 1/2 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 4 (*.f64 (/.f64 (*.f64 x 1/3) 2) (/.f64 1/2 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 (+.f64 x x) 4) (*.f64 1/4 (/.f64 1/6 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 (+.f64 x x) 4) (*.f64 1/12 (/.f64 1/2 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 (*.f64 x 2/3) 4) (*.f64 1/4 (/.f64 1/2 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2/3 (/.f64 x (+.f64 y y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2/3 (*.f64 (*.f64 x 3) (/.f64 1/6 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/2 (*.f64 (/.f64 x y) 2/3)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 1/2 y) (*.f64 x 2/3)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/6 (*.f64 x (/.f64 2 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 2 y) (/.f64 x 6)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 2 y) (*.f64 1/6 x)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 2 y) (*.f64 1/2 (*.f64 x 1/3))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 1/6 y) (+.f64 x x)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x -2) (*.f64 -1 (/.f64 1/6 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 (neg.f64 x) 2/3) (*.f64 -1 (/.f64 1/2 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 -2 (*.f64 (neg.f64 x) (/.f64 1/6 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 -2 (*.f64 (*.f64 x -1/3) (/.f64 1/2 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 2 (/.f64 1/3 y)) (*.f64 1/2 x)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 1/3 (/.f64 1/2 y)) (+.f64 x x)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 (/.f64 1/3 y) 1/2) (+.f64 x x)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 (/.f64 1 y) 1/6) (+.f64 x x)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 (/.f64 1 y) 1/2) (*.f64 x 2/3)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 4/3 (*.f64 (+.f64 x (/.f64 x 2)) (/.f64 1/6 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 4/3 (*.f64 (/.f64 x 2) (/.f64 1/2 y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 (*.f64 x -1/3) y) -1) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 x (*.f64 3 (neg.f64 y))) -1) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 x (neg.f64 (*.f64 3 y))) -1) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 x (+.f64 y y)) 2/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 (*.f64 x 1/3) (/.f64 1/2 y)) 2) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 x 6) (/.f64 2 y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 1 (*.f64 y 4)) (*.f64 x 4/3)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 -1 y) (*.f64 x -1/3)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x (/.f64 1/6 y)) 2) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 1 (*.f64 y 12)) (*.f64 x 4)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 (*.f64 (/.f64 x y) 2/3) 4) 2) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 1 (*.f64 3 (neg.f64 y))) (neg.f64 x)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 -1 (*.f64 3 y)) (neg.f64 x)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(pow.f64 (*.f64 x (/.f64 1/3 y)) 1) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(neg.f64 (/.f64 (*.f64 x -1/3) y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(neg.f64 (/.f64 x (*.f64 3 (neg.f64 y)))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(neg.f64 (/.f64 x (neg.f64 (*.f64 3 y)))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (*.f64 6 (/.f64 y x)) |
| ✓ | 0.5b | (/.f64 2 (*.f64 6 (/.f64 y x))) |
Compiled 21 to 11 computations (47.6% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | inf | (*.f64 6 (/.f64 y x)) |
| 0.0ms | y | @ | 0 | (*.f64 6 (/.f64 y x)) |
| 0.0ms | x | @ | 0 | (*.f64 6 (/.f64 y x)) |
| 0.0ms | y | @ | -inf | (*.f64 6 (/.f64 y x)) |
| 0.0ms | y | @ | inf | (*.f64 6 (/.f64 y x)) |
| 1× | batch-egg-rewrite |
| 1336× | rational.json-1 |
| 1336× | rational.json-2 |
| 1336× | rational.json-4 |
| 1336× | rational.json-3 |
| 1318× | exponential.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 26 |
| 1 | 67 | 26 |
| 2 | 191 | 26 |
| 3 | 579 | 26 |
| 4 | 1921 | 26 |
| 5 | 4833 | 26 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 2 (*.f64 6 (/.f64 y x))) |
(*.f64 6 (/.f64 y x)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 (/.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/3 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (/.f64 x y) 6) (/.f64 (/.f64 x y) 6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 2 (*.f64 (/.f64 y x) 12)) (/.f64 2 (*.f64 (/.f64 y x) 12)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 x (*.f64 6 y)) (/.f64 x (*.f64 6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 1/3 (/.f64 x y)) 2) (/.f64 (*.f64 1/3 (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/3 (/.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (/.f64 x y) 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 2 (*.f64 (/.f64 y x) 12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 x (*.f64 6 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 1/3 (/.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 x (/.f64 2 (*.f64 y 12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 1/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/3 (/.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 1/3 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (/.f64 2 (*.f64 y 12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2/3 (/.f64 x y)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (/.f64 1 (*.f64 y 12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 x y)) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 1 (/.f64 y -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x y) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/3 y) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2 (*.f64 y 12)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2/3 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (/.f64 x 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/6 (*.f64 2 (/.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 3) (/.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (*.f64 6 y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 1/3 (/.f64 x y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y 12)) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 y -1/3)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 2 (*.f64 y 12))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/3 (/.f64 x y)) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 6 (/.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 6 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (/.f64 y x)) (*.f64 (/.f64 y x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (/.f64 y x)) (/.f64 (*.f64 y 4) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 y x) 3) (*.f64 (/.f64 y x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (neg.f64 (*.f64 6 (/.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 y x) 4) (*.f64 2 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 y 4) x) (*.f64 2 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 6 (/.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 6 (/.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 6 (/.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 y x) 12) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2/3 (/.f64 x y)) (*.f64 (*.f64 1/3 (/.f64 x y)) (*.f64 1/3 (/.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 y x) 24) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 y x)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 x y)) (*.f64 1/3 (*.f64 x (/.f64 (/.f64 x y) y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 6 (/.f64 y x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 6 y) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 12) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2/3 (/.f64 x y))) (*.f64 2 (*.f64 (*.f64 1/3 (/.f64 x y)) (*.f64 1/3 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (*.f64 (/.f64 y x) 12)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 y x) 4) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (/.f64 x y)) (*.f64 2 (*.f64 1/3 (*.f64 x (/.f64 (/.f64 x y) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (*.f64 (/.f64 y x) 12))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (/.f64 y x) 4)) 4/3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (/.f64 x y)) 1/3) (*.f64 x (/.f64 (/.f64 x y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 6 y)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 y 12)) (neg.f64 (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (/.f64 x y))) (-.f64 0 (*.f64 1/3 (*.f64 x (/.f64 (/.f64 x y) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (/.f64 (*.f64 2 (/.f64 x y)) 1/3)) (*.f64 2 (*.f64 x (/.f64 (/.f64 x y) y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 2 (/.f64 x y)) 1/3)) (neg.f64 (*.f64 x (/.f64 (/.f64 x y) y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2/3 (/.f64 x y))) (-.f64 0 (*.f64 (*.f64 1/3 (/.f64 x y)) (*.f64 1/3 (/.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 6 y))) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (/.f64 (*.f64 2 (/.f64 x y)) 1/3))) (-.f64 0 (*.f64 2 (*.f64 x (/.f64 (/.f64 x y) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (/.f64 (*.f64 2 (/.f64 x y)) 1/3))) (*.f64 x (/.f64 (/.f64 x y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 6 (/.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 6 (/.f64 y x)))))))) |
| 1× | egg-herbie |
| 1572× | rational.json-simplify-51 |
| 888× | rational.json-simplify-49 |
| 806× | rational.json-simplify-35 |
| 748× | rational.json-simplify-46 |
| 736× | rational.json-simplify-53 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 151 | 1813 |
| 1 | 419 | 1699 |
| 2 | 1153 | 1633 |
| 3 | 4686 | 1633 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 (*.f64 1/3 (/.f64 x y)) 0) |
(+.f64 0 (*.f64 1/3 (/.f64 x y))) |
(+.f64 (/.f64 (/.f64 x y) 6) (/.f64 (/.f64 x y) 6)) |
(+.f64 (/.f64 2 (*.f64 (/.f64 y x) 12)) (/.f64 2 (*.f64 (/.f64 y x) 12))) |
(+.f64 (/.f64 x (*.f64 6 y)) (/.f64 x (*.f64 6 y))) |
(+.f64 (/.f64 (*.f64 1/3 (/.f64 x y)) 2) (/.f64 (*.f64 1/3 (/.f64 x y)) 2)) |
(-.f64 (*.f64 1/3 (/.f64 x y)) 0) |
(*.f64 2 (/.f64 (/.f64 x y) 6)) |
(*.f64 2 (/.f64 2 (*.f64 (/.f64 y x) 12))) |
(*.f64 2 (/.f64 x (*.f64 6 y))) |
(*.f64 2 (/.f64 (*.f64 1/3 (/.f64 x y)) 2)) |
(*.f64 2 (*.f64 x (/.f64 2 (*.f64 y 12)))) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 1/3 (/.f64 x y)) 1) |
(*.f64 1 (*.f64 1/3 (/.f64 x y))) |
(*.f64 (+.f64 x x) (/.f64 2 (*.f64 y 12))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (*.f64 2/3 (/.f64 x y)) 1/2) |
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 y 12))) |
(*.f64 (*.f64 2 (/.f64 x y)) 1/6) |
(*.f64 (neg.f64 x) (/.f64 1 (/.f64 y -1/3))) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 (/.f64 2 (*.f64 y 12)) (+.f64 x x)) |
(*.f64 1/2 (*.f64 2/3 (/.f64 x y))) |
(*.f64 (/.f64 1 y) (/.f64 x 3)) |
(*.f64 1/6 (*.f64 2 (/.f64 x y))) |
(*.f64 (/.f64 x 3) (/.f64 1 y)) |
(*.f64 (/.f64 x (*.f64 6 y)) 2) |
(*.f64 (/.f64 (*.f64 1/3 (/.f64 x y)) 2) 2) |
(*.f64 (/.f64 1 (*.f64 y 12)) (*.f64 x 4)) |
(*.f64 (/.f64 1 (/.f64 y -1/3)) (neg.f64 x)) |
(*.f64 (*.f64 x (/.f64 2 (*.f64 y 12))) 2) |
(pow.f64 (*.f64 1/3 (/.f64 x y)) 1) |
(+.f64 (*.f64 6 (/.f64 y x)) 0) |
(+.f64 0 (*.f64 6 (/.f64 y x))) |
(+.f64 (*.f64 2 (/.f64 y x)) (*.f64 (/.f64 y x) 4)) |
(+.f64 (*.f64 2 (/.f64 y x)) (/.f64 (*.f64 y 4) x)) |
(+.f64 (*.f64 (/.f64 y x) 3) (*.f64 (/.f64 y x) 3)) |
(+.f64 -1 (-.f64 1 (neg.f64 (*.f64 6 (/.f64 y x))))) |
(+.f64 (*.f64 (/.f64 y x) 4) (*.f64 2 (/.f64 y x))) |
(+.f64 (/.f64 (*.f64 y 4) x) (*.f64 2 (/.f64 y x))) |
(-.f64 (*.f64 6 (/.f64 y x)) 0) |
(-.f64 0 (neg.f64 (*.f64 6 (/.f64 y x)))) |
(/.f64 (*.f64 6 (/.f64 y x)) 1) |
(/.f64 (*.f64 (/.f64 y x) 12) 2) |
(/.f64 (*.f64 2/3 (/.f64 x y)) (*.f64 (*.f64 1/3 (/.f64 x y)) (*.f64 1/3 (/.f64 x y)))) |
(/.f64 (*.f64 (/.f64 y x) 24) 4) |
(/.f64 (*.f64 2 (/.f64 y x)) 1/3) |
(/.f64 (*.f64 2 (/.f64 x y)) (*.f64 1/3 (*.f64 x (/.f64 (/.f64 x y) y)))) |
(/.f64 (neg.f64 (*.f64 6 (/.f64 y x))) -1) |
(/.f64 (*.f64 6 y) x) |
(/.f64 (*.f64 y 12) (+.f64 x x)) |
(/.f64 (*.f64 2 (*.f64 2/3 (/.f64 x y))) (*.f64 2 (*.f64 (*.f64 1/3 (/.f64 x y)) (*.f64 1/3 (/.f64 x y))))) |
(/.f64 (*.f64 4 (*.f64 (/.f64 y x) 12)) 8) |
(/.f64 (*.f64 (/.f64 y x) 4) 2/3) |
(/.f64 (*.f64 4 (/.f64 x y)) (*.f64 2 (*.f64 1/3 (*.f64 x (/.f64 (/.f64 x y) y))))) |
(/.f64 (*.f64 2 (*.f64 4 (*.f64 (/.f64 y x) 12))) 16) |
(/.f64 (*.f64 2 (*.f64 (/.f64 y x) 4)) 4/3) |
(/.f64 (/.f64 (*.f64 2 (/.f64 x y)) 1/3) (*.f64 x (/.f64 (/.f64 x y) y))) |
(/.f64 (neg.f64 (*.f64 6 y)) (neg.f64 x)) |
(/.f64 (neg.f64 (*.f64 y 12)) (neg.f64 (+.f64 x x))) |
(/.f64 (neg.f64 (*.f64 2 (/.f64 x y))) (-.f64 0 (*.f64 1/3 (*.f64 x (/.f64 (/.f64 x y) y))))) |
(/.f64 (*.f64 2 (/.f64 (*.f64 2 (/.f64 x y)) 1/3)) (*.f64 2 (*.f64 x (/.f64 (/.f64 x y) y)))) |
(/.f64 (neg.f64 (/.f64 (*.f64 2 (/.f64 x y)) 1/3)) (neg.f64 (*.f64 x (/.f64 (/.f64 x y) y)))) |
(/.f64 (neg.f64 (*.f64 2/3 (/.f64 x y))) (-.f64 0 (*.f64 (*.f64 1/3 (/.f64 x y)) (*.f64 1/3 (/.f64 x y))))) |
(/.f64 (neg.f64 (neg.f64 (*.f64 6 y))) x) |
(/.f64 (neg.f64 (*.f64 2 (/.f64 (*.f64 2 (/.f64 x y)) 1/3))) (-.f64 0 (*.f64 2 (*.f64 x (/.f64 (/.f64 x y) y))))) |
(/.f64 (neg.f64 (neg.f64 (/.f64 (*.f64 2 (/.f64 x y)) 1/3))) (*.f64 x (/.f64 (/.f64 x y) y))) |
(pow.f64 (*.f64 6 (/.f64 y x)) 1) |
(neg.f64 (neg.f64 (*.f64 6 (/.f64 y x)))) |
| Outputs |
|---|
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 (*.f64 1/3 (/.f64 x y)) 0) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 0 (*.f64 1/3 (/.f64 x y))) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 (/.f64 (/.f64 x y) 6) (/.f64 (/.f64 x y) 6)) |
(+.f64 (/.f64 x (*.f64 y 6)) (/.f64 x (*.f64 y 6))) |
(+.f64 (/.f64 x (/.f64 y 1/6)) (/.f64 x (/.f64 y 1/6))) |
(+.f64 (/.f64 2 (*.f64 (/.f64 y x) 12)) (/.f64 2 (*.f64 (/.f64 y x) 12))) |
(+.f64 (/.f64 x (*.f64 y 6)) (/.f64 x (*.f64 y 6))) |
(+.f64 (/.f64 x (/.f64 y 1/6)) (/.f64 x (/.f64 y 1/6))) |
(+.f64 (/.f64 x (*.f64 6 y)) (/.f64 x (*.f64 6 y))) |
(+.f64 (/.f64 x (*.f64 y 6)) (/.f64 x (*.f64 y 6))) |
(+.f64 (/.f64 x (/.f64 y 1/6)) (/.f64 x (/.f64 y 1/6))) |
(+.f64 (/.f64 (*.f64 1/3 (/.f64 x y)) 2) (/.f64 (*.f64 1/3 (/.f64 x y)) 2)) |
(*.f64 1/3 (/.f64 x y)) |
(-.f64 (*.f64 1/3 (/.f64 x y)) 0) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 2 (/.f64 (/.f64 x y) 6)) |
(*.f64 2 (/.f64 x (*.f64 y 6))) |
(*.f64 2 (/.f64 x (/.f64 y 1/6))) |
(*.f64 2 (/.f64 2 (*.f64 (/.f64 y x) 12))) |
(*.f64 2 (/.f64 x (*.f64 y 6))) |
(*.f64 2 (/.f64 x (/.f64 y 1/6))) |
(*.f64 2 (/.f64 x (*.f64 6 y))) |
(*.f64 2 (/.f64 x (*.f64 y 6))) |
(*.f64 2 (/.f64 x (/.f64 y 1/6))) |
(*.f64 2 (/.f64 (*.f64 1/3 (/.f64 x y)) 2)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 2 (*.f64 x (/.f64 2 (*.f64 y 12)))) |
(*.f64 x (*.f64 (/.f64 2 (*.f64 y 12)) 2)) |
(*.f64 x (*.f64 2 (/.f64 1/6 y))) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 1/3 (/.f64 x y)) 1) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1 (*.f64 1/3 (/.f64 x y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (+.f64 x x) (/.f64 2 (*.f64 y 12))) |
(*.f64 (/.f64 2 (*.f64 y 12)) (+.f64 x x)) |
(*.f64 (/.f64 1/6 y) (+.f64 x x)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (*.f64 2/3 (/.f64 x y)) 1/2) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 y 12))) |
(*.f64 x (*.f64 4 (/.f64 1/12 y))) |
(*.f64 4 (*.f64 x (/.f64 1/12 y))) |
(*.f64 (*.f64 2 (/.f64 x y)) 1/6) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (neg.f64 x) (/.f64 1 (/.f64 y -1/3))) |
(*.f64 (neg.f64 x) (/.f64 -1/3 y)) |
(*.f64 x (neg.f64 (/.f64 -1/3 y))) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 2 (*.f64 y 12)) (+.f64 x x)) |
(*.f64 (/.f64 1/6 y) (+.f64 x x)) |
(*.f64 1/2 (*.f64 2/3 (/.f64 x y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1 y) (/.f64 x 3)) |
(*.f64 1/6 (*.f64 2 (/.f64 x y))) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 x 3) (/.f64 1 y)) |
(*.f64 (/.f64 1 y) (/.f64 x 3)) |
(*.f64 (/.f64 x (*.f64 6 y)) 2) |
(*.f64 2 (/.f64 x (*.f64 y 6))) |
(*.f64 2 (/.f64 x (/.f64 y 1/6))) |
(*.f64 (/.f64 (*.f64 1/3 (/.f64 x y)) 2) 2) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (/.f64 1 (*.f64 y 12)) (*.f64 x 4)) |
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 y 12))) |
(*.f64 x (*.f64 4 (/.f64 1/12 y))) |
(*.f64 4 (*.f64 x (/.f64 1/12 y))) |
(*.f64 (/.f64 1 (/.f64 y -1/3)) (neg.f64 x)) |
(*.f64 (neg.f64 x) (/.f64 1 (/.f64 y -1/3))) |
(*.f64 (neg.f64 x) (/.f64 -1/3 y)) |
(*.f64 x (neg.f64 (/.f64 -1/3 y))) |
(*.f64 (*.f64 x (/.f64 2 (*.f64 y 12))) 2) |
(*.f64 x (*.f64 (/.f64 2 (*.f64 y 12)) 2)) |
(*.f64 x (*.f64 2 (/.f64 1/6 y))) |
(pow.f64 (*.f64 1/3 (/.f64 x y)) 1) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 (*.f64 6 (/.f64 y x)) 0) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(+.f64 0 (*.f64 6 (/.f64 y x))) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(+.f64 (*.f64 2 (/.f64 y x)) (*.f64 (/.f64 y x) 4)) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(+.f64 (*.f64 2 (/.f64 y x)) (/.f64 (*.f64 y 4) x)) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(+.f64 (*.f64 (/.f64 y x) 3) (*.f64 (/.f64 y x) 3)) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(+.f64 -1 (-.f64 1 (neg.f64 (*.f64 6 (/.f64 y x))))) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(+.f64 (*.f64 (/.f64 y x) 4) (*.f64 2 (/.f64 y x))) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(+.f64 (/.f64 (*.f64 y 4) x) (*.f64 2 (/.f64 y x))) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(-.f64 (*.f64 6 (/.f64 y x)) 0) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(-.f64 0 (neg.f64 (*.f64 6 (/.f64 y x)))) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(/.f64 (*.f64 6 (/.f64 y x)) 1) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(/.f64 (*.f64 (/.f64 y x) 12) 2) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(/.f64 (*.f64 2/3 (/.f64 x y)) (*.f64 (*.f64 1/3 (/.f64 x y)) (*.f64 1/3 (/.f64 x y)))) |
(/.f64 (*.f64 (/.f64 x y) 2/3) (*.f64 (*.f64 1/3 (/.f64 x y)) (*.f64 1/3 (/.f64 x y)))) |
(*.f64 (/.f64 x y) (/.f64 2 (*.f64 (/.f64 x y) (*.f64 1/3 (/.f64 x y))))) |
(*.f64 6 (/.f64 x (*.f64 y (*.f64 x (/.f64 x (*.f64 y y)))))) |
(/.f64 (/.f64 (*.f64 (/.f64 x y) 6) (/.f64 x y)) (/.f64 x y)) |
(/.f64 (*.f64 (/.f64 y x) 24) 4) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(/.f64 (*.f64 2 (/.f64 y x)) 1/3) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(/.f64 (*.f64 2 (/.f64 x y)) (*.f64 1/3 (*.f64 x (/.f64 (/.f64 x y) y)))) |
(/.f64 (*.f64 (/.f64 x y) 2/3) (*.f64 (*.f64 1/3 (/.f64 x y)) (*.f64 1/3 (/.f64 x y)))) |
(*.f64 (/.f64 x y) (/.f64 2 (*.f64 (/.f64 x y) (*.f64 1/3 (/.f64 x y))))) |
(*.f64 6 (/.f64 x (*.f64 y (*.f64 x (/.f64 x (*.f64 y y)))))) |
(/.f64 (/.f64 (*.f64 (/.f64 x y) 6) (/.f64 x y)) (/.f64 x y)) |
(/.f64 (neg.f64 (*.f64 6 (/.f64 y x))) -1) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(/.f64 (*.f64 6 y) x) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(/.f64 (*.f64 y 12) (+.f64 x x)) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(/.f64 (*.f64 2 (*.f64 2/3 (/.f64 x y))) (*.f64 2 (*.f64 (*.f64 1/3 (/.f64 x y)) (*.f64 1/3 (/.f64 x y))))) |
(/.f64 (*.f64 (/.f64 x y) 2/3) (*.f64 (*.f64 1/3 (/.f64 x y)) (*.f64 1/3 (/.f64 x y)))) |
(*.f64 (/.f64 x y) (/.f64 2 (*.f64 (/.f64 x y) (*.f64 1/3 (/.f64 x y))))) |
(*.f64 6 (/.f64 x (*.f64 y (*.f64 x (/.f64 x (*.f64 y y)))))) |
(/.f64 (/.f64 (*.f64 (/.f64 x y) 6) (/.f64 x y)) (/.f64 x y)) |
(/.f64 (*.f64 4 (*.f64 (/.f64 y x) 12)) 8) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(/.f64 (*.f64 (/.f64 y x) 4) 2/3) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(/.f64 (*.f64 4 (/.f64 x y)) (*.f64 2 (*.f64 1/3 (*.f64 x (/.f64 (/.f64 x y) y))))) |
(/.f64 (*.f64 (/.f64 x y) 2/3) (*.f64 (*.f64 1/3 (/.f64 x y)) (*.f64 1/3 (/.f64 x y)))) |
(*.f64 (/.f64 x y) (/.f64 2 (*.f64 (/.f64 x y) (*.f64 1/3 (/.f64 x y))))) |
(*.f64 6 (/.f64 x (*.f64 y (*.f64 x (/.f64 x (*.f64 y y)))))) |
(/.f64 (/.f64 (*.f64 (/.f64 x y) 6) (/.f64 x y)) (/.f64 x y)) |
(/.f64 (*.f64 2 (*.f64 4 (*.f64 (/.f64 y x) 12))) 16) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(/.f64 (*.f64 2 (*.f64 (/.f64 y x) 4)) 4/3) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(/.f64 (/.f64 (*.f64 2 (/.f64 x y)) 1/3) (*.f64 x (/.f64 (/.f64 x y) y))) |
(/.f64 (*.f64 (/.f64 x y) 2/3) (*.f64 (*.f64 1/3 (/.f64 x y)) (*.f64 1/3 (/.f64 x y)))) |
(*.f64 (/.f64 x y) (/.f64 2 (*.f64 (/.f64 x y) (*.f64 1/3 (/.f64 x y))))) |
(*.f64 6 (/.f64 x (*.f64 y (*.f64 x (/.f64 x (*.f64 y y)))))) |
(/.f64 (/.f64 (*.f64 (/.f64 x y) 6) (/.f64 x y)) (/.f64 x y)) |
(/.f64 (neg.f64 (*.f64 6 y)) (neg.f64 x)) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(/.f64 (neg.f64 (*.f64 y 12)) (neg.f64 (+.f64 x x))) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(/.f64 (neg.f64 (*.f64 2 (/.f64 x y))) (-.f64 0 (*.f64 1/3 (*.f64 x (/.f64 (/.f64 x y) y))))) |
(/.f64 (*.f64 (/.f64 x y) 2/3) (*.f64 (*.f64 1/3 (/.f64 x y)) (*.f64 1/3 (/.f64 x y)))) |
(*.f64 (/.f64 x y) (/.f64 2 (*.f64 (/.f64 x y) (*.f64 1/3 (/.f64 x y))))) |
(*.f64 6 (/.f64 x (*.f64 y (*.f64 x (/.f64 x (*.f64 y y)))))) |
(/.f64 (/.f64 (*.f64 (/.f64 x y) 6) (/.f64 x y)) (/.f64 x y)) |
(/.f64 (*.f64 2 (/.f64 (*.f64 2 (/.f64 x y)) 1/3)) (*.f64 2 (*.f64 x (/.f64 (/.f64 x y) y)))) |
(/.f64 (*.f64 (/.f64 x y) 2/3) (*.f64 (*.f64 1/3 (/.f64 x y)) (*.f64 1/3 (/.f64 x y)))) |
(*.f64 (/.f64 x y) (/.f64 2 (*.f64 (/.f64 x y) (*.f64 1/3 (/.f64 x y))))) |
(*.f64 6 (/.f64 x (*.f64 y (*.f64 x (/.f64 x (*.f64 y y)))))) |
(/.f64 (/.f64 (*.f64 (/.f64 x y) 6) (/.f64 x y)) (/.f64 x y)) |
(/.f64 (neg.f64 (/.f64 (*.f64 2 (/.f64 x y)) 1/3)) (neg.f64 (*.f64 x (/.f64 (/.f64 x y) y)))) |
(/.f64 (*.f64 (/.f64 x y) 2/3) (*.f64 (*.f64 1/3 (/.f64 x y)) (*.f64 1/3 (/.f64 x y)))) |
(*.f64 (/.f64 x y) (/.f64 2 (*.f64 (/.f64 x y) (*.f64 1/3 (/.f64 x y))))) |
(*.f64 6 (/.f64 x (*.f64 y (*.f64 x (/.f64 x (*.f64 y y)))))) |
(/.f64 (/.f64 (*.f64 (/.f64 x y) 6) (/.f64 x y)) (/.f64 x y)) |
(/.f64 (neg.f64 (*.f64 2/3 (/.f64 x y))) (-.f64 0 (*.f64 (*.f64 1/3 (/.f64 x y)) (*.f64 1/3 (/.f64 x y))))) |
(/.f64 (*.f64 (/.f64 x y) 2/3) (*.f64 (*.f64 1/3 (/.f64 x y)) (*.f64 1/3 (/.f64 x y)))) |
(*.f64 (/.f64 x y) (/.f64 2 (*.f64 (/.f64 x y) (*.f64 1/3 (/.f64 x y))))) |
(*.f64 6 (/.f64 x (*.f64 y (*.f64 x (/.f64 x (*.f64 y y)))))) |
(/.f64 (/.f64 (*.f64 (/.f64 x y) 6) (/.f64 x y)) (/.f64 x y)) |
(/.f64 (neg.f64 (neg.f64 (*.f64 6 y))) x) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(/.f64 (neg.f64 (*.f64 2 (/.f64 (*.f64 2 (/.f64 x y)) 1/3))) (-.f64 0 (*.f64 2 (*.f64 x (/.f64 (/.f64 x y) y))))) |
(/.f64 (*.f64 (/.f64 x y) 2/3) (*.f64 (*.f64 1/3 (/.f64 x y)) (*.f64 1/3 (/.f64 x y)))) |
(*.f64 (/.f64 x y) (/.f64 2 (*.f64 (/.f64 x y) (*.f64 1/3 (/.f64 x y))))) |
(*.f64 6 (/.f64 x (*.f64 y (*.f64 x (/.f64 x (*.f64 y y)))))) |
(/.f64 (/.f64 (*.f64 (/.f64 x y) 6) (/.f64 x y)) (/.f64 x y)) |
(/.f64 (neg.f64 (neg.f64 (/.f64 (*.f64 2 (/.f64 x y)) 1/3))) (*.f64 x (/.f64 (/.f64 x y) y))) |
(/.f64 (*.f64 (/.f64 x y) 2/3) (*.f64 (*.f64 1/3 (/.f64 x y)) (*.f64 1/3 (/.f64 x y)))) |
(*.f64 (/.f64 x y) (/.f64 2 (*.f64 (/.f64 x y) (*.f64 1/3 (/.f64 x y))))) |
(*.f64 6 (/.f64 x (*.f64 y (*.f64 x (/.f64 x (*.f64 y y)))))) |
(/.f64 (/.f64 (*.f64 (/.f64 x y) 6) (/.f64 x y)) (/.f64 x y)) |
(pow.f64 (*.f64 6 (/.f64 y x)) 1) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
(neg.f64 (neg.f64 (*.f64 6 (/.f64 y x)))) |
(*.f64 6 (/.f64 y x)) |
(*.f64 y (/.f64 6 x)) |
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (/.f64 x (*.f64 (*.f64 y 9) (/.f64 y (*.f64 y 3)))) |
| ✓ | 0.3b | (*.f64 (*.f64 y 9) (/.f64 y (*.f64 y 3))) |
| ✓ | 0.3b | (/.f64 y (*.f64 y 3)) |
Compiled 37 to 24 computations (35.1% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | inf | (*.f64 (*.f64 y 9) (/.f64 y (*.f64 y 3))) |
| 0.0ms | y | @ | -inf | (*.f64 (*.f64 y 9) (/.f64 y (*.f64 y 3))) |
| 0.0ms | y | @ | 0 | (*.f64 (*.f64 y 9) (/.f64 y (*.f64 y 3))) |
| 0.0ms | x | @ | -inf | (/.f64 x (*.f64 (*.f64 y 9) (/.f64 y (*.f64 y 3)))) |
| 0.0ms | y | @ | 0 | (/.f64 y (*.f64 y 3)) |
| 1× | batch-egg-rewrite |
| 1960× | rational.json-1 |
| 1960× | rational.json-2 |
| 1960× | rational.json-4 |
| 1960× | rational.json-3 |
| 834× | rational.json-simplify-61 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 69 |
| 1 | 81 | 69 |
| 2 | 247 | 21 |
| 3 | 1085 | 21 |
| 4 | 5022 | 21 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 y (*.f64 y 3)) |
(*.f64 (*.f64 y 9) (/.f64 y (*.f64 y 3))) |
(/.f64 x (*.f64 (*.f64 y 9) (/.f64 y (*.f64 y 3)))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x . 1/3))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 y (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 y y) y)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 9) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 18) 6)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y 12) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y 9) 4) 12)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y 12)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y 18) 3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 y 9) 4) 3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y 3) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (/.f64 1/3 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (/.f64 1/3 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 (/.f64 x y) (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 (/.f64 (/.f64 x y) (*.f64 y 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 x (/.f64 1/9 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 3) (*.f64 x (/.f64 (/.f64 1/9 y) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 3) (*.f64 (*.f64 x (/.f64 (/.f64 1/9 y) y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (/.f64 (*.f64 y 9) (*.f64 y (*.f64 y (/.f64 9 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (/.f64 (*.f64 y 18) (*.f64 y (*.f64 18 (/.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 9 (/.f64 (*.f64 y 1/3) (*.f64 y (*.f64 y (/.f64 9 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 9) (/.f64 1/3 (*.f64 y (*.f64 y (/.f64 9 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 9) (/.f64 2/3 (*.f64 y (*.f64 18 (/.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 1/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 3 (/.f64 1/9 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 1/3 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 (*.f64 x (/.f64 1/9 y)) (*.f64 y 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 (/.f64 (*.f64 x (/.f64 1/9 y)) (*.f64 y 2/3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 6) (/.f64 (/.f64 x (*.f64 y 18)) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 6) (*.f64 (/.f64 (/.f64 x (*.f64 y 18)) y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (/.f64 1/6 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (/.f64 1 (*.f64 y 18)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (/.f64 1/6 y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 1/2 (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 1/9 y)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 x (*.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 y 3) (*.f64 y (*.f64 18 (/.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 x (/.f64 1/3 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 x y) 3/2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (/.f64 1 (*.f64 y 12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x 2/9) y) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2/3 (/.f64 (*.f64 y 9) (*.f64 y (*.f64 18 (/.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 18) (/.f64 1/3 (*.f64 y (*.f64 18 (/.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 12) (/.f64 1 (*.f64 2 (*.f64 y (*.f64 18 (/.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 12) (/.f64 1 (*.f64 (+.f64 y y) (*.f64 18 (/.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 6 (/.f64 x (*.f64 y 18)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 6 (*.f64 (/.f64 x (*.f64 y 18)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 3 x) (/.f64 1/9 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 1/3) (/.f64 9 (*.f64 y (*.f64 y (/.f64 9 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x y) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/9) (/.f64 3 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 y) (/.f64 x 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/3 y) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/9 y) (*.f64 3 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 1 (neg.f64 (*.f64 y 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 1 (*.f64 1/3 (neg.f64 (*.f64 y 9)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 x y) -9) -3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 y 3)) (/.f64 1 (/.f64 y (/.f64 (/.f64 x y) -9))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 x (neg.f64 (*.f64 y 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 x (*.f64 1/3 (neg.f64 (*.f64 y 9)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 x (/.f64 1/9 y)) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 2/3) (/.f64 9 (*.f64 y (*.f64 18 (/.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/9 (/.f64 3 (/.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 (/.f64 1/9 y) y)) (*.f64 y 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 x y) (*.f64 y 3)) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x (/.f64 1/9 y)) (*.f64 y 2/3)) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 1/2) (/.f64 6 (*.f64 y (*.f64 y (/.f64 9 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3/2 (/.f64 (+.f64 y y) (*.f64 y (*.f64 y (/.f64 9 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 (/.f64 x y) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 (+.f64 y y) (*.f64 y (*.f64 3 (/.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/6 (/.f64 (*.f64 y 18) (*.f64 y (*.f64 y (/.f64 9 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 9/2) (/.f64 2/3 (*.f64 y (*.f64 y (/.f64 9 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/6 y) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y 18)) (*.f64 x 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 x (*.f64 y 18)) y) (*.f64 y 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (*.f64 y 18)) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (/.f64 1/3 y)) 1))))) |
| 1× | egg-herbie |
| 1238× | rational.json-simplify-51 |
| 1166× | rational.json-simplify-49 |
| 1126× | rational.json-simplify-53 |
| 1122× | rational.json-simplify-46 |
| 1064× | rational.json-simplify-35 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 201 | 2206 |
| 1 | 539 | 2118 |
| 2 | 1422 | 1974 |
| 3 | 6114 | 1968 |
| 1× | node limit |
| Inputs |
|---|
1/3 |
1/3 |
1/3 |
1/3 |
1/3 |
1/3 |
1/3 |
1/3 |
1/3 |
1/3 |
1/3 |
1/3 |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
1/3 |
(+.f64 y (+.f64 y y)) |
(+.f64 (*.f64 y 3) 0) |
(+.f64 0 (*.f64 y 3)) |
(+.f64 (+.f64 y y) y) |
(-.f64 (*.f64 y 3) 0) |
(/.f64 (*.f64 y 3) 1) |
(/.f64 (*.f64 y 9) 3) |
(/.f64 (*.f64 y 6) 2) |
(/.f64 (*.f64 y 18) 6) |
(/.f64 (*.f64 y 12) 4) |
(/.f64 (*.f64 (*.f64 y 9) 4) 12) |
(/.f64 (*.f64 2 (*.f64 y 12)) 8) |
(/.f64 (/.f64 (*.f64 y 18) 3) 2) |
(/.f64 (/.f64 (*.f64 (*.f64 y 9) 4) 3) 4) |
(pow.f64 (*.f64 y 3) 1) |
(+.f64 (*.f64 x (/.f64 1/3 y)) 0) |
(+.f64 0 (*.f64 x (/.f64 1/3 y))) |
(-.f64 (*.f64 x (/.f64 1/3 y)) 0) |
(*.f64 y (/.f64 (/.f64 x y) (*.f64 y 3))) |
(*.f64 y (*.f64 (/.f64 (/.f64 x y) (*.f64 y 3)) 1)) |
(*.f64 3 (*.f64 x (/.f64 1/9 y))) |
(*.f64 (*.f64 y 3) (*.f64 x (/.f64 (/.f64 1/9 y) y))) |
(*.f64 (*.f64 y 3) (*.f64 (*.f64 x (/.f64 (/.f64 1/9 y) y)) 1)) |
(*.f64 1/3 (/.f64 (*.f64 y 9) (*.f64 y (*.f64 y (/.f64 9 x))))) |
(*.f64 1/3 (/.f64 (*.f64 y 18) (*.f64 y (*.f64 18 (/.f64 y x))))) |
(*.f64 9 (/.f64 (*.f64 y 1/3) (*.f64 y (*.f64 y (/.f64 9 x))))) |
(*.f64 (*.f64 y 9) (/.f64 1/3 (*.f64 y (*.f64 y (/.f64 9 x))))) |
(*.f64 (*.f64 y 9) (/.f64 2/3 (*.f64 y (*.f64 18 (/.f64 y x))))) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 x (*.f64 3 (/.f64 1/9 y))) |
(*.f64 (*.f64 x (/.f64 1/3 y)) 1) |
(*.f64 1 (*.f64 x (/.f64 1/3 y))) |
(*.f64 (+.f64 y y) (/.f64 (*.f64 x (/.f64 1/9 y)) (*.f64 y 2/3))) |
(*.f64 (+.f64 y y) (*.f64 (/.f64 (*.f64 x (/.f64 1/9 y)) (*.f64 y 2/3)) 1)) |
(*.f64 (*.f64 y 6) (/.f64 (/.f64 x (*.f64 y 18)) y)) |
(*.f64 (*.f64 y 6) (*.f64 (/.f64 (/.f64 x (*.f64 y 18)) y) 1)) |
(*.f64 (+.f64 x x) (/.f64 1/6 y)) |
(*.f64 (+.f64 x x) (*.f64 (/.f64 1 (*.f64 y 18)) 3)) |
(*.f64 (+.f64 x x) (*.f64 (/.f64 1/6 y) 1)) |
(*.f64 (+.f64 x x) (*.f64 1/2 (/.f64 1/3 y))) |
(*.f64 (*.f64 x (/.f64 1/9 y)) 3) |
(*.f64 2 (/.f64 x (*.f64 y 6))) |
(*.f64 2 (/.f64 (*.f64 y 3) (*.f64 y (*.f64 18 (/.f64 y x))))) |
(*.f64 2 (/.f64 (*.f64 x (/.f64 1/3 y)) 2)) |
(*.f64 (/.f64 (/.f64 x y) 3/2) 1/2) |
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 y 12))) |
(*.f64 (/.f64 (*.f64 x 2/9) y) 3/2) |
(*.f64 2/3 (/.f64 (*.f64 y 9) (*.f64 y (*.f64 18 (/.f64 y x))))) |
(*.f64 (*.f64 y 18) (/.f64 1/3 (*.f64 y (*.f64 18 (/.f64 y x))))) |
(*.f64 (*.f64 y 12) (/.f64 1 (*.f64 2 (*.f64 y (*.f64 18 (/.f64 y x)))))) |
(*.f64 (*.f64 y 12) (/.f64 1 (*.f64 (+.f64 y y) (*.f64 18 (/.f64 y x))))) |
(*.f64 6 (/.f64 x (*.f64 y 18))) |
(*.f64 6 (*.f64 (/.f64 x (*.f64 y 18)) 1)) |
(*.f64 (*.f64 3 x) (/.f64 1/9 y)) |
(*.f64 (*.f64 y 1/3) (/.f64 9 (*.f64 y (*.f64 y (/.f64 9 x))))) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 (*.f64 x 1/9) (/.f64 3 y)) |
(*.f64 (/.f64 1 y) (/.f64 x 3)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 (/.f64 1/9 y) (*.f64 3 x)) |
(*.f64 (neg.f64 x) (/.f64 1 (neg.f64 (*.f64 y 3)))) |
(*.f64 (neg.f64 x) (/.f64 1 (*.f64 1/3 (neg.f64 (*.f64 y 9))))) |
(*.f64 (/.f64 (/.f64 x y) -9) -3) |
(*.f64 (neg.f64 (*.f64 y 3)) (/.f64 1 (/.f64 y (/.f64 (/.f64 x y) -9)))) |
(*.f64 -1 (/.f64 x (neg.f64 (*.f64 y 3)))) |
(*.f64 -1 (/.f64 x (*.f64 1/3 (neg.f64 (*.f64 y 9))))) |
(*.f64 -1 (/.f64 (*.f64 x (/.f64 1/9 y)) -1/3)) |
(*.f64 (*.f64 y 2/3) (/.f64 9 (*.f64 y (*.f64 18 (/.f64 y x))))) |
(*.f64 1/9 (/.f64 3 (/.f64 y x))) |
(*.f64 (*.f64 x (/.f64 (/.f64 1/9 y) y)) (*.f64 y 3)) |
(*.f64 (/.f64 (/.f64 x y) (*.f64 y 3)) y) |
(*.f64 (/.f64 (*.f64 x (/.f64 1/9 y)) (*.f64 y 2/3)) (+.f64 y y)) |
(*.f64 (*.f64 y 1/2) (/.f64 6 (*.f64 y (*.f64 y (/.f64 9 x))))) |
(*.f64 3/2 (/.f64 (+.f64 y y) (*.f64 y (*.f64 y (/.f64 9 x))))) |
(*.f64 1/2 (/.f64 (/.f64 x y) 3/2)) |
(*.f64 1/2 (/.f64 (+.f64 y y) (*.f64 y (*.f64 3 (/.f64 y x))))) |
(*.f64 1/6 (/.f64 (*.f64 y 18) (*.f64 y (*.f64 y (/.f64 9 x))))) |
(*.f64 (*.f64 y 9/2) (/.f64 2/3 (*.f64 y (*.f64 y (/.f64 9 x))))) |
(*.f64 (/.f64 1/6 y) (+.f64 x x)) |
(*.f64 (/.f64 1 (*.f64 y 18)) (*.f64 x 6)) |
(*.f64 (/.f64 (/.f64 x (*.f64 y 18)) y) (*.f64 y 6)) |
(*.f64 (/.f64 x (*.f64 y 18)) 6) |
(pow.f64 (*.f64 x (/.f64 1/3 y)) 1) |
| Outputs |
|---|
1/3 |
1/3 |
1/3 |
1/3 |
1/3 |
1/3 |
1/3 |
1/3 |
1/3 |
1/3 |
1/3 |
1/3 |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
1/3 |
(+.f64 y (+.f64 y y)) |
(*.f64 3 y) |
(+.f64 (*.f64 y 3) 0) |
(*.f64 3 y) |
(+.f64 0 (*.f64 y 3)) |
(*.f64 3 y) |
(+.f64 (+.f64 y y) y) |
(*.f64 3 y) |
(-.f64 (*.f64 y 3) 0) |
(*.f64 3 y) |
(/.f64 (*.f64 y 3) 1) |
(*.f64 3 y) |
(/.f64 (*.f64 y 9) 3) |
(*.f64 3 y) |
(/.f64 (*.f64 y 6) 2) |
(*.f64 3 y) |
(/.f64 (*.f64 y 18) 6) |
(*.f64 3 y) |
(/.f64 (*.f64 y 12) 4) |
(*.f64 3 y) |
(/.f64 (*.f64 (*.f64 y 9) 4) 12) |
(*.f64 3 y) |
(/.f64 (*.f64 2 (*.f64 y 12)) 8) |
(*.f64 3 y) |
(/.f64 (/.f64 (*.f64 y 18) 3) 2) |
(*.f64 3 y) |
(/.f64 (/.f64 (*.f64 (*.f64 y 9) 4) 3) 4) |
(*.f64 3 y) |
(pow.f64 (*.f64 y 3) 1) |
(*.f64 3 y) |
(+.f64 (*.f64 x (/.f64 1/3 y)) 0) |
(*.f64 x (/.f64 1/3 y)) |
(+.f64 0 (*.f64 x (/.f64 1/3 y))) |
(*.f64 x (/.f64 1/3 y)) |
(-.f64 (*.f64 x (/.f64 1/3 y)) 0) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 y (/.f64 (/.f64 x y) (*.f64 y 3))) |
(*.f64 y (/.f64 x (*.f64 y (*.f64 3 y)))) |
(*.f64 y (/.f64 x (*.f64 3 (*.f64 y y)))) |
(*.f64 y (/.f64 (*.f64 x (/.f64 1/3 y)) y)) |
(*.f64 y (*.f64 (/.f64 (/.f64 x y) (*.f64 y 3)) 1)) |
(*.f64 y (/.f64 x (*.f64 y (*.f64 3 y)))) |
(*.f64 y (/.f64 x (*.f64 3 (*.f64 y y)))) |
(*.f64 y (/.f64 (*.f64 x (/.f64 1/3 y)) y)) |
(*.f64 3 (*.f64 x (/.f64 1/9 y))) |
(*.f64 (/.f64 1/9 y) (*.f64 3 x)) |
(*.f64 (*.f64 y 3) (*.f64 x (/.f64 (/.f64 1/9 y) y))) |
(*.f64 y (*.f64 3 (*.f64 x (/.f64 1/9 (*.f64 y y))))) |
(*.f64 3 (*.f64 (*.f64 (/.f64 1/9 y) (/.f64 x y)) y)) |
(*.f64 (*.f64 3 y) (*.f64 (/.f64 x y) (/.f64 1/9 y))) |
(*.f64 3 (*.f64 x (*.f64 y (/.f64 1/9 (*.f64 y y))))) |
(*.f64 (*.f64 y 3) (*.f64 (*.f64 x (/.f64 (/.f64 1/9 y) y)) 1)) |
(*.f64 y (*.f64 3 (*.f64 x (/.f64 1/9 (*.f64 y y))))) |
(*.f64 3 (*.f64 (*.f64 (/.f64 1/9 y) (/.f64 x y)) y)) |
(*.f64 (*.f64 3 y) (*.f64 (/.f64 x y) (/.f64 1/9 y))) |
(*.f64 3 (*.f64 x (*.f64 y (/.f64 1/9 (*.f64 y y))))) |
(*.f64 1/3 (/.f64 (*.f64 y 9) (*.f64 y (*.f64 y (/.f64 9 x))))) |
(*.f64 1/3 (*.f64 9 (/.f64 y (*.f64 y (*.f64 y (/.f64 9 x)))))) |
(*.f64 (*.f64 y 9) (/.f64 (/.f64 (/.f64 1/3 y) (/.f64 9 x)) y)) |
(*.f64 (/.f64 (/.f64 y y) (*.f64 y (/.f64 9 x))) 3) |
(*.f64 1/3 (/.f64 (*.f64 y 18) (*.f64 y (*.f64 18 (/.f64 y x))))) |
(*.f64 1/3 (*.f64 18 (/.f64 y (*.f64 y (*.f64 18 (/.f64 y x)))))) |
(*.f64 1/3 (*.f64 y (/.f64 18 (*.f64 (/.f64 y x) (*.f64 y 18))))) |
(*.f64 1/3 (/.f64 x (/.f64 y (/.f64 y y)))) |
(*.f64 1/3 (/.f64 y (*.f64 y (/.f64 y x)))) |
(*.f64 9 (/.f64 (*.f64 y 1/3) (*.f64 y (*.f64 y (/.f64 9 x))))) |
(*.f64 1/3 (*.f64 9 (/.f64 y (*.f64 y (*.f64 y (/.f64 9 x)))))) |
(*.f64 (*.f64 y 9) (/.f64 (/.f64 (/.f64 1/3 y) (/.f64 9 x)) y)) |
(*.f64 (/.f64 (/.f64 y y) (*.f64 y (/.f64 9 x))) 3) |
(*.f64 (*.f64 y 9) (/.f64 1/3 (*.f64 y (*.f64 y (/.f64 9 x))))) |
(*.f64 1/3 (*.f64 9 (/.f64 y (*.f64 y (*.f64 y (/.f64 9 x)))))) |
(*.f64 (*.f64 y 9) (/.f64 (/.f64 (/.f64 1/3 y) (/.f64 9 x)) y)) |
(*.f64 (/.f64 (/.f64 y y) (*.f64 y (/.f64 9 x))) 3) |
(*.f64 (*.f64 y 9) (/.f64 2/3 (*.f64 y (*.f64 18 (/.f64 y x))))) |
(*.f64 (*.f64 y 9) (/.f64 1/27 (*.f64 y (/.f64 y x)))) |
(*.f64 (*.f64 y 9) (/.f64 x (/.f64 y (/.f64 1/27 y)))) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 x (*.f64 3 (/.f64 1/9 y))) |
(*.f64 3 (*.f64 x (/.f64 1/9 y))) |
(*.f64 (/.f64 1/9 y) (*.f64 3 x)) |
(*.f64 (*.f64 x (/.f64 1/3 y)) 1) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1 (*.f64 x (/.f64 1/3 y))) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (+.f64 y y) (/.f64 (*.f64 x (/.f64 1/9 y)) (*.f64 y 2/3))) |
(*.f64 y (*.f64 3 (*.f64 x (/.f64 1/9 (*.f64 y y))))) |
(*.f64 3 (*.f64 (*.f64 (/.f64 1/9 y) (/.f64 x y)) y)) |
(*.f64 (*.f64 3 y) (*.f64 (/.f64 x y) (/.f64 1/9 y))) |
(*.f64 3 (*.f64 x (*.f64 y (/.f64 1/9 (*.f64 y y))))) |
(*.f64 (+.f64 y y) (*.f64 (/.f64 (*.f64 x (/.f64 1/9 y)) (*.f64 y 2/3)) 1)) |
(*.f64 y (*.f64 3 (*.f64 x (/.f64 1/9 (*.f64 y y))))) |
(*.f64 3 (*.f64 (*.f64 (/.f64 1/9 y) (/.f64 x y)) y)) |
(*.f64 (*.f64 3 y) (*.f64 (/.f64 x y) (/.f64 1/9 y))) |
(*.f64 3 (*.f64 x (*.f64 y (/.f64 1/9 (*.f64 y y))))) |
(*.f64 (*.f64 y 6) (/.f64 (/.f64 x (*.f64 y 18)) y)) |
(*.f64 1/3 (*.f64 18 (/.f64 y (*.f64 y (*.f64 18 (/.f64 y x)))))) |
(*.f64 1/3 (*.f64 y (/.f64 18 (*.f64 (/.f64 y x) (*.f64 y 18))))) |
(*.f64 1/3 (/.f64 x (/.f64 y (/.f64 y y)))) |
(*.f64 1/3 (/.f64 y (*.f64 y (/.f64 y x)))) |
(*.f64 (*.f64 y 6) (*.f64 (/.f64 (/.f64 x (*.f64 y 18)) y) 1)) |
(*.f64 1/3 (*.f64 18 (/.f64 y (*.f64 y (*.f64 18 (/.f64 y x)))))) |
(*.f64 1/3 (*.f64 y (/.f64 18 (*.f64 (/.f64 y x) (*.f64 y 18))))) |
(*.f64 1/3 (/.f64 x (/.f64 y (/.f64 y y)))) |
(*.f64 1/3 (/.f64 y (*.f64 y (/.f64 y x)))) |
(*.f64 (+.f64 x x) (/.f64 1/6 y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (+.f64 x x) (*.f64 (/.f64 1 (*.f64 y 18)) 3)) |
(*.f64 (+.f64 x x) (*.f64 3 (/.f64 1 (*.f64 y 18)))) |
(*.f64 6 (*.f64 x (/.f64 1/18 y))) |
(*.f64 3 (/.f64 x (*.f64 y 9))) |
(*.f64 (+.f64 x x) (*.f64 (/.f64 1/6 y) 1)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (+.f64 x x) (*.f64 1/2 (/.f64 1/3 y))) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x (/.f64 1/9 y)) 3) |
(*.f64 3 (*.f64 x (/.f64 1/9 y))) |
(*.f64 (/.f64 1/9 y) (*.f64 3 x)) |
(*.f64 2 (/.f64 x (*.f64 y 6))) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (/.f64 (*.f64 y 3) (*.f64 y (*.f64 18 (/.f64 y x))))) |
(*.f64 1/3 (*.f64 18 (/.f64 y (*.f64 y (*.f64 18 (/.f64 y x)))))) |
(*.f64 1/3 (*.f64 y (/.f64 18 (*.f64 (/.f64 y x) (*.f64 y 18))))) |
(*.f64 1/3 (/.f64 x (/.f64 y (/.f64 y y)))) |
(*.f64 1/3 (/.f64 y (*.f64 y (/.f64 y x)))) |
(*.f64 2 (/.f64 (*.f64 x (/.f64 1/3 y)) 2)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 (/.f64 x y) 3/2) 1/2) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 y 12))) |
(*.f64 x (*.f64 4 (/.f64 1/12 y))) |
(*.f64 (/.f64 (*.f64 x 2/9) y) 3/2) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 2/3 (/.f64 (*.f64 y 9) (*.f64 y (*.f64 18 (/.f64 y x))))) |
(*.f64 1/3 (*.f64 18 (/.f64 y (*.f64 y (*.f64 18 (/.f64 y x)))))) |
(*.f64 1/3 (*.f64 y (/.f64 18 (*.f64 (/.f64 y x) (*.f64 y 18))))) |
(*.f64 1/3 (/.f64 x (/.f64 y (/.f64 y y)))) |
(*.f64 1/3 (/.f64 y (*.f64 y (/.f64 y x)))) |
(*.f64 (*.f64 y 18) (/.f64 1/3 (*.f64 y (*.f64 18 (/.f64 y x))))) |
(*.f64 (*.f64 y 18) (/.f64 1/54 (*.f64 y (/.f64 y x)))) |
(*.f64 (*.f64 y 18) (/.f64 x (/.f64 y (/.f64 1/54 y)))) |
(*.f64 (*.f64 y 12) (/.f64 1 (*.f64 2 (*.f64 y (*.f64 18 (/.f64 y x)))))) |
(*.f64 1/3 (*.f64 18 (/.f64 y (*.f64 y (*.f64 18 (/.f64 y x)))))) |
(*.f64 1/3 (*.f64 y (/.f64 18 (*.f64 (/.f64 y x) (*.f64 y 18))))) |
(*.f64 1/3 (/.f64 x (/.f64 y (/.f64 y y)))) |
(*.f64 1/3 (/.f64 y (*.f64 y (/.f64 y x)))) |
(*.f64 (*.f64 y 12) (/.f64 1 (*.f64 (+.f64 y y) (*.f64 18 (/.f64 y x))))) |
(*.f64 1/3 (*.f64 18 (/.f64 y (*.f64 y (*.f64 18 (/.f64 y x)))))) |
(*.f64 1/3 (*.f64 y (/.f64 18 (*.f64 (/.f64 y x) (*.f64 y 18))))) |
(*.f64 1/3 (/.f64 x (/.f64 y (/.f64 y y)))) |
(*.f64 1/3 (/.f64 y (*.f64 y (/.f64 y x)))) |
(*.f64 6 (/.f64 x (*.f64 y 18))) |
(*.f64 (+.f64 x x) (*.f64 3 (/.f64 1 (*.f64 y 18)))) |
(*.f64 6 (*.f64 x (/.f64 1/18 y))) |
(*.f64 3 (/.f64 x (*.f64 y 9))) |
(*.f64 6 (*.f64 (/.f64 x (*.f64 y 18)) 1)) |
(*.f64 (+.f64 x x) (*.f64 3 (/.f64 1 (*.f64 y 18)))) |
(*.f64 6 (*.f64 x (/.f64 1/18 y))) |
(*.f64 3 (/.f64 x (*.f64 y 9))) |
(*.f64 (*.f64 3 x) (/.f64 1/9 y)) |
(*.f64 3 (*.f64 x (/.f64 1/9 y))) |
(*.f64 (/.f64 1/9 y) (*.f64 3 x)) |
(*.f64 (*.f64 y 1/3) (/.f64 9 (*.f64 y (*.f64 y (/.f64 9 x))))) |
(*.f64 1/3 (*.f64 9 (/.f64 y (*.f64 y (*.f64 y (/.f64 9 x)))))) |
(*.f64 (*.f64 y 9) (/.f64 (/.f64 (/.f64 1/3 y) (/.f64 9 x)) y)) |
(*.f64 (/.f64 (/.f64 y y) (*.f64 y (/.f64 9 x))) 3) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 (*.f64 x 1/9) (/.f64 3 y)) |
(*.f64 x (*.f64 1/9 (/.f64 3 y))) |
(*.f64 1/9 (/.f64 x (*.f64 1/3 y))) |
(*.f64 1/9 (/.f64 3 (/.f64 y x))) |
(*.f64 (/.f64 1 y) (/.f64 x 3)) |
(*.f64 (/.f64 1 y) (*.f64 x 1/3)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 1/9 y) (*.f64 3 x)) |
(*.f64 3 (*.f64 x (/.f64 1/9 y))) |
(*.f64 (neg.f64 x) (/.f64 1 (neg.f64 (*.f64 y 3)))) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (neg.f64 x) (/.f64 1 (*.f64 1/3 (neg.f64 (*.f64 y 9))))) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 (/.f64 x y) -9) -3) |
(*.f64 (/.f64 x (*.f64 y -9)) -3) |
(*.f64 (*.f64 x (/.f64 -1/9 y)) -3) |
(*.f64 (neg.f64 (*.f64 y 3)) (/.f64 1 (/.f64 y (/.f64 (/.f64 x y) -9)))) |
(*.f64 (neg.f64 (*.f64 3 y)) (/.f64 1 (/.f64 y (/.f64 x (*.f64 y -9))))) |
(*.f64 (*.f64 y -3) (/.f64 x (*.f64 (*.f64 y -9) y))) |
(*.f64 (*.f64 y -3) (/.f64 (*.f64 x (/.f64 -1/9 y)) y)) |
(*.f64 (*.f64 y -3) (/.f64 x (*.f64 -9 (*.f64 y y)))) |
(*.f64 -1 (/.f64 x (neg.f64 (*.f64 y 3)))) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 -1 (/.f64 x (*.f64 1/3 (neg.f64 (*.f64 y 9))))) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 -1 (/.f64 (*.f64 x (/.f64 1/9 y)) -1/3)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 y 2/3) (/.f64 9 (*.f64 y (*.f64 18 (/.f64 y x))))) |
(*.f64 1/3 (*.f64 18 (/.f64 y (*.f64 y (*.f64 18 (/.f64 y x)))))) |
(*.f64 1/3 (*.f64 y (/.f64 18 (*.f64 (/.f64 y x) (*.f64 y 18))))) |
(*.f64 1/3 (/.f64 x (/.f64 y (/.f64 y y)))) |
(*.f64 1/3 (/.f64 y (*.f64 y (/.f64 y x)))) |
(*.f64 1/9 (/.f64 3 (/.f64 y x))) |
(*.f64 (*.f64 x 1/9) (/.f64 3 y)) |
(*.f64 x (*.f64 1/9 (/.f64 3 y))) |
(*.f64 1/9 (/.f64 x (*.f64 1/3 y))) |
(*.f64 (*.f64 x (/.f64 (/.f64 1/9 y) y)) (*.f64 y 3)) |
(*.f64 y (*.f64 3 (*.f64 x (/.f64 1/9 (*.f64 y y))))) |
(*.f64 3 (*.f64 (*.f64 (/.f64 1/9 y) (/.f64 x y)) y)) |
(*.f64 (*.f64 3 y) (*.f64 (/.f64 x y) (/.f64 1/9 y))) |
(*.f64 3 (*.f64 x (*.f64 y (/.f64 1/9 (*.f64 y y))))) |
(*.f64 (/.f64 (/.f64 x y) (*.f64 y 3)) y) |
(*.f64 y (/.f64 x (*.f64 y (*.f64 3 y)))) |
(*.f64 y (/.f64 x (*.f64 3 (*.f64 y y)))) |
(*.f64 y (/.f64 (*.f64 x (/.f64 1/3 y)) y)) |
(*.f64 (/.f64 (*.f64 x (/.f64 1/9 y)) (*.f64 y 2/3)) (+.f64 y y)) |
(*.f64 y (*.f64 3 (*.f64 x (/.f64 1/9 (*.f64 y y))))) |
(*.f64 3 (*.f64 (*.f64 (/.f64 1/9 y) (/.f64 x y)) y)) |
(*.f64 (*.f64 3 y) (*.f64 (/.f64 x y) (/.f64 1/9 y))) |
(*.f64 3 (*.f64 x (*.f64 y (/.f64 1/9 (*.f64 y y))))) |
(*.f64 (*.f64 y 1/2) (/.f64 6 (*.f64 y (*.f64 y (/.f64 9 x))))) |
(*.f64 y (*.f64 1/2 (/.f64 (/.f64 6 y) (*.f64 y (/.f64 9 x))))) |
(*.f64 (/.f64 (/.f64 6 y) (*.f64 y (/.f64 9 x))) (*.f64 y 1/2)) |
(*.f64 y (*.f64 1/2 (/.f64 (/.f64 6 (*.f64 y y)) (/.f64 9 x)))) |
(*.f64 3/2 (/.f64 (+.f64 y y) (*.f64 y (*.f64 y (/.f64 9 x))))) |
(*.f64 3/2 (/.f64 (/.f64 (+.f64 y y) y) (*.f64 y (/.f64 9 x)))) |
(*.f64 3/2 (/.f64 x (/.f64 9 (+.f64 (/.f64 1 y) (/.f64 1 y))))) |
(*.f64 3/2 (/.f64 (*.f64 2 (/.f64 1 y)) (/.f64 9 x))) |
(*.f64 1/2 (/.f64 (/.f64 x y) 3/2)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/2 (/.f64 (+.f64 y y) (*.f64 y (*.f64 3 (/.f64 y x))))) |
(*.f64 1/2 (/.f64 (+.f64 y y) (*.f64 3 (*.f64 (/.f64 y x) y)))) |
(*.f64 1/2 (/.f64 (/.f64 (+.f64 y y) y) (*.f64 3 (/.f64 y x)))) |
(*.f64 1/2 (/.f64 (/.f64 (*.f64 y 2/3) (/.f64 y x)) y)) |
(*.f64 1/2 (/.f64 (*.f64 y 2/3) (*.f64 y (/.f64 y x)))) |
(*.f64 1/6 (/.f64 (*.f64 y 18) (*.f64 y (*.f64 y (/.f64 9 x))))) |
(*.f64 1/3 (*.f64 9 (/.f64 y (*.f64 y (*.f64 y (/.f64 9 x)))))) |
(*.f64 (*.f64 y 9) (/.f64 (/.f64 (/.f64 1/3 y) (/.f64 9 x)) y)) |
(*.f64 (/.f64 (/.f64 y y) (*.f64 y (/.f64 9 x))) 3) |
(*.f64 (*.f64 y 9/2) (/.f64 2/3 (*.f64 y (*.f64 y (/.f64 9 x))))) |
(*.f64 y (*.f64 9/2 (/.f64 (/.f64 2/3 y) (*.f64 y (/.f64 9 x))))) |
(*.f64 (*.f64 y 9/2) (/.f64 (/.f64 2/3 y) (*.f64 y (/.f64 9 x)))) |
(*.f64 (/.f64 1/6 y) (+.f64 x x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 1 (*.f64 y 18)) (*.f64 x 6)) |
(*.f64 (+.f64 x x) (*.f64 3 (/.f64 1 (*.f64 y 18)))) |
(*.f64 6 (*.f64 x (/.f64 1/18 y))) |
(*.f64 3 (/.f64 x (*.f64 y 9))) |
(*.f64 (/.f64 (/.f64 x (*.f64 y 18)) y) (*.f64 y 6)) |
(*.f64 1/3 (*.f64 18 (/.f64 y (*.f64 y (*.f64 18 (/.f64 y x)))))) |
(*.f64 1/3 (*.f64 y (/.f64 18 (*.f64 (/.f64 y x) (*.f64 y 18))))) |
(*.f64 1/3 (/.f64 x (/.f64 y (/.f64 y y)))) |
(*.f64 1/3 (/.f64 y (*.f64 y (/.f64 y x)))) |
(*.f64 (/.f64 x (*.f64 y 18)) 6) |
(*.f64 (+.f64 x x) (*.f64 3 (/.f64 1 (*.f64 y 18)))) |
(*.f64 6 (*.f64 x (/.f64 1/18 y))) |
(*.f64 3 (/.f64 x (*.f64 y 9))) |
(pow.f64 (*.f64 x (/.f64 1/3 y)) 1) |
(*.f64 x (/.f64 1/3 y)) |
Compiled 4407 to 2885 computations (34.5% saved)
7 alts after pruning (1 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 479 | 1 | 480 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 6 | 6 |
| Total | 480 | 7 | 487 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.2b | (/.f64 (/.f64 x y) 3) |
| ✓ | 0.3b | (/.f64 (/.f64 x 3) y) |
| ▶ | 0.3b | (/.f64 x (/.f64 (*.f64 y 18) 6)) |
| ✓ | 0.2b | (/.f64 x (*.f64 y 3)) |
| ✓ | 0.6b | (/.f64 2 (*.f64 6 (/.f64 y x))) |
| ✓ | 0.6b | (/.f64 1/3 (/.f64 y x)) |
| ✓ | 0.3b | (*.f64 (/.f64 1/3 y) x) |
Compiled 53 to 39 computations (26.4% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (/.f64 x (/.f64 (*.f64 y 18) 6)) |
| ✓ | 0.3b | (/.f64 (*.f64 y 18) 6) |
Compiled 21 to 15 computations (28.6% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (/.f64 (*.f64 y 18) 6) |
| 0.0ms | y | @ | -inf | (/.f64 (*.f64 y 18) 6) |
| 0.0ms | y | @ | inf | (/.f64 (*.f64 y 18) 6) |
| 0.0ms | x | @ | 0 | (/.f64 x (/.f64 (*.f64 y 18) 6)) |
| 0.0ms | x | @ | inf | (/.f64 x (/.f64 (*.f64 y 18) 6)) |
| 1× | batch-egg-rewrite |
| 1738× | rational.json-simplify-35 |
| 1730× | rational.json-1 |
| 1730× | rational.json-2 |
| 1730× | rational.json-3 |
| 898× | exponential.json-3 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 32 |
| 1 | 68 | 20 |
| 2 | 208 | 20 |
| 3 | 669 | 20 |
| 4 | 2592 | 20 |
| 5 | 6778 | 20 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (*.f64 y 18) 6) |
(/.f64 x (/.f64 (*.f64 y 18) 6)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 y (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 y y) y)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y 3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 18 (*.f64 y 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 18) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 6 (*.f64 y 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 y 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 6) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 36) 1/12)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 1/6) 18)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 y 18) 12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 y 3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 y (*.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 12) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 72) 1/24)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/6 (*.f64 y 18))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 y 3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 36 (*.f64 y 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 36 (*.f64 1/6 (*.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 1/3) 9)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (/.f64 (*.f64 y 18) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 y 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 1/2) 6)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 9 (*.f64 y 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 1/12) 36)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3/2 (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/12 (*.f64 y 36))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/6 (*.f64 y 1/2)) 36)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y 18) 12) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 y 12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y 18) 2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y 3) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/24 (*.f64 y 72))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 y 3))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (/.f64 1/3 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (/.f64 1/3 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 6 (*.f64 (/.f64 x y) 1/18))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 1/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 1/3 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (/.f64 1/3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (/.f64 1 (*.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (/.f64 1/3 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 x (*.f64 y 6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 x (/.f64 1/3 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 1 (*.f64 y 6)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 x y) 3/2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (/.f64 1 (*.f64 y 12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/18) (/.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/3 y) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/3 y) (/.f64 1 (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) (/.f64 -1 (*.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x y) 1/18) 6)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 x (neg.f64 (*.f64 y 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (*.f64 y 1/6)) 1/18)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/18 (/.f64 x (*.f64 y 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/18 y) (/.f64 x 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 6 y) (*.f64 x 1/18))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y 6)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 (/.f64 x y) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/3 y) 1/2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 1 x)) (/.f64 1/3 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (neg.f64 (*.f64 y 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 1/6) (/.f64 1/18 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (*.f64 y 6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x (/.f64 1/3 y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y 12)) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (*.f64 y 3)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1 (*.f64 y 6)) (/.f64 1 (*.f64 y 6))) x)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (/.f64 1/3 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 x (neg.f64 (*.f64 y 3)))))))) |
| 1× | egg-herbie |
| 1698× | rational.json-simplify-35 |
| 1514× | rational.json-simplify-2 |
| 1086× | rational.json-simplify-51 |
| 806× | rational.json-simplify-46 |
| 700× | rational.json-simplify-49 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 145 | 1238 |
| 1 | 269 | 1226 |
| 2 | 748 | 1226 |
| 3 | 3217 | 1226 |
| 4 | 6230 | 1226 |
| 5 | 7660 | 1226 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 y (+.f64 y y)) |
(+.f64 (*.f64 y 3) 0) |
(+.f64 0 (*.f64 y 3)) |
(+.f64 (+.f64 y y) y) |
(-.f64 (*.f64 y 3) 0) |
(-.f64 0 (neg.f64 (*.f64 y 3))) |
(*.f64 y 3) |
(*.f64 18 (*.f64 y 1/6)) |
(*.f64 (*.f64 y 18) 1/6) |
(*.f64 6 (*.f64 y 1/2)) |
(*.f64 (*.f64 y 3) 1) |
(*.f64 1 (*.f64 y 3)) |
(*.f64 (*.f64 y 6) 1/2) |
(*.f64 (*.f64 y 36) 1/12) |
(*.f64 (*.f64 y 1/6) 18) |
(*.f64 2 (/.f64 (*.f64 y 18) 12)) |
(*.f64 2 (/.f64 (*.f64 y 3) 2)) |
(*.f64 2 (+.f64 y (*.f64 y 1/2))) |
(*.f64 (+.f64 y y) 3/2) |
(*.f64 (*.f64 y 12) 1/4) |
(*.f64 (*.f64 y 72) 1/24) |
(*.f64 1/6 (*.f64 y 18)) |
(*.f64 3 y) |
(*.f64 (neg.f64 (*.f64 y 3)) -1) |
(*.f64 36 (*.f64 y 1/12)) |
(*.f64 36 (*.f64 1/6 (*.f64 y 1/2))) |
(*.f64 -1 (neg.f64 (*.f64 y 3))) |
(*.f64 (*.f64 y 1/3) 9) |
(*.f64 1/3 (/.f64 (*.f64 y 18) 2)) |
(*.f64 1/2 (*.f64 y 6)) |
(*.f64 (*.f64 y 1/2) 6) |
(*.f64 9 (*.f64 y 1/3)) |
(*.f64 (*.f64 y 1/12) 36) |
(*.f64 3/2 (+.f64 y y)) |
(*.f64 1/12 (*.f64 y 36)) |
(*.f64 (*.f64 1/6 (*.f64 y 1/2)) 36) |
(*.f64 (/.f64 (*.f64 y 18) 12) 2) |
(*.f64 1/4 (*.f64 y 12)) |
(*.f64 (/.f64 (*.f64 y 18) 2) 1/3) |
(*.f64 (/.f64 (*.f64 y 3) 2) 2) |
(*.f64 1/24 (*.f64 y 72)) |
(pow.f64 (*.f64 y 3) 1) |
(neg.f64 (neg.f64 (*.f64 y 3))) |
(+.f64 (*.f64 x (/.f64 1/3 y)) 0) |
(+.f64 0 (*.f64 x (/.f64 1/3 y))) |
(-.f64 (*.f64 x (/.f64 1/3 y)) 0) |
(*.f64 6 (*.f64 (/.f64 x y) 1/18)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x (/.f64 1/3 y)) 1) |
(*.f64 1 (*.f64 x (/.f64 1/3 y))) |
(*.f64 (+.f64 x x) (/.f64 1 (*.f64 y 6))) |
(*.f64 (+.f64 x x) (*.f64 (/.f64 1/3 y) 1/2)) |
(*.f64 2 (/.f64 x (*.f64 y 6))) |
(*.f64 2 (/.f64 (*.f64 x (/.f64 1/3 y)) 2)) |
(*.f64 2 (*.f64 (/.f64 1 (*.f64 y 6)) x)) |
(*.f64 (/.f64 (/.f64 x y) 3/2) 1/2) |
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 y 12))) |
(*.f64 (*.f64 x 1/18) (/.f64 6 y)) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 (/.f64 1/3 y) (/.f64 1 (/.f64 1 x))) |
(*.f64 (neg.f64 x) (/.f64 -1 (*.f64 y 3))) |
(*.f64 (*.f64 (/.f64 x y) 1/18) 6) |
(*.f64 -1 (/.f64 x (neg.f64 (*.f64 y 3)))) |
(*.f64 (/.f64 x (*.f64 y 1/6)) 1/18) |
(*.f64 1/18 (/.f64 x (*.f64 y 1/6))) |
(*.f64 (/.f64 1/18 y) (/.f64 x 1/6)) |
(*.f64 (/.f64 6 y) (*.f64 x 1/18)) |
(*.f64 (/.f64 1 (*.f64 y 6)) (+.f64 x x)) |
(*.f64 1/2 (/.f64 (/.f64 x y) 3/2)) |
(*.f64 (*.f64 (/.f64 1/3 y) 1/2) (+.f64 x x)) |
(*.f64 (/.f64 1 (/.f64 1 x)) (/.f64 1/3 y)) |
(*.f64 (/.f64 x (neg.f64 (*.f64 y 3))) -1) |
(*.f64 (/.f64 x 1/6) (/.f64 1/18 y)) |
(*.f64 (/.f64 x (*.f64 y 6)) 2) |
(*.f64 (/.f64 (*.f64 x (/.f64 1/3 y)) 2) 2) |
(*.f64 (/.f64 1 (*.f64 y 12)) (*.f64 x 4)) |
(*.f64 (/.f64 -1 (*.f64 y 3)) (neg.f64 x)) |
(*.f64 (+.f64 (/.f64 1 (*.f64 y 6)) (/.f64 1 (*.f64 y 6))) x) |
(pow.f64 (*.f64 x (/.f64 1/3 y)) 1) |
(neg.f64 (/.f64 x (neg.f64 (*.f64 y 3)))) |
| Outputs |
|---|
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 1/3 (/.f64 x y)) |
(+.f64 y (+.f64 y y)) |
(*.f64 3 y) |
(+.f64 (*.f64 y 3) 0) |
(*.f64 3 y) |
(+.f64 0 (*.f64 y 3)) |
(*.f64 3 y) |
(+.f64 (+.f64 y y) y) |
(*.f64 3 y) |
(-.f64 (*.f64 y 3) 0) |
(*.f64 3 y) |
(-.f64 0 (neg.f64 (*.f64 y 3))) |
(*.f64 3 y) |
(*.f64 y 3) |
(*.f64 3 y) |
(*.f64 18 (*.f64 y 1/6)) |
(*.f64 3 y) |
(*.f64 (*.f64 y 18) 1/6) |
(*.f64 3 y) |
(*.f64 6 (*.f64 y 1/2)) |
(*.f64 3 y) |
(*.f64 (*.f64 y 3) 1) |
(*.f64 3 y) |
(*.f64 1 (*.f64 y 3)) |
(*.f64 3 y) |
(*.f64 (*.f64 y 6) 1/2) |
(*.f64 3 y) |
(*.f64 (*.f64 y 36) 1/12) |
(*.f64 3 y) |
(*.f64 (*.f64 y 1/6) 18) |
(*.f64 3 y) |
(*.f64 2 (/.f64 (*.f64 y 18) 12)) |
(*.f64 3 y) |
(*.f64 2 (/.f64 (*.f64 y 3) 2)) |
(*.f64 3 y) |
(*.f64 2 (+.f64 y (*.f64 y 1/2))) |
(*.f64 3 y) |
(*.f64 (+.f64 y y) 3/2) |
(*.f64 3 y) |
(*.f64 (*.f64 y 12) 1/4) |
(*.f64 3 y) |
(*.f64 (*.f64 y 72) 1/24) |
(*.f64 3 y) |
(*.f64 1/6 (*.f64 y 18)) |
(*.f64 3 y) |
(*.f64 3 y) |
(*.f64 (neg.f64 (*.f64 y 3)) -1) |
(*.f64 3 y) |
(*.f64 36 (*.f64 y 1/12)) |
(*.f64 3 y) |
(*.f64 36 (*.f64 1/6 (*.f64 y 1/2))) |
(*.f64 3 y) |
(*.f64 -1 (neg.f64 (*.f64 y 3))) |
(*.f64 3 y) |
(*.f64 (*.f64 y 1/3) 9) |
(*.f64 3 y) |
(*.f64 1/3 (/.f64 (*.f64 y 18) 2)) |
(*.f64 3 y) |
(*.f64 1/2 (*.f64 y 6)) |
(*.f64 3 y) |
(*.f64 (*.f64 y 1/2) 6) |
(*.f64 3 y) |
(*.f64 9 (*.f64 y 1/3)) |
(*.f64 3 y) |
(*.f64 (*.f64 y 1/12) 36) |
(*.f64 3 y) |
(*.f64 3/2 (+.f64 y y)) |
(*.f64 3 y) |
(*.f64 1/12 (*.f64 y 36)) |
(*.f64 3 y) |
(*.f64 (*.f64 1/6 (*.f64 y 1/2)) 36) |
(*.f64 3 y) |
(*.f64 (/.f64 (*.f64 y 18) 12) 2) |
(*.f64 3 y) |
(*.f64 1/4 (*.f64 y 12)) |
(*.f64 3 y) |
(*.f64 (/.f64 (*.f64 y 18) 2) 1/3) |
(*.f64 3 y) |
(*.f64 (/.f64 (*.f64 y 3) 2) 2) |
(*.f64 3 y) |
(*.f64 1/24 (*.f64 y 72)) |
(*.f64 3 y) |
(pow.f64 (*.f64 y 3) 1) |
(*.f64 3 y) |
(neg.f64 (neg.f64 (*.f64 y 3))) |
(*.f64 3 y) |
(+.f64 (*.f64 x (/.f64 1/3 y)) 0) |
(*.f64 x (/.f64 1/3 y)) |
(+.f64 0 (*.f64 x (/.f64 1/3 y))) |
(*.f64 x (/.f64 1/3 y)) |
(-.f64 (*.f64 x (/.f64 1/3 y)) 0) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 6 (*.f64 (/.f64 x y) 1/18)) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x (/.f64 1/3 y)) 1) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1 (*.f64 x (/.f64 1/3 y))) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (+.f64 x x) (/.f64 1 (*.f64 y 6))) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (+.f64 x x) (*.f64 (/.f64 1/3 y) 1/2)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (/.f64 x (*.f64 y 6))) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (/.f64 (*.f64 x (/.f64 1/3 y)) 2)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 2 (*.f64 (/.f64 1 (*.f64 y 6)) x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 (/.f64 x y) 3/2) 1/2) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 y 12))) |
(*.f64 (*.f64 x 4) (/.f64 1/12 y)) |
(*.f64 x (*.f64 4 (/.f64 1/12 y))) |
(*.f64 (*.f64 x 1/18) (/.f64 6 y)) |
(*.f64 x (*.f64 1/18 (/.f64 6 y))) |
(*.f64 (/.f64 1/3 y) x) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 1/3 y) (/.f64 1 (/.f64 1 x))) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (neg.f64 x) (/.f64 -1 (*.f64 y 3))) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 (/.f64 x y) 1/18) 6) |
(*.f64 1/3 (/.f64 x y)) |
(*.f64 -1 (/.f64 x (neg.f64 (*.f64 y 3)))) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 x (*.f64 y 1/6)) 1/18) |
(*.f64 1/18 (/.f64 x (*.f64 y 1/6))) |
(*.f64 1/18 (/.f64 (/.f64 x y) 1/6)) |
(*.f64 1/18 (/.f64 x (*.f64 y 1/6))) |
(*.f64 1/18 (/.f64 (/.f64 x y) 1/6)) |
(*.f64 (/.f64 1/18 y) (/.f64 x 1/6)) |
(*.f64 (/.f64 6 y) (*.f64 x 1/18)) |
(*.f64 (*.f64 x 1/18) (/.f64 6 y)) |
(*.f64 x (*.f64 1/18 (/.f64 6 y))) |
(*.f64 (/.f64 1 (*.f64 y 6)) (+.f64 x x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 1/2 (/.f64 (/.f64 x y) 3/2)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (*.f64 (/.f64 1/3 y) 1/2) (+.f64 x x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 1 (/.f64 1 x)) (/.f64 1/3 y)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 x (neg.f64 (*.f64 y 3))) -1) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 x 1/6) (/.f64 1/18 y)) |
(*.f64 (/.f64 1/18 y) (/.f64 x 1/6)) |
(*.f64 (/.f64 x (*.f64 y 6)) 2) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 (*.f64 x (/.f64 1/3 y)) 2) 2) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (/.f64 1 (*.f64 y 12)) (*.f64 x 4)) |
(*.f64 (*.f64 x 4) (/.f64 1 (*.f64 y 12))) |
(*.f64 (*.f64 x 4) (/.f64 1/12 y)) |
(*.f64 x (*.f64 4 (/.f64 1/12 y))) |
(*.f64 (/.f64 -1 (*.f64 y 3)) (neg.f64 x)) |
(*.f64 x (/.f64 1/3 y)) |
(*.f64 (+.f64 (/.f64 1 (*.f64 y 6)) (/.f64 1 (*.f64 y 6))) x) |
(*.f64 x (/.f64 1/3 y)) |
(pow.f64 (*.f64 x (/.f64 1/3 y)) 1) |
(*.f64 x (/.f64 1/3 y)) |
(neg.f64 (/.f64 x (neg.f64 (*.f64 y 3)))) |
(*.f64 x (/.f64 1/3 y)) |
Compiled 640 to 446 computations (30.3% saved)
7 alts after pruning (0 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 85 | 0 | 85 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 6 | 6 |
| Total | 85 | 7 | 92 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.2b | (/.f64 (/.f64 x y) 3) |
| ✓ | 0.3b | (/.f64 (/.f64 x 3) y) |
| ✓ | 0.3b | (/.f64 x (/.f64 (*.f64 y 18) 6)) |
| ✓ | 0.2b | (/.f64 x (*.f64 y 3)) |
| ✓ | 0.6b | (/.f64 2 (*.f64 6 (/.f64 y x))) |
| ✓ | 0.6b | (/.f64 1/3 (/.f64 y x)) |
| ✓ | 0.3b | (*.f64 (/.f64 1/3 y) x) |
Compiled 53 to 39 computations (26.4% saved)
| Inputs |
|---|
(*.f64 (/.f64 1/3 y) x) |
(*.f64 (/.f64 x y) 1/3) |
(/.f64 1/3 (/.f64 y x)) |
(/.f64 x (*.f64 y 3)) |
(/.f64 (/.f64 x 3) y) |
(/.f64 (/.f64 x y) 3) |
(*.f64 x (*.f64 2/3 (/.f64 1/2 y))) |
(*.f64 (/.f64 1 y) (*.f64 x 1/3)) |
(*.f64 (/.f64 2 (/.f64 y x)) 1/6) |
(/.f64 2 (*.f64 6 (/.f64 y x))) |
(/.f64 x (/.f64 (*.f64 y 18) 6)) |
(*.f64 2 (*.f64 (/.f64 x 6) (/.f64 1 y))) |
(/.f64 x (*.f64 (*.f64 y 9) (/.f64 y (*.f64 y 3)))) |
| Outputs |
|---|
(/.f64 (/.f64 x y) 3) |
4 calls:
| 8.0ms | y |
| 7.0ms | (/.f64 x (*.f64 y 3)) |
| 7.0ms | (*.f64 y 3) |
| 7.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 0.2b | 1 | x |
| 0.2b | 1 | y |
| 0.2b | 1 | (/.f64 x (*.f64 y 3)) |
| 0.2b | 1 | (*.f64 y 3) |
Compiled 105 to 69 computations (34.3% saved)
| Inputs |
|---|
(*.f64 (/.f64 1/3 y) x) |
(*.f64 (/.f64 x y) 1/3) |
(/.f64 1/3 (/.f64 y x)) |
(/.f64 x (*.f64 y 3)) |
(/.f64 (/.f64 x 3) y) |
| Outputs |
|---|
(/.f64 x (*.f64 y 3)) |
4 calls:
| 5.0ms | (*.f64 y 3) |
| 5.0ms | x |
| 4.0ms | y |
| 4.0ms | (/.f64 x (*.f64 y 3)) |
| Error | Segments | Branch |
|---|---|---|
| 0.2b | 1 | x |
| 0.2b | 1 | y |
| 0.2b | 1 | (/.f64 x (*.f64 y 3)) |
| 0.2b | 1 | (*.f64 y 3) |
Compiled 45 to 30 computations (33.3% saved)
Total -0.6b remaining (-197.2%)
Threshold costs -0.6b (-197.2%)
| Inputs |
|---|
(*.f64 (/.f64 1/3 y) x) |
(*.f64 (/.f64 x y) 1/3) |
(/.f64 1/3 (/.f64 y x)) |
| Outputs |
|---|
(*.f64 (/.f64 x y) 1/3) |
2 calls:
| 4.0ms | x |
| 3.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 0.3b | 1 | x |
| 0.3b | 1 | y |
Compiled 23 to 15 computations (34.8% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 52 |
| 1× | done |
| 1× | saturated |
| Inputs |
|---|
(/.f64 (/.f64 x y) 3) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 (/.f64 1/3 y) x) |
| Outputs |
|---|
(/.f64 (/.f64 x y) 3) |
(/.f64 x (*.f64 y 3)) |
(*.f64 (/.f64 x y) 1/3) |
(*.f64 (/.f64 1/3 y) x) |
Compiled 28 to 20 computations (28.6% saved)
Compiled 22 to 13 computations (40.9% saved)
Loading profile data...