Time bar (total: 4.7s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 4 |
| 25% | 25% | 74.9% | 0.1% | 0% | 0% | 0% | 5 |
| 37.5% | 37.5% | 62.4% | 0.1% | 0% | 0% | 0% | 6 |
| 53.3% | 50% | 43.7% | 0.1% | 6.2% | 0% | 0% | 7 |
| 63.3% | 59.3% | 34.3% | 0.1% | 6.2% | 0% | 0% | 8 |
| 74.1% | 67.1% | 23.4% | 0.1% | 9.4% | 0% | 0% | 9 |
| 80.2% | 72.6% | 18% | 0.1% | 9.4% | 0% | 0% | 10 |
| 86.4% | 76.9% | 12.1% | 0.1% | 10.9% | 0% | 0% | 11 |
| 89.7% | 79.8% | 9.2% | 0.1% | 10.9% | 0% | 0% | 12 |
Compiled 8 to 6 computations (25% saved)
| 898.0ms | 8256× | body | 256 | valid |
| 15.0ms | 174× | body | 256 | infinite |
| 2× | egg-herbie |
| 14× | rational.json-simplify-2 |
| 6× | rational.json-simplify-43 |
| 2× | swap-x-y |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 26 |
| 1 | 13 | 26 |
| 2 | 17 | 26 |
| 3 | 19 | 26 |
| 0 | 2 | 2 |
| 1 | 2 | 2 |
| 1× | unsound |
| 1× | saturated |
| Inputs |
|---|
0 |
1 |
| Outputs |
|---|
0 |
1 |
0 |
| Inputs |
|---|
(*.f64 (*.f64 x 27) y) |
(*.f64 (*.f64 y 27) x) |
| Outputs |
|---|
(*.f64 (*.f64 x 27) y) |
(*.f64 x (*.f64 27 y)) |
(*.f64 (*.f64 y 27) x) |
(*.f64 (*.f64 x 27) y) |
(*.f64 x (*.f64 27 y)) |
(sort x y)
Compiled 9 to 7 computations (22.2% saved)
| 1× | egg-herbie |
| 12× | rational.json-simplify-2 |
| 4× | rational.json-simplify-43 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 9 | 13 |
| 2 | 13 | 13 |
| 3 | 17 | 13 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (*.f64 x 27) y) |
| Outputs |
|---|
(*.f64 (*.f64 x 27) y) |
(*.f64 x (*.f64 27 y)) |
Compiled 12 to 8 computations (33.3% saved)
3 alts after pruning (3 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 2 | 2 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 3 | 3 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.2b | (*.f64 (*.f64 x 27) y) |
| ▶ | 0.2b | (*.f64 x (*.f64 27 y)) |
Compiled 14 to 10 computations (28.6% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (*.f64 x (*.f64 27 y)) |
Compiled 13 to 8 computations (38.5% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | 0 | (*.f64 x (*.f64 27 y)) |
| 1.0ms | x | @ | inf | (*.f64 x (*.f64 27 y)) |
| 1.0ms | x | @ | 0 | (*.f64 x (*.f64 27 y)) |
| 0.0ms | y | @ | inf | (*.f64 x (*.f64 27 y)) |
| 0.0ms | y | @ | -inf | (*.f64 x (*.f64 27 y)) |
| 1× | batch-egg-rewrite |
| 2294× | rational.json-simplify-35 |
| 1344× | exponential.json-3 |
| 1344× | rational.json-1 |
| 1344× | rational.json-2 |
| 1344× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 48 | 13 |
| 2 | 114 | 13 |
| 3 | 239 | 13 |
| 4 | 433 | 13 |
| 5 | 989 | 13 |
| 6 | 2205 | 13 |
| 7 | 3837 | 13 |
| 8 | 4798 | 13 |
| 9 | 5730 | 13 |
| 10 | 6545 | 13 |
| 11 | 6545 | 13 |
| 12 | 6545 | 13 |
| 13 | 7348 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 x (*.f64 27 y)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 27 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 27 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 y 27/2)) (*.f64 x (*.f64 y 27/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 27 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 27 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 y 54)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x y) 108) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 216 (*.f64 x y)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 216 (*.f64 x y))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 27 y)) 1))))) |
| 1× | egg-herbie |
| 5942× | rational.json-simplify-35 |
| 1914× | rational.json-simplify-2 |
| 970× | rational.json-simplify-1 |
| 638× | rational.json-simplify-41 |
| 608× | exponential.json-simplify-26 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 52 | 507 |
| 1 | 131 | 507 |
| 2 | 280 | 507 |
| 3 | 711 | 507 |
| 4 | 2026 | 507 |
| 5 | 3468 | 507 |
| 6 | 4178 | 507 |
| 7 | 4577 | 507 |
| 8 | 4822 | 507 |
| 9 | 5029 | 507 |
| 10 | 5029 | 507 |
| 11 | 5226 | 507 |
| 12 | 5264 | 507 |
| 13 | 5312 | 507 |
| 14 | 5559 | 507 |
| 15 | 5824 | 507 |
| 16 | 6059 | 507 |
| 17 | 6301 | 507 |
| 18 | 6505 | 507 |
| 19 | 6690 | 507 |
| 20 | 6873 | 507 |
| 21 | 6873 | 507 |
| 22 | 7056 | 507 |
| 23 | 7239 | 507 |
| 24 | 7422 | 507 |
| 25 | 7605 | 507 |
| 26 | 7788 | 507 |
| 27 | 7971 | 507 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(+.f64 (*.f64 x (*.f64 27 y)) 0) |
(+.f64 0 (*.f64 x (*.f64 27 y))) |
(+.f64 (*.f64 x (*.f64 y 27/2)) (*.f64 x (*.f64 y 27/2))) |
(-.f64 (*.f64 x (*.f64 27 y)) 0) |
(/.f64 (*.f64 x (*.f64 27 y)) 1) |
(/.f64 (*.f64 x (*.f64 y 54)) 2) |
(/.f64 (*.f64 (*.f64 x y) 108) 4) |
(/.f64 (*.f64 216 (*.f64 x y)) 8) |
(/.f64 (*.f64 2 (*.f64 216 (*.f64 x y))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))))) 256) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))))))) 512) |
(pow.f64 (*.f64 x (*.f64 27 y)) 1) |
| Outputs |
|---|
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(+.f64 (*.f64 x (*.f64 27 y)) 0) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(+.f64 0 (*.f64 x (*.f64 27 y))) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(+.f64 (*.f64 x (*.f64 y 27/2)) (*.f64 x (*.f64 y 27/2))) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(-.f64 (*.f64 x (*.f64 27 y)) 0) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(/.f64 (*.f64 x (*.f64 27 y)) 1) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(/.f64 (*.f64 x (*.f64 y 54)) 2) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(/.f64 (*.f64 (*.f64 x y) 108) 4) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(/.f64 (*.f64 216 (*.f64 x y)) 8) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(/.f64 (*.f64 2 (*.f64 216 (*.f64 x y))) 16) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))) 32) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))) 64) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))))) 128) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))))) 256) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))))))) 512) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(pow.f64 (*.f64 x (*.f64 27 y)) 1) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (*.f64 (*.f64 x 27) y) |
Compiled 13 to 8 computations (38.5% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | 0 | (*.f64 (*.f64 x 27) y) |
| 0.0ms | x | @ | inf | (*.f64 (*.f64 x 27) y) |
| 0.0ms | x | @ | -inf | (*.f64 (*.f64 x 27) y) |
| 0.0ms | y | @ | -inf | (*.f64 (*.f64 x 27) y) |
| 0.0ms | y | @ | inf | (*.f64 (*.f64 x 27) y) |
| 1× | batch-egg-rewrite |
| 2270× | rational.json-simplify-35 |
| 1334× | exponential.json-3 |
| 1334× | rational.json-1 |
| 1334× | rational.json-2 |
| 1334× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 46 | 13 |
| 2 | 103 | 13 |
| 3 | 223 | 13 |
| 4 | 409 | 13 |
| 5 | 948 | 13 |
| 6 | 2118 | 13 |
| 7 | 3695 | 13 |
| 8 | 4640 | 13 |
| 9 | 5576 | 13 |
| 10 | 6409 | 13 |
| 11 | 6409 | 13 |
| 12 | 6409 | 13 |
| 13 | 7219 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (*.f64 x 27) y) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 27 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 27 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x y) 27/2) (*.f64 (*.f64 x y) 27/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 27 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 27 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 y 54)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 y 108)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 216 (*.f64 x y)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 216 (*.f64 x y))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 27 y)) 1))))) |
| 1× | egg-herbie |
| 4648× | rational.json-simplify-35 |
| 2578× | rational.json-simplify-2 |
| 924× | rational.json-simplify-53 |
| 874× | rational.json-simplify-1 |
| 702× | exponential.json-simplify-26 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 52 | 507 |
| 1 | 137 | 507 |
| 2 | 287 | 507 |
| 3 | 741 | 507 |
| 4 | 2071 | 507 |
| 5 | 3558 | 507 |
| 6 | 4367 | 507 |
| 7 | 4693 | 507 |
| 8 | 4907 | 507 |
| 9 | 5098 | 507 |
| 10 | 5098 | 507 |
| 11 | 5409 | 507 |
| 12 | 5480 | 507 |
| 13 | 5526 | 507 |
| 14 | 5771 | 507 |
| 15 | 6095 | 507 |
| 16 | 6385 | 507 |
| 17 | 6577 | 507 |
| 18 | 6756 | 507 |
| 19 | 6935 | 507 |
| 20 | 7114 | 507 |
| 21 | 7150 | 507 |
| 22 | 7260 | 507 |
| 23 | 7398 | 507 |
| 24 | 7428 | 507 |
| 25 | 7442 | 507 |
| 26 | 7442 | 507 |
| 27 | 7442 | 507 |
| 28 | 7621 | 507 |
| 29 | 7800 | 507 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 27 (*.f64 y x)) |
(+.f64 (*.f64 x (*.f64 27 y)) 0) |
(+.f64 0 (*.f64 x (*.f64 27 y))) |
(+.f64 (*.f64 (*.f64 x y) 27/2) (*.f64 (*.f64 x y) 27/2)) |
(-.f64 (*.f64 x (*.f64 27 y)) 0) |
(/.f64 (*.f64 x (*.f64 27 y)) 1) |
(/.f64 (*.f64 x (*.f64 y 54)) 2) |
(/.f64 (*.f64 x (*.f64 y 108)) 4) |
(/.f64 (*.f64 216 (*.f64 x y)) 8) |
(/.f64 (*.f64 2 (*.f64 216 (*.f64 x y))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))))) 256) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))))))) 512) |
(pow.f64 (*.f64 x (*.f64 27 y)) 1) |
| Outputs |
|---|
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(+.f64 (*.f64 x (*.f64 27 y)) 0) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(+.f64 0 (*.f64 x (*.f64 27 y))) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(+.f64 (*.f64 (*.f64 x y) 27/2) (*.f64 (*.f64 x y) 27/2)) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(-.f64 (*.f64 x (*.f64 27 y)) 0) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(/.f64 (*.f64 x (*.f64 27 y)) 1) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(/.f64 (*.f64 x (*.f64 y 54)) 2) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(/.f64 (*.f64 x (*.f64 y 108)) 4) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(/.f64 (*.f64 216 (*.f64 x y)) 8) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(/.f64 (*.f64 2 (*.f64 216 (*.f64 x y))) 16) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))) 32) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))) 64) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))))) 128) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y))))))) 256) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 216 (*.f64 x y)))))))) 512) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
(pow.f64 (*.f64 x (*.f64 27 y)) 1) |
(*.f64 27 (*.f64 y x)) |
(*.f64 y (*.f64 27 x)) |
Compiled 338 to 246 computations (27.2% saved)
3 alts after pruning (1 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 33 | 1 | 34 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 33 | 3 | 36 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.2b | (*.f64 (*.f64 x 27) y) |
| ✓ | 0.2b | (*.f64 x (*.f64 27 y)) |
| ▶ | 0.3b | (*.f64 27 (*.f64 y x)) |
Compiled 21 to 15 computations (28.6% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (*.f64 27 (*.f64 y x)) |
Compiled 13 to 6 computations (53.8% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (*.f64 27 (*.f64 y x)) |
| 0.0ms | y | @ | inf | (*.f64 27 (*.f64 y x)) |
| 0.0ms | y | @ | -inf | (*.f64 27 (*.f64 y x)) |
| 0.0ms | x | @ | -inf | (*.f64 27 (*.f64 y x)) |
| 0.0ms | x | @ | inf | (*.f64 27 (*.f64 y x)) |
| 1× | batch-egg-rewrite |
| 2680× | rational.json-simplify-2 |
| 2256× | rational.json-simplify-35 |
| 1300× | rational.json-1 |
| 1116× | rational.json-simplify-1 |
| 1040× | exponential.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 48 | 13 |
| 2 | 114 | 13 |
| 3 | 239 | 13 |
| 4 | 433 | 13 |
| 5 | 983 | 13 |
| 6 | 2180 | 13 |
| 7 | 3730 | 13 |
| 8 | 4617 | 13 |
| 9 | 5531 | 13 |
| 10 | 6316 | 13 |
| 11 | 6316 | 13 |
| 12 | 7144 | 13 |
| 13 | 7144 | 13 |
| 14 | 7930 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 27 (*.f64 y x)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 27 (*.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 27 (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 x 27/2)) (*.f64 y (*.f64 x 27/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 27 (*.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 27 (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 x 54)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 x 108)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y (*.f64 x 54)) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 27 (*.f64 y x)) 1))))) |
| 1× | egg-herbie |
| 4860× | rational.json-simplify-35 |
| 2196× | rational.json-simplify-2 |
| 990× | exponential.json-simplify-26 |
| 894× | rational.json-simplify-1 |
| 620× | rational.json-simplify-49 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 49 | 195 |
| 1 | 127 | 195 |
| 2 | 261 | 195 |
| 3 | 621 | 195 |
| 4 | 1831 | 195 |
| 5 | 3593 | 195 |
| 6 | 4354 | 195 |
| 7 | 4767 | 195 |
| 8 | 5048 | 195 |
| 9 | 5261 | 195 |
| 10 | 5443 | 195 |
| 11 | 6261 | 195 |
| 12 | 6264 | 195 |
| 13 | 6264 | 195 |
| 14 | 6264 | 195 |
| 15 | 6440 | 195 |
| 16 | 6616 | 195 |
| 17 | 6792 | 195 |
| 18 | 6968 | 195 |
| 19 | 7144 | 195 |
| 20 | 7323 | 195 |
| 21 | 7499 | 195 |
| 22 | 7499 | 195 |
| 23 | 7675 | 195 |
| 24 | 7851 | 195 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 27 (*.f64 y x)) 0) |
(+.f64 0 (*.f64 27 (*.f64 y x))) |
(+.f64 (*.f64 y (*.f64 x 27/2)) (*.f64 y (*.f64 x 27/2))) |
(-.f64 (*.f64 27 (*.f64 y x)) 0) |
(/.f64 (*.f64 27 (*.f64 y x)) 1) |
(/.f64 (*.f64 y (*.f64 x 54)) 2) |
(/.f64 (*.f64 y (*.f64 x 108)) 4) |
(/.f64 (*.f64 (*.f64 y (*.f64 x 54)) 4) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4)))))) 256) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4))))))) 512) |
(pow.f64 (*.f64 27 (*.f64 y x)) 1) |
| Outputs |
|---|
(+.f64 (*.f64 27 (*.f64 y x)) 0) |
(*.f64 27 (*.f64 y x)) |
(+.f64 0 (*.f64 27 (*.f64 y x))) |
(*.f64 27 (*.f64 y x)) |
(+.f64 (*.f64 y (*.f64 x 27/2)) (*.f64 y (*.f64 x 27/2))) |
(*.f64 27 (*.f64 y x)) |
(-.f64 (*.f64 27 (*.f64 y x)) 0) |
(*.f64 27 (*.f64 y x)) |
(/.f64 (*.f64 27 (*.f64 y x)) 1) |
(*.f64 27 (*.f64 y x)) |
(/.f64 (*.f64 y (*.f64 x 54)) 2) |
(*.f64 27 (*.f64 y x)) |
(/.f64 (*.f64 y (*.f64 x 108)) 4) |
(*.f64 27 (*.f64 y x)) |
(/.f64 (*.f64 (*.f64 y (*.f64 x 54)) 4) 8) |
(*.f64 27 (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4)) 16) |
(*.f64 27 (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4))) 32) |
(*.f64 27 (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4)))) 64) |
(*.f64 27 (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4))))) 128) |
(*.f64 27 (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4)))))) 256) |
(*.f64 27 (*.f64 y x)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x 54)) 4))))))) 512) |
(*.f64 27 (*.f64 y x)) |
(pow.f64 (*.f64 27 (*.f64 y x)) 1) |
(*.f64 27 (*.f64 y x)) |
Compiled 188 to 147 computations (21.8% saved)
3 alts after pruning (0 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 16 | 0 | 16 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 16 | 3 | 19 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.2b | (*.f64 (*.f64 x 27) y) |
| ✓ | 0.2b | (*.f64 x (*.f64 27 y)) |
| ✓ | 0.3b | (*.f64 27 (*.f64 y x)) |
Compiled 21 to 15 computations (28.6% saved)
| Inputs |
|---|
(*.f64 27 (*.f64 y x)) |
(*.f64 x (*.f64 27 y)) |
(*.f64 (*.f64 x 27) y) |
| Outputs |
|---|
(*.f64 (*.f64 x 27) y) |
4 calls:
| 4.0ms | y |
| 4.0ms | (*.f64 x 27) |
| 3.0ms | x |
| 3.0ms | (*.f64 (*.f64 x 27) y) |
| Error | Segments | Branch |
|---|---|---|
| 0.2b | 1 | x |
| 0.2b | 1 | y |
| 0.2b | 1 | (*.f64 (*.f64 x 27) y) |
| 0.2b | 1 | (*.f64 x 27) |
Compiled 35 to 24 computations (31.4% saved)
Total -0.2b remaining (-112.5%)
Threshold costs -0.2b (-112.5%)
| Inputs |
|---|
(*.f64 27 (*.f64 y x)) |
(*.f64 x (*.f64 27 y)) |
| Outputs |
|---|
(*.f64 x (*.f64 27 y)) |
2 calls:
| 3.0ms | y |
| 3.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 0.2b | 1 | x |
| 0.2b | 1 | y |
Compiled 18 to 12 computations (33.3% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 39 |
| 1× | done |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (*.f64 x 27) y) |
(*.f64 x (*.f64 27 y)) |
(*.f64 27 (*.f64 y x)) |
| Outputs |
|---|
(*.f64 (*.f64 x 27) y) |
(*.f64 x (*.f64 27 y)) |
(*.f64 27 (*.f64 y x)) |
Compiled 21 to 15 computations (28.6% saved)
Compiled 31 to 21 computations (32.3% saved)
Loading profile data...