Time bar (total: 10.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 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 5 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 6 |
| 12.5% | 12.5% | 87.4% | 0.1% | 0% | 0% | 0% | 7 |
| 18.8% | 18.7% | 81.1% | 0.1% | 0% | 0% | 0% | 8 |
| 28.1% | 28.1% | 71.8% | 0.1% | 0% | 0% | 0% | 9 |
| 37.6% | 34.3% | 56.9% | 0.1% | 8.6% | 0% | 0% | 10 |
| 44.8% | 40.6% | 49.9% | 0.1% | 9.4% | 0% | 0% | 11 |
| 53.4% | 48% | 41.9% | 0.1% | 9.9% | 0% | 0% | 12 |
Compiled 11 to 8 computations (27.3% saved)
| 2.9s | 8256× | body | 256 | valid |
| 174.0ms | 1129× | body | 256 | infinite |
| 2× | egg-herbie |
| 12× | rational.json-simplify-1 |
| 6× | rational.json-simplify-17 |
| 6× | rational.json-simplify-2 |
| 2× | swap-x-y |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 76 |
| 1 | 25 | 76 |
| 2 | 29 | 76 |
| 0 | 3 | 3 |
| 1 | 3 | 3 |
| 1× | unsound |
| 1× | saturated |
| Inputs |
|---|
0 |
1 |
2 |
| Outputs |
|---|
0 |
1 |
0 |
2 |
| Inputs |
|---|
(*.f64 (+.f64 x y) (+.f64 z 1)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (+.f64 z y) (+.f64 x 1)) |
(*.f64 (+.f64 x z) (+.f64 y 1)) |
| Outputs |
|---|
(*.f64 (+.f64 x y) (+.f64 z 1)) |
(*.f64 (+.f64 z 1) (+.f64 x y)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (+.f64 z 1) (+.f64 x y)) |
(*.f64 (+.f64 z y) (+.f64 x 1)) |
(*.f64 (+.f64 y z) (+.f64 x 1)) |
(*.f64 (+.f64 y z) (-.f64 x -1)) |
(*.f64 (+.f64 x z) (+.f64 y 1)) |
(sort x y)
Compiled 13 to 10 computations (23.1% saved)
| 1× | egg-herbie |
| 4× | rational.json-simplify-1 |
| 2× | rational.json-simplify-17 |
| 2× | rational.json-simplify-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 19 |
| 1 | 12 | 19 |
| 2 | 14 | 19 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (+.f64 x y) (+.f64 z 1)) |
| Outputs |
|---|
(*.f64 (+.f64 x y) (+.f64 z 1)) |
Compiled 10 to 7 computations (30% 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.0b | (*.f64 (+.f64 x y) (+.f64 z 1)) |
Compiled 10 to 7 computations (30% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 (+.f64 x y) (+.f64 z 1)) |
Compiled 20 to 10 computations (50% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | z | @ | 0 | (*.f64 (+.f64 x y) (+.f64 z 1)) |
| 0.0ms | x | @ | inf | (*.f64 (+.f64 x y) (+.f64 z 1)) |
| 0.0ms | x | @ | 0 | (*.f64 (+.f64 x y) (+.f64 z 1)) |
| 0.0ms | y | @ | inf | (*.f64 (+.f64 x y) (+.f64 z 1)) |
| 0.0ms | x | @ | -inf | (*.f64 (+.f64 x y) (+.f64 z 1)) |
| 1× | batch-egg-rewrite |
| 2710× | rational.json-simplify-35 |
| 1348× | rational.json-simplify-1 |
| 1182× | rational.json-1 |
| 1182× | rational.json-2 |
| 1182× | rational.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 19 |
| 1 | 69 | 19 |
| 2 | 151 | 19 |
| 3 | 286 | 19 |
| 4 | 542 | 19 |
| 5 | 1195 | 19 |
| 6 | 2582 | 19 |
| 7 | 4043 | 19 |
| 8 | 5310 | 19 |
| 9 | 6504 | 19 |
| 10 | 7015 | 19 |
| 11 | 7015 | 19 |
| 12 | 7015 | 19 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (+.f64 x y) (+.f64 z 1)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 x y) (+.f64 z 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 1/2)) (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x y) (+.f64 z (+.f64 z 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x y) (*.f64 (+.f64 z 1) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 8))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 8))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 8)))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 1))))) |
| 1× | egg-herbie |
| 2370× | rational.json-simplify-41 |
| 2356× | rational.json-simplify-2 |
| 1746× | rational.json-simplify-35 |
| 1496× | rational.json-simplify-53 |
| 860× | exponential.json-simplify-26 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 58 | 963 |
| 1 | 150 | 963 |
| 2 | 285 | 963 |
| 3 | 596 | 963 |
| 4 | 2053 | 963 |
| 5 | 3623 | 963 |
| 6 | 4412 | 963 |
| 7 | 4630 | 963 |
| 8 | 4784 | 963 |
| 9 | 4932 | 963 |
| 10 | 6815 | 963 |
| 11 | 7681 | 963 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y (+.f64 1 z)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 1 z) x) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 1 z) x) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 1 z) x) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 y (+.f64 1 z)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 y (+.f64 1 z)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(+.f64 y x) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(*.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(*.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 0) |
(+.f64 0 (*.f64 (+.f64 x y) (+.f64 z 1))) |
(+.f64 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 1/2)) (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 1/2))) |
(-.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 0) |
(/.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 1) |
(/.f64 (*.f64 (+.f64 x y) (+.f64 z (+.f64 z 2))) 2) |
(/.f64 (*.f64 (+.f64 x y) (*.f64 (+.f64 z 1) 4)) 4) |
(/.f64 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 8)) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 8))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 8)))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 8))))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 8)))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 8))))))) 256) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 8))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 8)))))))) 512) |
(pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 1) |
| Outputs |
|---|
(*.f64 y (+.f64 1 z)) |
(*.f64 y (-.f64 z -1)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(*.f64 (+.f64 1 z) x) |
(*.f64 x (+.f64 1 z)) |
(*.f64 x (-.f64 z -1)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(*.f64 (+.f64 1 z) x) |
(*.f64 x (+.f64 1 z)) |
(*.f64 x (-.f64 z -1)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(*.f64 (+.f64 1 z) x) |
(*.f64 x (+.f64 1 z)) |
(*.f64 x (-.f64 z -1)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(*.f64 y (+.f64 1 z)) |
(*.f64 y (-.f64 z -1)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(*.f64 y (+.f64 1 z)) |
(*.f64 y (-.f64 z -1)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(+.f64 y x) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 x (*.f64 z (+.f64 y x)))) |
(+.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 x (*.f64 z (+.f64 y x)))) |
(+.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 x (*.f64 z (+.f64 y x)))) |
(+.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) |
(*.f64 (+.f64 y x) z) |
(*.f64 z (+.f64 y x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 x (*.f64 z (+.f64 y x)))) |
(+.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 x (*.f64 z (+.f64 y x)))) |
(+.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 x (*.f64 z (+.f64 y x)))) |
(+.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) |
(*.f64 (+.f64 y x) z) |
(*.f64 z (+.f64 y x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 x (*.f64 z (+.f64 y x)))) |
(+.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 x (*.f64 z (+.f64 y x)))) |
(+.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 x (*.f64 z (+.f64 y x)))) |
(+.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) |
(+.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 0) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(+.f64 0 (*.f64 (+.f64 x y) (+.f64 z 1))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(+.f64 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 1/2)) (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 1/2))) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(-.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 0) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(/.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 1) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(/.f64 (*.f64 (+.f64 x y) (+.f64 z (+.f64 z 2))) 2) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(/.f64 (*.f64 (+.f64 x y) (*.f64 (+.f64 z 1) 4)) 4) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(/.f64 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 8)) 8) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 8))) 16) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 8)))) 32) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 8))))) 64) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 8)))))) 128) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 8))))))) 256) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 8))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) 8)))))))) 512) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
(pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 1) |
(*.f64 (+.f64 y x) (+.f64 1 z)) |
(*.f64 (+.f64 y x) (-.f64 z -1)) |
Compiled 316 to 194 computations (38.6% saved)
6 alts after pruning (5 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 24 | 5 | 29 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 24 | 6 | 30 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.0b | (+.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) |
| ▶ | 21.9b | (+.f64 y x) |
| ▶ | 41.4b | (*.f64 (+.f64 y x) z) |
| ✓ | 0.0b | (*.f64 (+.f64 x y) (+.f64 z 1)) |
| ▶ | 31.2b | (*.f64 (+.f64 1 z) x) |
| ▶ | 31.8b | (*.f64 y (-.f64 z -1)) |
Compiled 94 to 61 computations (35.1% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 z (+.f64 y x)) |
| ✓ | 0.0b | (+.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) |
Compiled 23 to 6 computations (73.9% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | inf | (+.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) |
| 0.0ms | z | @ | inf | (+.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) |
| 0.0ms | z | @ | -inf | (+.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) |
| 0.0ms | x | @ | -inf | (+.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) |
| 0.0ms | y | @ | 0 | (+.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) |
| 1× | batch-egg-rewrite |
| 1784× | rational.json-1 |
| 1784× | rational.json-2 |
| 1784× | rational.json-3 |
| 1718× | rational.json-simplify-35 |
| 1372× | exponential.json-3 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 38 |
| 1 | 55 | 32 |
| 2 | 128 | 32 |
| 3 | 289 | 32 |
| 4 | 616 | 32 |
| 5 | 1593 | 32 |
| 6 | 3719 | 32 |
| 7 | 5823 | 32 |
| 8 | 7609 | 32 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) |
(*.f64 z (+.f64 y x)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y x) (+.f64 z 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y x) (*.f64 1/2 (+.f64 z (+.f64 z 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (+.f64 y x) (+.f64 z 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 y x) (*.f64 (+.f64 z 1) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (+.f64 y x) 1/4) (+.f64 z (+.f64 z 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y x) (+.f64 z (+.f64 z 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y x) 2) (*.f64 (+.f64 z 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y x) 2) (+.f64 (*.f64 z 1/2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y x) 2) (+.f64 1/2 (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y x) 2) (*.f64 1/4 (+.f64 z (+.f64 z 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z 1) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 y x) (/.f64 (+.f64 z 1) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 (+.f64 y x) 8) (+.f64 z (+.f64 z 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y x) (*.f64 (+.f64 z 1) 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y x) 4) (/.f64 (+.f64 z 1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y x) 4) (*.f64 1/4 (+.f64 z 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y x) 4) (*.f64 1/8 (+.f64 z (+.f64 z 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (/.f64 (+.f64 y x) 8) (+.f64 z 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y x) 8) (*.f64 1/8 (+.f64 z 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z (+.f64 z 2)) (*.f64 (+.f64 y x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 y x) (+.f64 z (+.f64 z 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (+.f64 x (*.f64 z (+.f64 y x))) 2) (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 z (*.f64 (+.f64 y x) 2)) (*.f64 (+.f64 y x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (+.f64 y x) 2) (*.f64 z (*.f64 (+.f64 y x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y x) 1/2) (+.f64 z (+.f64 z 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y x) 1/2) (+.f64 (+.f64 z z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y x) 1/2) (+.f64 2 (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y x) (*.f64 (+.f64 z 1) 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (+.f64 y x) 8)) (*.f64 1/16 (+.f64 z 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z 1) 4) (*.f64 (+.f64 y x) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 y x) (*.f64 (+.f64 z 1) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z 1) 1/2) (*.f64 (+.f64 y x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y x) (/.f64 (+.f64 z 1) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y x) (+.f64 z (+.f64 z 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y x) (*.f64 (+.f64 z 1) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (+.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (+.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 (+.f64 y x) 1/2)) (*.f64 z (*.f64 (+.f64 y x) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (+.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (+.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 (+.f64 y x) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 (+.f64 y x) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 y x) 8) z) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) 8) z)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) 8) z))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) 8) z)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) 8) z)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) 8) z))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (+.f64 y x)) 1))))) |
| 1× | egg-herbie |
| 2192× | rational.json-simplify-2 |
| 2132× | rational.json-simplify-35 |
| 1160× | rational.json-simplify-51 |
| 1046× | rational.json-simplify-1 |
| 838× | rational.json-simplify-43 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 155 | 2638 |
| 1 | 363 | 2638 |
| 2 | 737 | 2638 |
| 3 | 2122 | 2320 |
| 4 | 4887 | 2320 |
| 5 | 5607 | 2320 |
| 6 | 5980 | 2320 |
| 7 | 6210 | 2320 |
| 8 | 6532 | 2320 |
| 9 | 7012 | 2320 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 y x) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(*.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(*.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x)) |
(*.f64 y (+.f64 1 z)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x)) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1))) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1))))) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1))))) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1))))) |
(+.f64 (*.f64 y z) y) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y)) |
(*.f64 (+.f64 1 z) x) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)) |
(+.f64 (*.f64 y z) (+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))) |
(+.f64 (*.f64 y z) (+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))) |
(+.f64 (*.f64 y z) (+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))) |
(*.f64 (+.f64 y x) z) |
(*.f64 (+.f64 y x) z) |
(*.f64 (+.f64 y x) z) |
(*.f64 (+.f64 y x) z) |
(*.f64 (+.f64 y x) z) |
(*.f64 (+.f64 y x) z) |
(*.f64 (+.f64 y x) z) |
(*.f64 (+.f64 y x) z) |
(*.f64 (+.f64 y x) z) |
(*.f64 (+.f64 y x) z) |
(*.f64 (+.f64 y x) z) |
(*.f64 (+.f64 y x) z) |
(*.f64 z x) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 z x) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 z x) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(-.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 0) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (+.f64 y x) (*.f64 1/2 (+.f64 z (+.f64 z 2)))) |
(*.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 1) |
(*.f64 1 (*.f64 (+.f64 y x) (+.f64 z 1))) |
(*.f64 2 (*.f64 (+.f64 y x) (*.f64 (+.f64 z 1) 1/2))) |
(*.f64 2 (*.f64 (*.f64 (+.f64 y x) 1/4) (+.f64 z (+.f64 z 2)))) |
(*.f64 (*.f64 (+.f64 y x) (+.f64 z (+.f64 z 2))) 1/2) |
(*.f64 (*.f64 (+.f64 y x) 2) (*.f64 (+.f64 z 1) 1/2)) |
(*.f64 (*.f64 (+.f64 y x) 2) (+.f64 (*.f64 z 1/2) 1/2)) |
(*.f64 (*.f64 (+.f64 y x) 2) (+.f64 1/2 (*.f64 z 1/2))) |
(*.f64 (*.f64 (+.f64 y x) 2) (*.f64 1/4 (+.f64 z (+.f64 z 2)))) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(*.f64 4 (*.f64 (+.f64 y x) (/.f64 (+.f64 z 1) 4))) |
(*.f64 4 (*.f64 (/.f64 (+.f64 y x) 8) (+.f64 z (+.f64 z 2)))) |
(*.f64 (*.f64 (+.f64 y x) (*.f64 (+.f64 z 1) 4)) 1/4) |
(*.f64 (*.f64 (+.f64 y x) 4) (/.f64 (+.f64 z 1) 4)) |
(*.f64 (*.f64 (+.f64 y x) 4) (*.f64 1/4 (+.f64 z 1))) |
(*.f64 (*.f64 (+.f64 y x) 4) (*.f64 1/8 (+.f64 z (+.f64 z 2)))) |
(*.f64 8 (*.f64 (/.f64 (+.f64 y x) 8) (+.f64 z 1))) |
(*.f64 (*.f64 (+.f64 y x) 8) (*.f64 1/8 (+.f64 z 1))) |
(*.f64 (*.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 8) 1/8) |
(*.f64 (+.f64 z (+.f64 z 2)) (*.f64 (+.f64 y x) 1/2)) |
(*.f64 1/2 (*.f64 (+.f64 y x) (+.f64 z (+.f64 z 2)))) |
(*.f64 1/2 (+.f64 (*.f64 (+.f64 x (*.f64 z (+.f64 y x))) 2) (+.f64 y y))) |
(*.f64 1/2 (+.f64 (*.f64 z (*.f64 (+.f64 y x) 2)) (*.f64 (+.f64 y x) 2))) |
(*.f64 1/2 (+.f64 (*.f64 (+.f64 y x) 2) (*.f64 z (*.f64 (+.f64 y x) 2)))) |
(*.f64 (*.f64 (+.f64 y x) 1/2) (+.f64 z (+.f64 z 2))) |
(*.f64 (*.f64 (+.f64 y x) 1/2) (+.f64 (+.f64 z z) 2)) |
(*.f64 (*.f64 (+.f64 y x) 1/2) (+.f64 2 (+.f64 z z))) |
(*.f64 (*.f64 (+.f64 y x) (*.f64 (+.f64 z 1) 1/2)) 2) |
(*.f64 (*.f64 2 (*.f64 (+.f64 y x) 8)) (*.f64 1/16 (+.f64 z 1))) |
(*.f64 (*.f64 (+.f64 z 1) 4) (*.f64 (+.f64 y x) 1/4)) |
(*.f64 1/4 (*.f64 (+.f64 y x) (*.f64 (+.f64 z 1) 4))) |
(*.f64 (*.f64 (+.f64 z 1) 1/2) (*.f64 (+.f64 y x) 2)) |
(*.f64 (*.f64 (+.f64 y x) (/.f64 (+.f64 z 1) 4)) 4) |
(/.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 1) |
(/.f64 (*.f64 (+.f64 y x) (+.f64 z (+.f64 z 2))) 2) |
(/.f64 (*.f64 (+.f64 y x) (*.f64 (+.f64 z 1) 4)) 4) |
(/.f64 (*.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 8)))) 64) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 8))))) 128) |
(pow.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 1) |
(+.f64 (*.f64 z (+.f64 y x)) 0) |
(+.f64 0 (*.f64 z (+.f64 y x))) |
(+.f64 (*.f64 z (*.f64 (+.f64 y x) 1/2)) (*.f64 z (*.f64 (+.f64 y x) 1/2))) |
(-.f64 (*.f64 z (+.f64 y x)) 0) |
(/.f64 (*.f64 z (+.f64 y x)) 1) |
(/.f64 (*.f64 z (*.f64 (+.f64 y x) 2)) 2) |
(/.f64 (*.f64 z (*.f64 (+.f64 y x) 4)) 4) |
(/.f64 (*.f64 (*.f64 (+.f64 y x) 8) z) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) 8) z)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) 8) z))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) 8) z)))) 64) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) 8) z)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) 8) z))))) 128) |
(pow.f64 (*.f64 z (+.f64 y x)) 1) |
| Outputs |
|---|
(+.f64 y x) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (+.f64 y x) z) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x)) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(+.f64 (*.f64 z x) x) |
(+.f64 x (*.f64 x z)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x)) |
(+.f64 (*.f64 x z) (+.f64 x (*.f64 y (+.f64 z 1)))) |
(+.f64 x (+.f64 (*.f64 y (+.f64 z 1)) (*.f64 x z))) |
(+.f64 x (+.f64 (*.f64 x z) (*.f64 y (+.f64 z 1)))) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x)) |
(+.f64 (*.f64 x z) (+.f64 x (*.f64 y (+.f64 z 1)))) |
(+.f64 x (+.f64 (*.f64 y (+.f64 z 1)) (*.f64 x z))) |
(+.f64 x (+.f64 (*.f64 x z) (*.f64 y (+.f64 z 1)))) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x)) |
(+.f64 (*.f64 x z) (+.f64 x (*.f64 y (+.f64 z 1)))) |
(+.f64 x (+.f64 (*.f64 y (+.f64 z 1)) (*.f64 x z))) |
(+.f64 x (+.f64 (*.f64 x z) (*.f64 y (+.f64 z 1)))) |
(*.f64 y (+.f64 1 z)) |
(*.f64 y (+.f64 z 1)) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x)) |
(+.f64 (*.f64 x z) (+.f64 x (*.f64 y (+.f64 z 1)))) |
(+.f64 x (+.f64 (*.f64 y (+.f64 z 1)) (*.f64 x z))) |
(+.f64 x (+.f64 (*.f64 x z) (*.f64 y (+.f64 z 1)))) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x)) |
(+.f64 (*.f64 x z) (+.f64 x (*.f64 y (+.f64 z 1)))) |
(+.f64 x (+.f64 (*.f64 y (+.f64 z 1)) (*.f64 x z))) |
(+.f64 x (+.f64 (*.f64 x z) (*.f64 y (+.f64 z 1)))) |
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x)) |
(+.f64 (*.f64 x z) (+.f64 x (*.f64 y (+.f64 z 1)))) |
(+.f64 x (+.f64 (*.f64 y (+.f64 z 1)) (*.f64 x z))) |
(+.f64 x (+.f64 (*.f64 x z) (*.f64 y (+.f64 z 1)))) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1))) |
(*.f64 y (+.f64 z 1)) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1))))) |
(+.f64 (*.f64 x z) (+.f64 x (*.f64 y (+.f64 z 1)))) |
(+.f64 x (+.f64 (*.f64 y (+.f64 z 1)) (*.f64 x z))) |
(+.f64 x (+.f64 (*.f64 x z) (*.f64 y (+.f64 z 1)))) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1))))) |
(+.f64 (*.f64 x z) (+.f64 x (*.f64 y (+.f64 z 1)))) |
(+.f64 x (+.f64 (*.f64 y (+.f64 z 1)) (*.f64 x z))) |
(+.f64 x (+.f64 (*.f64 x z) (*.f64 y (+.f64 z 1)))) |
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1))))) |
(+.f64 (*.f64 x z) (+.f64 x (*.f64 y (+.f64 z 1)))) |
(+.f64 x (+.f64 (*.f64 y (+.f64 z 1)) (*.f64 x z))) |
(+.f64 x (+.f64 (*.f64 x z) (*.f64 y (+.f64 z 1)))) |
(+.f64 (*.f64 y z) y) |
(+.f64 y (*.f64 y z)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y)) |
(+.f64 (*.f64 y z) (+.f64 y (*.f64 x (+.f64 z 1)))) |
(+.f64 y (+.f64 (*.f64 x (+.f64 z 1)) (*.f64 y z))) |
(+.f64 y (+.f64 (*.f64 y z) (*.f64 x (+.f64 z 1)))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y)) |
(+.f64 (*.f64 y z) (+.f64 y (*.f64 x (+.f64 z 1)))) |
(+.f64 y (+.f64 (*.f64 x (+.f64 z 1)) (*.f64 y z))) |
(+.f64 y (+.f64 (*.f64 y z) (*.f64 x (+.f64 z 1)))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y)) |
(+.f64 (*.f64 y z) (+.f64 y (*.f64 x (+.f64 z 1)))) |
(+.f64 y (+.f64 (*.f64 x (+.f64 z 1)) (*.f64 y z))) |
(+.f64 y (+.f64 (*.f64 y z) (*.f64 x (+.f64 z 1)))) |
(*.f64 (+.f64 1 z) x) |
(*.f64 x (+.f64 z 1)) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y)) |
(+.f64 (*.f64 y z) (+.f64 y (*.f64 x (+.f64 z 1)))) |
(+.f64 y (+.f64 (*.f64 x (+.f64 z 1)) (*.f64 y z))) |
(+.f64 y (+.f64 (*.f64 y z) (*.f64 x (+.f64 z 1)))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y)) |
(+.f64 (*.f64 y z) (+.f64 y (*.f64 x (+.f64 z 1)))) |
(+.f64 y (+.f64 (*.f64 x (+.f64 z 1)) (*.f64 y z))) |
(+.f64 y (+.f64 (*.f64 y z) (*.f64 x (+.f64 z 1)))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y)) |
(+.f64 (*.f64 y z) (+.f64 y (*.f64 x (+.f64 z 1)))) |
(+.f64 y (+.f64 (*.f64 x (+.f64 z 1)) (*.f64 y z))) |
(+.f64 y (+.f64 (*.f64 y z) (*.f64 x (+.f64 z 1)))) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)) |
(*.f64 x (+.f64 z 1)) |
(+.f64 (*.f64 y z) (+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))) |
(+.f64 (*.f64 y z) (+.f64 y (*.f64 x (+.f64 z 1)))) |
(+.f64 y (+.f64 (*.f64 x (+.f64 z 1)) (*.f64 y z))) |
(+.f64 y (+.f64 (*.f64 y z) (*.f64 x (+.f64 z 1)))) |
(+.f64 (*.f64 y z) (+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))) |
(+.f64 (*.f64 y z) (+.f64 y (*.f64 x (+.f64 z 1)))) |
(+.f64 y (+.f64 (*.f64 x (+.f64 z 1)) (*.f64 y z))) |
(+.f64 y (+.f64 (*.f64 y z) (*.f64 x (+.f64 z 1)))) |
(+.f64 (*.f64 y z) (+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))) |
(+.f64 (*.f64 y z) (+.f64 y (*.f64 x (+.f64 z 1)))) |
(+.f64 y (+.f64 (*.f64 x (+.f64 z 1)) (*.f64 y z))) |
(+.f64 y (+.f64 (*.f64 y z) (*.f64 x (+.f64 z 1)))) |
(*.f64 (+.f64 y x) z) |
(*.f64 (+.f64 y x) z) |
(*.f64 (+.f64 y x) z) |
(*.f64 (+.f64 y x) z) |
(*.f64 (+.f64 y x) z) |
(*.f64 (+.f64 y x) z) |
(*.f64 (+.f64 y x) z) |
(*.f64 (+.f64 y x) z) |
(*.f64 (+.f64 y x) z) |
(*.f64 (+.f64 y x) z) |
(*.f64 (+.f64 y x) z) |
(*.f64 (+.f64 y x) z) |
(*.f64 z x) |
(*.f64 x z) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 (+.f64 y x) z) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 (+.f64 y x) z) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 (+.f64 y x) z) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 (+.f64 y x) z) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 (+.f64 y x) z) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 (+.f64 y x) z) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 (+.f64 y x) z) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 (+.f64 y x) z) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 (+.f64 y x) z) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 (+.f64 y x) z) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 (+.f64 y x) z) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 (+.f64 y x) z) |
(*.f64 z x) |
(*.f64 x z) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 (+.f64 y x) z) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 (+.f64 y x) z) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 (+.f64 y x) z) |
(*.f64 z x) |
(*.f64 x z) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 (+.f64 y x) z) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 (+.f64 y x) z) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 (+.f64 y x) z) |
(-.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 0) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (*.f64 1/2 (+.f64 z (+.f64 z 2)))) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 1) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 1 (*.f64 (+.f64 y x) (+.f64 z 1))) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 2 (*.f64 (+.f64 y x) (*.f64 (+.f64 z 1) 1/2))) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 2 (*.f64 (*.f64 (+.f64 y x) 1/4) (+.f64 z (+.f64 z 2)))) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (*.f64 (+.f64 y x) (+.f64 z (+.f64 z 2))) 1/2) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (*.f64 (+.f64 y x) 2) (*.f64 (+.f64 z 1) 1/2)) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (*.f64 (+.f64 y x) 2) (+.f64 (*.f64 z 1/2) 1/2)) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (*.f64 (+.f64 y x) 2) (+.f64 1/2 (*.f64 z 1/2))) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (*.f64 (+.f64 y x) 2) (*.f64 1/4 (+.f64 z (+.f64 z 2)))) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (+.f64 z 1) (+.f64 y x)) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 4 (*.f64 (+.f64 y x) (/.f64 (+.f64 z 1) 4))) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 4 (*.f64 (/.f64 (+.f64 y x) 8) (+.f64 z (+.f64 z 2)))) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (*.f64 (+.f64 y x) (*.f64 (+.f64 z 1) 4)) 1/4) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (*.f64 (+.f64 y x) 4) (/.f64 (+.f64 z 1) 4)) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (*.f64 (+.f64 y x) 4) (*.f64 1/4 (+.f64 z 1))) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (*.f64 (+.f64 y x) 4) (*.f64 1/8 (+.f64 z (+.f64 z 2)))) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 8 (*.f64 (/.f64 (+.f64 y x) 8) (+.f64 z 1))) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (*.f64 (+.f64 y x) 8) (*.f64 1/8 (+.f64 z 1))) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (*.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 8) 1/8) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (+.f64 z (+.f64 z 2)) (*.f64 (+.f64 y x) 1/2)) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 1/2 (*.f64 (+.f64 y x) (+.f64 z (+.f64 z 2)))) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 1/2 (+.f64 (*.f64 (+.f64 x (*.f64 z (+.f64 y x))) 2) (+.f64 y y))) |
(*.f64 1/2 (+.f64 (*.f64 2 (+.f64 x (*.f64 (+.f64 y x) z))) (+.f64 y y))) |
(*.f64 1/2 (+.f64 y (+.f64 y (*.f64 2 (+.f64 x (*.f64 (+.f64 y x) z)))))) |
(*.f64 1/2 (+.f64 (*.f64 z (*.f64 (+.f64 y x) 2)) (*.f64 (+.f64 y x) 2))) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 1/2 (+.f64 (*.f64 (+.f64 y x) 2) (*.f64 z (*.f64 (+.f64 y x) 2)))) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (*.f64 (+.f64 y x) 1/2) (+.f64 z (+.f64 z 2))) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (*.f64 (+.f64 y x) 1/2) (+.f64 (+.f64 z z) 2)) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (*.f64 (+.f64 y x) 1/2) (+.f64 2 (+.f64 z z))) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (*.f64 (+.f64 y x) (*.f64 (+.f64 z 1) 1/2)) 2) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (*.f64 2 (*.f64 (+.f64 y x) 8)) (*.f64 1/16 (+.f64 z 1))) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (*.f64 (+.f64 z 1) 4) (*.f64 (+.f64 y x) 1/4)) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 1/4 (*.f64 (+.f64 y x) (*.f64 (+.f64 z 1) 4))) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (*.f64 (+.f64 z 1) 1/2) (*.f64 (+.f64 y x) 2)) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(*.f64 (*.f64 (+.f64 y x) (/.f64 (+.f64 z 1) 4)) 4) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(/.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 1) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(/.f64 (*.f64 (+.f64 y x) (+.f64 z (+.f64 z 2))) 2) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(/.f64 (*.f64 (+.f64 y x) (*.f64 (+.f64 z 1) 4)) 4) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(/.f64 (*.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 8) 8) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 8)) 16) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 8))) 32) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 8)))) 64) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 8))))) 128) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(pow.f64 (*.f64 (+.f64 y x) (+.f64 z 1)) 1) |
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) z))) |
(+.f64 (+.f64 y x) (*.f64 (+.f64 y x) z)) |
(*.f64 (+.f64 y x) (+.f64 z 1)) |
(+.f64 (*.f64 z (+.f64 y x)) 0) |
(*.f64 (+.f64 y x) z) |
(+.f64 0 (*.f64 z (+.f64 y x))) |
(*.f64 (+.f64 y x) z) |
(+.f64 (*.f64 z (*.f64 (+.f64 y x) 1/2)) (*.f64 z (*.f64 (+.f64 y x) 1/2))) |
(*.f64 (+.f64 y x) z) |
(-.f64 (*.f64 z (+.f64 y x)) 0) |
(*.f64 (+.f64 y x) z) |
(/.f64 (*.f64 z (+.f64 y x)) 1) |
(*.f64 (+.f64 y x) z) |
(/.f64 (*.f64 z (*.f64 (+.f64 y x) 2)) 2) |
(*.f64 (+.f64 y x) z) |
(/.f64 (*.f64 z (*.f64 (+.f64 y x) 4)) 4) |
(*.f64 (+.f64 y x) z) |
(/.f64 (*.f64 (*.f64 (+.f64 y x) 8) z) 8) |
(*.f64 (+.f64 y x) z) |
(/.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) 8) z)) 16) |
(*.f64 (+.f64 y x) z) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) 8) z))) 32) |
(*.f64 (+.f64 y x) z) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) 8) z)))) 64) |
(*.f64 (+.f64 y x) z) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) 8) z)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 y x) 8) z))))) 128) |
(*.f64 (+.f64 y x) z) |
(pow.f64 (*.f64 z (+.f64 y x)) 1) |
(*.f64 (+.f64 y x) z) |
Compiled 8 to 4 computations (50% saved)
Compiled 14 to 9 computations (35.7% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 (+.f64 1 z) x) |
Compiled 14 to 9 computations (35.7% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | inf | (*.f64 (+.f64 1 z) x) |
| 0.0ms | x | @ | 0 | (*.f64 (+.f64 1 z) x) |
| 0.0ms | x | @ | -inf | (*.f64 (+.f64 1 z) x) |
| 0.0ms | z | @ | 0 | (*.f64 (+.f64 1 z) x) |
| 0.0ms | z | @ | -inf | (*.f64 (+.f64 1 z) x) |
| 1× | batch-egg-rewrite |
| 1672× | rational.json-simplify-1 |
| 1502× | rational.json-simplify-35 |
| 1372× | exponential.json-3 |
| 1372× | rational.json-1 |
| 1372× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 58 | 13 |
| 2 | 136 | 13 |
| 3 | 241 | 13 |
| 4 | 441 | 13 |
| 5 | 938 | 13 |
| 6 | 2379 | 13 |
| 7 | 4160 | 13 |
| 8 | 5233 | 13 |
| 9 | 6760 | 13 |
| 10 | 7595 | 13 |
| 11 | 7595 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (+.f64 1 z) x) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 1 z) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 1 z) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 1 z) (*.f64 x 1/2)) (*.f64 (+.f64 1 z) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 1 z) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 z) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 z) (+.f64 x x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 z) (*.f64 x 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 z) (*.f64 x 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 z) (*.f64 x 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 z) (*.f64 x 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 z) (*.f64 x 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 z) (*.f64 x 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 z) (*.f64 x 8))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 1 z) x) 1))))) |
| 1× | egg-herbie |
| 2778× | rational.json-simplify-2 |
| 2570× | rational.json-simplify-35 |
| 1512× | rational.json-simplify-53 |
| 1212× | rational.json-simplify-1 |
| 1048× | exponential.json-simplify-26 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 46 | 314 |
| 1 | 126 | 314 |
| 2 | 236 | 314 |
| 3 | 529 | 314 |
| 4 | 1881 | 314 |
| 5 | 3654 | 314 |
| 6 | 4197 | 314 |
| 7 | 4382 | 314 |
| 8 | 4566 | 314 |
| 9 | 4756 | 314 |
| 10 | 4928 | 314 |
| 11 | 5927 | 314 |
| 12 | 6533 | 314 |
| 13 | 6808 | 314 |
| 14 | 6808 | 314 |
| 15 | 6862 | 314 |
| 16 | 6887 | 314 |
| 17 | 6970 | 314 |
| 18 | 7015 | 314 |
| 19 | 7191 | 314 |
| 20 | 7335 | 314 |
| 21 | 7467 | 314 |
| 1× | node limit |
| Inputs |
|---|
x |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 z x) x) |
(*.f64 z x) |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 z x) x) |
(*.f64 z x) |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 z x) x) |
(+.f64 (*.f64 (+.f64 1 z) x) 0) |
(+.f64 0 (*.f64 (+.f64 1 z) x)) |
(+.f64 (*.f64 (+.f64 1 z) (*.f64 x 1/2)) (*.f64 (+.f64 1 z) (*.f64 x 1/2))) |
(-.f64 (*.f64 (+.f64 1 z) x) 0) |
(/.f64 (*.f64 (+.f64 1 z) x) 1) |
(/.f64 (*.f64 (+.f64 1 z) (+.f64 x x)) 2) |
(/.f64 (*.f64 (+.f64 1 z) (*.f64 x 4)) 4) |
(/.f64 (*.f64 (+.f64 1 z) (*.f64 x 8)) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 1 z) (*.f64 x 8))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 z) (*.f64 x 8)))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 z) (*.f64 x 8))))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 z) (*.f64 x 8)))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 z) (*.f64 x 8))))))) 256) |
(pow.f64 (*.f64 (+.f64 1 z) x) 1) |
| Outputs |
|---|
x |
(+.f64 (*.f64 z x) x) |
(+.f64 x (*.f64 x z)) |
(+.f64 (*.f64 z x) x) |
(+.f64 x (*.f64 x z)) |
(+.f64 (*.f64 z x) x) |
(+.f64 x (*.f64 x z)) |
(*.f64 z x) |
(*.f64 x z) |
(+.f64 (*.f64 z x) x) |
(+.f64 x (*.f64 x z)) |
(+.f64 (*.f64 z x) x) |
(+.f64 x (*.f64 x z)) |
(+.f64 (*.f64 z x) x) |
(+.f64 x (*.f64 x z)) |
(*.f64 z x) |
(*.f64 x z) |
(+.f64 (*.f64 z x) x) |
(+.f64 x (*.f64 x z)) |
(+.f64 (*.f64 z x) x) |
(+.f64 x (*.f64 x z)) |
(+.f64 (*.f64 z x) x) |
(+.f64 x (*.f64 x z)) |
(+.f64 (*.f64 (+.f64 1 z) x) 0) |
(*.f64 x (+.f64 z 1)) |
(+.f64 0 (*.f64 (+.f64 1 z) x)) |
(*.f64 x (+.f64 z 1)) |
(+.f64 (*.f64 (+.f64 1 z) (*.f64 x 1/2)) (*.f64 (+.f64 1 z) (*.f64 x 1/2))) |
(*.f64 x (+.f64 z 1)) |
(-.f64 (*.f64 (+.f64 1 z) x) 0) |
(*.f64 x (+.f64 z 1)) |
(/.f64 (*.f64 (+.f64 1 z) x) 1) |
(*.f64 x (+.f64 z 1)) |
(/.f64 (*.f64 (+.f64 1 z) (+.f64 x x)) 2) |
(*.f64 x (+.f64 z 1)) |
(/.f64 (*.f64 (+.f64 1 z) (*.f64 x 4)) 4) |
(*.f64 x (+.f64 z 1)) |
(/.f64 (*.f64 (+.f64 1 z) (*.f64 x 8)) 8) |
(*.f64 x (+.f64 z 1)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 1 z) (*.f64 x 8))) 16) |
(*.f64 x (+.f64 z 1)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 z) (*.f64 x 8)))) 32) |
(*.f64 x (+.f64 z 1)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 z) (*.f64 x 8))))) 64) |
(*.f64 x (+.f64 z 1)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 z) (*.f64 x 8)))))) 128) |
(*.f64 x (+.f64 z 1)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 z) (*.f64 x 8))))))) 256) |
(*.f64 x (+.f64 z 1)) |
(pow.f64 (*.f64 (+.f64 1 z) x) 1) |
(*.f64 x (+.f64 z 1)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 (+.f64 y x) z) |
Compiled 14 to 5 computations (64.3% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (*.f64 (+.f64 y x) z) |
| 0.0ms | y | @ | inf | (*.f64 (+.f64 y x) z) |
| 0.0ms | x | @ | -inf | (*.f64 (+.f64 y x) z) |
| 0.0ms | y | @ | -inf | (*.f64 (+.f64 y x) z) |
| 0.0ms | x | @ | inf | (*.f64 (+.f64 y x) z) |
| 1× | batch-egg-rewrite |
| 2514× | rational.json-simplify-2 |
| 1526× | rational.json-simplify-35 |
| 1252× | rational.json-simplify-1 |
| 1232× | exponential.json-3 |
| 1232× | rational.json-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 46 | 13 |
| 2 | 102 | 13 |
| 3 | 214 | 13 |
| 4 | 397 | 13 |
| 5 | 898 | 13 |
| 6 | 2315 | 13 |
| 7 | 4176 | 13 |
| 8 | 5081 | 13 |
| 9 | 6155 | 13 |
| 10 | 6970 | 13 |
| 11 | 6970 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (+.f64 y x) z) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 y x) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 y x) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 y x) (*.f64 z 1/2)) (*.f64 (+.f64 y x) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 y x) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y x) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y x) (+.f64 z z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y x) (*.f64 z 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y x) (*.f64 z 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 y x) (*.f64 z 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y x) (*.f64 z 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y x) (*.f64 z 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y x) (*.f64 z 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y x) (*.f64 z 8))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 y x) z) 1))))) |
| 1× | egg-herbie |
| 3060× | rational.json-simplify-2 |
| 2726× | rational.json-simplify-35 |
| 2212× | rational.json-simplify-53 |
| 1048× | rational.json-simplify-1 |
| 1044× | exponential.json-simplify-26 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 48 | 650 |
| 1 | 127 | 458 |
| 2 | 238 | 458 |
| 3 | 543 | 458 |
| 4 | 1930 | 458 |
| 5 | 3809 | 458 |
| 6 | 4387 | 458 |
| 7 | 4530 | 458 |
| 8 | 4637 | 458 |
| 9 | 4742 | 458 |
| 10 | 4845 | 458 |
| 11 | 5807 | 458 |
| 12 | 6413 | 458 |
| 13 | 6687 | 458 |
| 14 | 6687 | 458 |
| 15 | 6687 | 458 |
| 16 | 6790 | 458 |
| 17 | 6893 | 458 |
| 18 | 7465 | 458 |
| 19 | 7722 | 458 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 z x) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 y z) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 z x) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(*.f64 z x) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 (+.f64 y x) z) 0) |
(+.f64 0 (*.f64 (+.f64 y x) z)) |
(+.f64 (*.f64 (+.f64 y x) (*.f64 z 1/2)) (*.f64 (+.f64 y x) (*.f64 z 1/2))) |
(-.f64 (*.f64 (+.f64 y x) z) 0) |
(/.f64 (*.f64 (+.f64 y x) z) 1) |
(/.f64 (*.f64 (+.f64 y x) (+.f64 z z)) 2) |
(/.f64 (*.f64 (+.f64 y x) (*.f64 z 4)) 4) |
(/.f64 (*.f64 (+.f64 y x) (*.f64 z 8)) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 y x) (*.f64 z 8))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y x) (*.f64 z 8)))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y x) (*.f64 z 8))))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y x) (*.f64 z 8)))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y x) (*.f64 z 8))))))) 256) |
(pow.f64 (*.f64 (+.f64 y x) z) 1) |
| Outputs |
|---|
(*.f64 z x) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(*.f64 y z) |
(*.f64 z y) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(*.f64 y z) |
(*.f64 z y) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(*.f64 y z) |
(*.f64 z y) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(*.f64 z x) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(*.f64 z x) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(+.f64 (*.f64 y z) (*.f64 z x)) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(+.f64 (*.f64 (+.f64 y x) z) 0) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(+.f64 0 (*.f64 (+.f64 y x) z)) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(+.f64 (*.f64 (+.f64 y x) (*.f64 z 1/2)) (*.f64 (+.f64 y x) (*.f64 z 1/2))) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(-.f64 (*.f64 (+.f64 y x) z) 0) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(/.f64 (*.f64 (+.f64 y x) z) 1) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(/.f64 (*.f64 (+.f64 y x) (+.f64 z z)) 2) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(/.f64 (*.f64 (+.f64 y x) (*.f64 z 4)) 4) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(/.f64 (*.f64 (+.f64 y x) (*.f64 z 8)) 8) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 y x) (*.f64 z 8))) 16) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y x) (*.f64 z 8)))) 32) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y x) (*.f64 z 8))))) 64) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y x) (*.f64 z 8)))))) 128) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y x) (*.f64 z 8))))))) 256) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
(pow.f64 (*.f64 (+.f64 y x) z) 1) |
(+.f64 (*.f64 z x) (*.f64 z y)) |
(*.f64 z (+.f64 x y)) |
Compiled 1360 to 750 computations (44.9% saved)
9 alts after pruning (3 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 126 | 3 | 129 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 5 | 5 |
| Total | 126 | 9 | 135 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) |
| ✓ | 21.9b | (+.f64 y x) |
| ✓ | 41.4b | (*.f64 (+.f64 y x) z) |
| ✓ | 0.0b | (*.f64 (+.f64 x y) (+.f64 z 1)) |
| ✓ | 31.2b | (*.f64 (+.f64 1 z) x) |
| ▶ | 51.6b | (*.f64 z y) |
| ▶ | 52.3b | (*.f64 z x) |
| ✓ | 31.8b | (*.f64 y (-.f64 z -1)) |
| 41.4b | x |
Compiled 68 to 45 computations (33.8% saved)
Compiled 8 to 4 computations (50% saved)
Compiled 8 to 4 computations (50% saved)
Compiled 3 to 3 computations (0% saved)
9 alts after pruning (1 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 7 | 7 |
| Total | 0 | 9 | 9 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) |
| ✓ | 21.9b | (+.f64 y x) |
| ✓ | 41.4b | (*.f64 (+.f64 y x) z) |
| ✓ | 0.0b | (*.f64 (+.f64 x y) (+.f64 z 1)) |
| ✓ | 31.2b | (*.f64 (+.f64 1 z) x) |
| ✓ | 51.6b | (*.f64 z y) |
| ✓ | 52.3b | (*.f64 z x) |
| ✓ | 31.8b | (*.f64 y (-.f64 z -1)) |
| 41.4b | x |
Compiled 68 to 45 computations (33.8% saved)
Compiled 3 to 3 computations (0% saved)
9 alts after pruning (1 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 8 | 8 |
| Total | 0 | 9 | 9 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) |
| ✓ | 21.9b | (+.f64 y x) |
| ✓ | 41.4b | (*.f64 (+.f64 y x) z) |
| ✓ | 0.0b | (*.f64 (+.f64 x y) (+.f64 z 1)) |
| ✓ | 31.2b | (*.f64 (+.f64 1 z) x) |
| ✓ | 51.6b | (*.f64 z y) |
| ✓ | 52.3b | (*.f64 z x) |
| ✓ | 31.8b | (*.f64 y (-.f64 z -1)) |
| 41.4b | x |
Compiled 68 to 45 computations (33.8% saved)
| Inputs |
|---|
x |
(*.f64 z x) |
(*.f64 z y) |
(+.f64 y x) |
(*.f64 y (-.f64 z -1)) |
(*.f64 (+.f64 1 z) x) |
(*.f64 (+.f64 y x) z) |
(*.f64 (+.f64 x y) (+.f64 z 1)) |
(+.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) |
| Outputs |
|---|
(*.f64 (+.f64 x y) (+.f64 z 1)) |
6 calls:
| 150.0ms | x |
| 7.0ms | (*.f64 (+.f64 x y) (+.f64 z 1)) |
| 6.0ms | (+.f64 x y) |
| 6.0ms | z |
| 6.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 0.0b | 1 | x |
| 0.0b | 1 | y |
| 0.0b | 1 | z |
| 0.0b | 1 | (*.f64 (+.f64 x y) (+.f64 z 1)) |
| 0.0b | 1 | (+.f64 x y) |
| 0.0b | 1 | (+.f64 z 1) |
Compiled 78 to 44 computations (43.6% saved)
| Inputs |
|---|
x |
(*.f64 z x) |
(*.f64 z y) |
(+.f64 y x) |
(*.f64 y (-.f64 z -1)) |
(*.f64 (+.f64 1 z) x) |
(*.f64 (+.f64 y x) z) |
| Outputs |
|---|
(*.f64 (+.f64 y x) z) |
(+.f64 y x) |
(*.f64 (+.f64 y x) z) |
3 calls:
| 451.0ms | x |
| 250.0ms | y |
| 13.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 9.3b | 3 | x |
| 9.1b | 4 | y |
| 1.7b | 3 | z |
Compiled 40 to 22 computations (45% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 97.0ms | 0.824863041704897 | 201861497841.58456 |
| 56.0ms | -10.610701893955143 | -0.0002768668278042899 |
| 150.0ms | 288× | body | 256 | valid |
Compiled 304 to 210 computations (30.9% saved)
| Inputs |
|---|
x |
(*.f64 z x) |
(*.f64 z y) |
(+.f64 y x) |
(*.f64 y (-.f64 z -1)) |
(*.f64 (+.f64 1 z) x) |
| Outputs |
|---|
(*.f64 y (-.f64 z -1)) |
(+.f64 y x) |
(*.f64 y (-.f64 z -1)) |
(*.f64 z x) |
(*.f64 z y) |
3 calls:
| 377.0ms | z |
| 26.0ms | x |
| 20.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 9.3b | 3 | x |
| 9.1b | 4 | y |
| 8.4b | 5 | z |
Compiled 35 to 21 computations (40% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 266.0ms | 5.61856940966052e+92 | 8.3141310692067205e+96 |
| 8.0ms | 7.66223860954289e+20 | 1.9567879856093203e+21 |
| 246.0ms | 1.5994744452294998e-7 | 9.865394549110817e-5 |
| 15.0ms | -2.2104619108462867e-5 | -1.318225753056852e-11 |
| 525.0ms | 480× | body | 256 | valid |
| 4.0ms | 46× | body | 256 | infinite |
Compiled 480 to 356 computations (25.8% saved)
| Inputs |
|---|
x |
(*.f64 z x) |
(*.f64 z y) |
(+.f64 y x) |
| Outputs |
|---|
(*.f64 z y) |
(+.f64 y x) |
(*.f64 z x) |
(*.f64 z y) |
3 calls:
| 19.0ms | x |
| 18.0ms | y |
| 18.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 19.4b | 5 | x |
| 19.3b | 5 | y |
| 9.8b | 4 | z |
Compiled 25 to 15 computations (40% saved)
| 3× | binary-search |
| Time | Left | Right |
|---|---|---|
| 16.0ms | 5.61856940966052e+92 | 8.3141310692067205e+96 |
| 14.0ms | 201861497841.58456 | 950385475092695.4 |
| 13.0ms | -10.610701893955143 | -0.0002768668278042899 |
| 35.0ms | 384× | body | 256 | valid |
| 3.0ms | 40× | body | 256 | infinite |
Compiled 352 to 252 computations (28.4% saved)
| Inputs |
|---|
x |
(*.f64 z x) |
(*.f64 z y) |
| Outputs |
|---|
(*.f64 z y) |
x |
(*.f64 z x) |
(*.f64 z y) |
3 calls:
| 25.0ms | y |
| 22.0ms | x |
| 17.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 31.3b | 6 | x |
| 34.3b | 8 | y |
| 29.3b | 4 | z |
Compiled 22 to 14 computations (36.4% saved)
| 3× | binary-search |
| Time | Left | Right |
|---|---|---|
| 15.0ms | 5.61856940966052e+92 | 8.3141310692067205e+96 |
| 13.0ms | 201861497841.58456 | 950385475092695.4 |
| 13.0ms | -10.610701893955143 | -0.0002768668278042899 |
| 33.0ms | 384× | body | 256 | valid |
| 3.0ms | 37× | body | 256 | infinite |
Compiled 320 to 236 computations (26.3% saved)
Total -30.2b remaining (-94.9%)
Threshold costs -30.2b (-94.9%)
| Inputs |
|---|
x |
(*.f64 z x) |
| Outputs |
|---|
(*.f64 z x) |
x |
(*.f64 z x) |
3 calls:
| 275.0ms | x |
| 9.0ms | y |
| 8.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 39.0b | 5 | x |
| 40.0b | 3 | y |
| 31.8b | 3 | z |
Compiled 19 to 13 computations (31.6% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 12.0ms | 201861497841.58456 | 950385475092695.4 |
| 13.0ms | -10.610701893955143 | -0.0002768668278042899 |
| 22.0ms | 256× | body | 256 | valid |
| 0.0ms | 2× | body | 256 | infinite |
Compiled 208 to 156 computations (25% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 49 | 291 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (+.f64 x y) (+.f64 z 1)) |
(if (<=.f64 z -1) (*.f64 (+.f64 y x) z) (if (<=.f64 z 1) (+.f64 y x) (*.f64 (+.f64 y x) z))) |
(if (<=.f64 z -519460313115661/2361183241434822606848) (*.f64 y (-.f64 z -1)) (if (<=.f64 z 1357680363825023/295147905179352825856) (+.f64 y x) (if (<=.f64 z 1250000000000000000000) (*.f64 y (-.f64 z -1)) (if (<=.f64 z 185000000000000007445839494117968446440849340072669233415128227698978790187303085484579246571520) (*.f64 z x) (*.f64 z y))))) |
(if (<=.f64 z -1) (*.f64 z y) (if (<=.f64 z 205000000000) (+.f64 y x) (if (<=.f64 z 114999999999999998619824244028815650131979556891638088926204829163422411312146207323030101688320) (*.f64 z x) (*.f64 z y)))) |
(if (<=.f64 z -1) (*.f64 z y) (if (<=.f64 z 205000000000) x (if (<=.f64 z 86000000000000000256684862697764139595835675685229545215993005913689124724785055303559953776640) (*.f64 z x) (*.f64 z y)))) |
(if (<=.f64 z -1) (*.f64 z x) (if (<=.f64 z 205000000000) x (*.f64 z x))) |
x |
| Outputs |
|---|
(*.f64 (+.f64 x y) (+.f64 z 1)) |
(if (<=.f64 z -1) (*.f64 (+.f64 y x) z) (if (<=.f64 z 1) (+.f64 y x) (*.f64 (+.f64 y x) z))) |
(if (<=.f64 z -519460313115661/2361183241434822606848) (*.f64 y (-.f64 z -1)) (if (<=.f64 z 1357680363825023/295147905179352825856) (+.f64 y x) (if (<=.f64 z 1250000000000000000000) (*.f64 y (-.f64 z -1)) (if (<=.f64 z 185000000000000007445839494117968446440849340072669233415128227698978790187303085484579246571520) (*.f64 z x) (*.f64 z y))))) |
(if (<=.f64 z -1) (*.f64 z y) (if (<=.f64 z 205000000000) (+.f64 y x) (if (<=.f64 z 114999999999999998619824244028815650131979556891638088926204829163422411312146207323030101688320) (*.f64 z x) (*.f64 z y)))) |
(if (<=.f64 z -1) (*.f64 z y) (if (<=.f64 z 205000000000) x (if (<=.f64 z 86000000000000000256684862697764139595835675685229545215993005913689124724785055303559953776640) (*.f64 z x) (*.f64 z y)))) |
(if (<=.f64 z -1) (*.f64 z x) (if (<=.f64 z 205000000000) x (*.f64 z x))) |
x |
Compiled 146 to 84 computations (42.5% saved)
(sort x y)
Compiled 148 to 73 computations (50.7% saved)
Loading profile data...