Time bar (total: 8.3s)
| 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 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 7 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 8 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 9 |
| 22% | 21.1% | 74.5% | 0.1% | 4.3% | 0% | 0% | 10 |
| 26.6% | 25.4% | 69.8% | 0.1% | 4.7% | 0% | 0% | 11 |
| 32.3% | 30.6% | 64.2% | 0.1% | 5.1% | 0% | 0% | 12 |
Compiled 15 to 11 computations (26.7% saved)
| 1.7s | 8256× | body | 256 | valid |
| 261.0ms | 1697× | body | 256 | infinite |
| 2× | egg-herbie |
| 14× | rational.json-simplify-2 |
| 8× | rational.json-simplify-1 |
| 8× | rational.json-simplify-42 |
| 8× | rational.json-simplify-45 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 26 | 124 |
| 1 | 49 | 124 |
| 2 | 53 | 124 |
| 0 | 3 | 3 |
| 1× | saturated |
| 1× | saturated |
| Inputs |
|---|
0 |
1 |
2 |
| Outputs |
|---|
0 |
1 |
2 |
| Inputs |
|---|
(/.f64 (*.f64 4 (-.f64 (-.f64 x y) (*.f64 z 1/2))) z) |
(/.f64 (*.f64 4 (-.f64 (-.f64 y x) (*.f64 z 1/2))) z) |
(/.f64 (*.f64 4 (-.f64 (-.f64 z y) (*.f64 x 1/2))) x) |
(/.f64 (*.f64 4 (-.f64 (-.f64 x z) (*.f64 y 1/2))) y) |
| Outputs |
|---|
(/.f64 (*.f64 4 (-.f64 (-.f64 x y) (*.f64 z 1/2))) z) |
(/.f64 (*.f64 4 (-.f64 (-.f64 y x) (*.f64 z 1/2))) z) |
(/.f64 (*.f64 4 (-.f64 (-.f64 z y) (*.f64 x 1/2))) x) |
(/.f64 (*.f64 4 (-.f64 z (+.f64 y (*.f64 x 1/2)))) x) |
(/.f64 (*.f64 4 (-.f64 (-.f64 x z) (*.f64 y 1/2))) y) |
(/.f64 (*.f64 4 (-.f64 (-.f64 x (*.f64 y 1/2)) z)) y) |
Compiled 17 to 13 computations (23.5% saved)
| 1× | egg-herbie |
| 4× | rational.json-simplify-2 |
| 2× | rational.json-simplify-1 |
| 2× | rational.json-simplify-42 |
| 2× | rational.json-simplify-45 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 31 |
| 1 | 18 | 31 |
| 2 | 19 | 31 |
| 1× | saturated |
| Inputs |
|---|
(/.f64 (*.f64 4 (-.f64 (-.f64 x y) (*.f64 z 1/2))) z) |
| Outputs |
|---|
(/.f64 (*.f64 4 (-.f64 (-.f64 x y) (*.f64 z 1/2))) z) |
(/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) |
Compiled 25 to 17 computations (32% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1 | 1 | 2 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 1 | 2 | 3 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.1b | (/.f64 (*.f64 4 (-.f64 (-.f64 x y) (*.f64 z 1/2))) z) |
Compiled 14 to 10 computations (28.6% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (/.f64 (*.f64 4 (-.f64 (-.f64 x y) (*.f64 z 1/2))) z) |
Compiled 41 to 22 computations (46.3% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 6.0ms | z | @ | inf | (/.f64 (*.f64 4 (-.f64 (-.f64 x y) (*.f64 z 1/2))) z) |
| 2.0ms | z | @ | 0 | (/.f64 (*.f64 4 (-.f64 (-.f64 x y) (*.f64 z 1/2))) z) |
| 1.0ms | x | @ | -inf | (/.f64 (*.f64 4 (-.f64 (-.f64 x y) (*.f64 z 1/2))) z) |
| 1.0ms | x | @ | 0 | (/.f64 (*.f64 4 (-.f64 (-.f64 x y) (*.f64 z 1/2))) z) |
| 1.0ms | x | @ | inf | (/.f64 (*.f64 4 (-.f64 (-.f64 x y) (*.f64 z 1/2))) z) |
| 1× | batch-egg-rewrite |
| 784× | rational.json-simplify-54 |
| 752× | rational.json-simplify-47 |
| 722× | rational.json-simplify-49 |
| 660× | rational.json-simplify-58 |
| 542× | rational.json-5 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 31 |
| 1 | 102 | 31 |
| 2 | 338 | 31 |
| 3 | 1240 | 31 |
| 4 | 4624 | 31 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (*.f64 4 (-.f64 (-.f64 x y) (*.f64 z 1/2))) z) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (/.f64 1 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 1 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (/.f64 (/.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) (/.f64 (/.f64 1 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) (/.f64 (*.f64 (/.f64 1 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) 1) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) (*.f64 (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)))) (/.f64 (/.f64 (/.f64 1 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) (*.f64 (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))))))) |
| 1× | egg-herbie |
| 956× | rational.json-simplify-55 |
| 914× | rational.json-simplify-47 |
| 854× | exponential.json-simplify-26 |
| 744× | rational.json-simplify-104 |
| 678× | rational.json-simplify-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 73 | 1626 |
| 1 | 137 | 1626 |
| 2 | 230 | 1626 |
| 3 | 848 | 1626 |
| 4 | 4408 | 1626 |
| 5 | 7483 | 1626 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -4 (/.f64 (+.f64 y (*.f64 1/2 z)) z)) |
(+.f64 (*.f64 4 (/.f64 x z)) (*.f64 -4 (/.f64 (+.f64 y (*.f64 1/2 z)) z))) |
(+.f64 (*.f64 4 (/.f64 x z)) (*.f64 -4 (/.f64 (+.f64 y (*.f64 1/2 z)) z))) |
(+.f64 (*.f64 4 (/.f64 x z)) (*.f64 -4 (/.f64 (+.f64 y (*.f64 1/2 z)) z))) |
(*.f64 4 (/.f64 x z)) |
(+.f64 (*.f64 4 (/.f64 x z)) (*.f64 -4 (/.f64 (+.f64 y (*.f64 1/2 z)) z))) |
(+.f64 (*.f64 4 (/.f64 x z)) (*.f64 -4 (/.f64 (+.f64 y (*.f64 1/2 z)) z))) |
(+.f64 (*.f64 4 (/.f64 x z)) (*.f64 -4 (/.f64 (+.f64 y (*.f64 1/2 z)) z))) |
(*.f64 4 (/.f64 x z)) |
(+.f64 (*.f64 -4 (+.f64 1/2 (/.f64 y z))) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (+.f64 1/2 (/.f64 y z))) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (+.f64 1/2 (/.f64 y z))) (*.f64 4 (/.f64 x z))) |
(*.f64 4 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 (-.f64 x (*.f64 1/2 z)) z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 (-.f64 x (*.f64 1/2 z)) z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 (-.f64 x (*.f64 1/2 z)) z))) |
(*.f64 -4 (/.f64 y z)) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (-.f64 (/.f64 x z) 1/2))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (-.f64 (/.f64 x z) 1/2))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (-.f64 (/.f64 x z) 1/2))) |
(*.f64 -4 (/.f64 y z)) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (-.f64 (/.f64 x z) 1/2))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (-.f64 (/.f64 x z) 1/2))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (-.f64 (/.f64 x z) 1/2))) |
(*.f64 4 (/.f64 (-.f64 x y) z)) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
-2 |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
-2 |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(+.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) 0) |
(+.f64 0 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) |
(-.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) 0) |
(-.f64 0 (neg.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) |
(-.f64 (-.f64 0 (-.f64 -1 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) 1) |
(*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) 1) |
(*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) |
(*.f64 1 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) |
(*.f64 (/.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) |
(*.f64 (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (/.f64 1 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) |
(*.f64 (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 1 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) 1)) |
(*.f64 (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (/.f64 (/.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) |
(*.f64 (/.f64 1 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) |
(*.f64 (*.f64 (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) (/.f64 (/.f64 1 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)))) |
(*.f64 (*.f64 (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) (/.f64 (*.f64 (/.f64 1 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) 1) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)))) |
(*.f64 (*.f64 (*.f64 (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) (*.f64 (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)))) (/.f64 (/.f64 (/.f64 1 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) (*.f64 (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))))) |
(pow.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) 1) |
(neg.f64 (neg.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) |
| Outputs |
|---|
(*.f64 -4 (/.f64 (+.f64 y (*.f64 1/2 z)) z)) |
(+.f64 (*.f64 4 (/.f64 x z)) (*.f64 -4 (/.f64 (+.f64 y (*.f64 1/2 z)) z))) |
(+.f64 (*.f64 -4 (/.f64 (+.f64 y (*.f64 1/2 z)) z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 4 (/.f64 x z)) (*.f64 -4 (/.f64 (+.f64 y (*.f64 1/2 z)) z))) |
(+.f64 (*.f64 -4 (/.f64 (+.f64 y (*.f64 1/2 z)) z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 4 (/.f64 x z)) (*.f64 -4 (/.f64 (+.f64 y (*.f64 1/2 z)) z))) |
(+.f64 (*.f64 -4 (/.f64 (+.f64 y (*.f64 1/2 z)) z)) (*.f64 4 (/.f64 x z))) |
(*.f64 4 (/.f64 x z)) |
(+.f64 (*.f64 4 (/.f64 x z)) (*.f64 -4 (/.f64 (+.f64 y (*.f64 1/2 z)) z))) |
(+.f64 (*.f64 -4 (/.f64 (+.f64 y (*.f64 1/2 z)) z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 4 (/.f64 x z)) (*.f64 -4 (/.f64 (+.f64 y (*.f64 1/2 z)) z))) |
(+.f64 (*.f64 -4 (/.f64 (+.f64 y (*.f64 1/2 z)) z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 4 (/.f64 x z)) (*.f64 -4 (/.f64 (+.f64 y (*.f64 1/2 z)) z))) |
(+.f64 (*.f64 -4 (/.f64 (+.f64 y (*.f64 1/2 z)) z)) (*.f64 4 (/.f64 x z))) |
(*.f64 4 (/.f64 x z)) |
(+.f64 (*.f64 -4 (+.f64 1/2 (/.f64 y z))) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 4 (/.f64 x z)) (*.f64 -4 (+.f64 1/2 (/.f64 y z)))) |
(+.f64 (*.f64 -4 (+.f64 1/2 (/.f64 y z))) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 4 (/.f64 x z)) (*.f64 -4 (+.f64 1/2 (/.f64 y z)))) |
(+.f64 (*.f64 -4 (+.f64 1/2 (/.f64 y z))) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 4 (/.f64 x z)) (*.f64 -4 (+.f64 1/2 (/.f64 y z)))) |
(*.f64 4 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 (-.f64 x (*.f64 1/2 z)) z))) |
(+.f64 (*.f64 4 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (*.f64 -4 (/.f64 y z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 (-.f64 x (*.f64 1/2 z)) z))) |
(+.f64 (*.f64 4 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (*.f64 -4 (/.f64 y z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 (-.f64 x (*.f64 1/2 z)) z))) |
(+.f64 (*.f64 4 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (*.f64 -4 (/.f64 y z))) |
(*.f64 -4 (/.f64 y z)) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (-.f64 (/.f64 x z) 1/2))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (-.f64 (/.f64 x z) 1/2))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (-.f64 (/.f64 x z) 1/2))) |
(*.f64 -4 (/.f64 y z)) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (-.f64 (/.f64 x z) 1/2))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (-.f64 (/.f64 x z) 1/2))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (-.f64 (/.f64 x z) 1/2))) |
(*.f64 4 (/.f64 (-.f64 x y) z)) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
-2 |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
-2 |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(+.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) 0) |
(/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 1/2 z)))) z) |
(+.f64 0 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) |
(/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 1/2 z)))) z) |
(-.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) 0) |
(/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 1/2 z)))) z) |
(-.f64 0 (neg.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) |
(/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 1/2 z)))) z) |
(-.f64 (-.f64 0 (-.f64 -1 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) 1) |
(/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 1/2 z)))) z) |
(*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) 1) |
(/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 1/2 z)))) z) |
(*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) |
(/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 1/2 z)))) z) |
(*.f64 1 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) |
(/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 1/2 z)))) z) |
(*.f64 (/.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) |
(/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 1/2 z)))) z) |
(*.f64 (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (/.f64 1 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) |
(/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 1/2 z)))) z) |
(*.f64 (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 1 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) 1)) |
(/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 1/2 z)))) z) |
(*.f64 (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (/.f64 (/.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) |
(/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 1/2 z)))) z) |
(*.f64 (/.f64 1 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) |
(/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 1/2 z)))) z) |
(*.f64 (*.f64 (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) (/.f64 (/.f64 1 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)))) |
(/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 1/2 z)))) z) |
(*.f64 (*.f64 (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) (/.f64 (*.f64 (/.f64 1 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) 1) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)))) |
(/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 1/2 z)))) z) |
(*.f64 (*.f64 (*.f64 (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) (*.f64 (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)))) (/.f64 (/.f64 (/.f64 1 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) (*.f64 (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z)) (*.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))))) |
(/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 1/2 z)))) z) |
(pow.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z) 1) |
(/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 1/2 z)))) z) |
(neg.f64 (neg.f64 (/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 z 1/2)))) z))) |
(/.f64 (*.f64 4 (-.f64 x (+.f64 y (*.f64 1/2 z)))) z) |
Compiled 875 to 579 computations (33.8% saved)
6 alts after pruning (6 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 27 | 6 | 33 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 28 | 6 | 34 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.0b | (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
| ▶ | 16.0b | (*.f64 4 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) |
| ▶ | 27.5b | (*.f64 4 (/.f64 (-.f64 x y) z)) |
| ▶ | 42.5b | (*.f64 4 (/.f64 x z)) |
| ▶ | 47.5b | (*.f64 -4 (/.f64 y z)) |
| 36.3b | -2 |
Compiled 104 to 78 computations (25% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
| ✓ | 0.0b | (/.f64 (-.f64 x y) z) |
| ✓ | 0.0b | (*.f64 4 (/.f64 (-.f64 x y) z)) |
Compiled 32 to 13 computations (59.4% saved)
27 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | y | @ | -inf | (*.f64 4 (/.f64 (-.f64 x y) z)) |
| 1.0ms | x | @ | -inf | (*.f64 4 (/.f64 (-.f64 x y) z)) |
| 1.0ms | z | @ | inf | (*.f64 4 (/.f64 (-.f64 x y) z)) |
| 1.0ms | x | @ | inf | (*.f64 4 (/.f64 (-.f64 x y) z)) |
| 0.0ms | z | @ | 0 | (*.f64 4 (/.f64 (-.f64 x y) z)) |
| 1× | batch-egg-rewrite |
| 1974× | rational.json-5 |
| 1972× | rational.json-1 |
| 1972× | rational.json-2 |
| 1972× | rational.json-4 |
| 1972× | rational.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 57 |
| 1 | 89 | 57 |
| 2 | 278 | 57 |
| 3 | 1002 | 57 |
| 4 | 3862 | 57 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 4 (/.f64 (-.f64 x y) z)) |
(/.f64 (-.f64 x y) z) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 4 (/.f64 (-.f64 x y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) (/.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) (*.f64 4 (/.f64 (-.f64 x y) z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 x y) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (-.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 x y) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 x y) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 x y) z) (/.f64 (/.f64 (-.f64 x y) z) (/.f64 (-.f64 x y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (-.f64 x y) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (-.f64 x y) z) (/.f64 (-.f64 x y) z)) (/.f64 1 (/.f64 (-.f64 x y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (-.f64 x y) z) (/.f64 (-.f64 x y) z)) (*.f64 (/.f64 1 (/.f64 (-.f64 x y) z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 (-.f64 x y) z)) (*.f64 (/.f64 (-.f64 x y) z) (/.f64 (-.f64 x y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (/.f64 (-.f64 x y) z) (/.f64 (-.f64 x y) z)) (*.f64 (/.f64 (-.f64 x y) z) (/.f64 (-.f64 x y) z))) (/.f64 (/.f64 1 (/.f64 (-.f64 x y) z)) (*.f64 (/.f64 (-.f64 x y) z) (/.f64 (-.f64 x y) z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 x y) z) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (/.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)) (/.f64 1 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)) (*.f64 (/.f64 1 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)) (*.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)) (*.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2))) (/.f64 (/.f64 1 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)) (*.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (/.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) 1))))) |
| 1× | egg-herbie |
| 1480× | rational.json-simplify-49 |
| 1338× | rational.json-simplify-2 |
| 1120× | rational.json-simplify-50 |
| 916× | rational.json-simplify-54 |
| 910× | rational.json-simplify-58 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 68 | 2480 |
| 1 | 125 | 2438 |
| 2 | 341 | 2438 |
| 3 | 1816 | 2438 |
| 4 | 6023 | 2438 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -4 (/.f64 y z)) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(*.f64 4 (/.f64 x z)) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(*.f64 4 (/.f64 x z)) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(*.f64 4 (/.f64 x z)) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(*.f64 -4 (/.f64 y z)) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(*.f64 -4 (/.f64 y z)) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(*.f64 -1 (/.f64 y z)) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(/.f64 x z) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(/.f64 x z) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(/.f64 x z) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(*.f64 -1 (/.f64 y z)) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(*.f64 -1 (/.f64 y z)) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(-.f64 (*.f64 -4 (/.f64 y z)) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(*.f64 4 (/.f64 x z)) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(*.f64 4 (/.f64 x z)) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (*.f64 4 (/.f64 x z)) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(*.f64 -4 (/.f64 y z)) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(*.f64 -4 (/.f64 y z)) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(*.f64 4 (/.f64 (-.f64 x y) z)) |
-2 |
-2 |
(+.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 0) |
(+.f64 0 (*.f64 4 (/.f64 (-.f64 x y) z))) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 0) |
(/.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 1) |
(/.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) (/.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) (*.f64 4 (/.f64 (-.f64 x y) z)))) |
(pow.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 1) |
(+.f64 (/.f64 (-.f64 x y) z) 0) |
(+.f64 0 (/.f64 (-.f64 x y) z)) |
(-.f64 (/.f64 (-.f64 x y) z) 0) |
(*.f64 (/.f64 (-.f64 x y) z) 1) |
(*.f64 (/.f64 (-.f64 x y) z) (/.f64 (/.f64 (-.f64 x y) z) (/.f64 (-.f64 x y) z))) |
(*.f64 1 (/.f64 (-.f64 x y) z)) |
(*.f64 (*.f64 (/.f64 (-.f64 x y) z) (/.f64 (-.f64 x y) z)) (/.f64 1 (/.f64 (-.f64 x y) z))) |
(*.f64 (*.f64 (/.f64 (-.f64 x y) z) (/.f64 (-.f64 x y) z)) (*.f64 (/.f64 1 (/.f64 (-.f64 x y) z)) 1)) |
(*.f64 (/.f64 1 (/.f64 (-.f64 x y) z)) (*.f64 (/.f64 (-.f64 x y) z) (/.f64 (-.f64 x y) z))) |
(*.f64 (*.f64 (*.f64 (/.f64 (-.f64 x y) z) (/.f64 (-.f64 x y) z)) (*.f64 (/.f64 (-.f64 x y) z) (/.f64 (-.f64 x y) z))) (/.f64 (/.f64 1 (/.f64 (-.f64 x y) z)) (*.f64 (/.f64 (-.f64 x y) z) (/.f64 (-.f64 x y) z)))) |
(pow.f64 (/.f64 (-.f64 x y) z) 1) |
(+.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) 0) |
(+.f64 0 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)) |
(*.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) 1) |
(*.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (/.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2))) |
(*.f64 1 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)) |
(*.f64 (*.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)) (/.f64 1 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2))) |
(*.f64 (*.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)) (*.f64 (/.f64 1 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)) 1)) |
(*.f64 (/.f64 1 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)) (*.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2))) |
(*.f64 (*.f64 (*.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)) (*.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2))) (/.f64 (/.f64 1 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)) (*.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)))) |
(/.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) 1) |
(/.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (/.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2))) |
(pow.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) 1) |
| Outputs |
|---|
(*.f64 -4 (/.f64 y z)) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(*.f64 4 (/.f64 x z)) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(*.f64 4 (/.f64 x z)) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(*.f64 4 (/.f64 x z)) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(*.f64 -4 (/.f64 y z)) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(*.f64 -4 (/.f64 y z)) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) |
(*.f64 -1 (/.f64 y z)) |
(*.f64 (/.f64 y z) -1) |
(neg.f64 (/.f64 y z)) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (/.f64 x z) (*.f64 (/.f64 y z) -1)) |
(+.f64 (/.f64 x z) (neg.f64 (/.f64 y z))) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (/.f64 x z) (*.f64 (/.f64 y z) -1)) |
(+.f64 (/.f64 x z) (neg.f64 (/.f64 y z))) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (/.f64 x z) (*.f64 (/.f64 y z) -1)) |
(+.f64 (/.f64 x z) (neg.f64 (/.f64 y z))) |
(/.f64 x z) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (/.f64 x z) (*.f64 (/.f64 y z) -1)) |
(+.f64 (/.f64 x z) (neg.f64 (/.f64 y z))) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (/.f64 x z) (*.f64 (/.f64 y z) -1)) |
(+.f64 (/.f64 x z) (neg.f64 (/.f64 y z))) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (/.f64 x z) (*.f64 (/.f64 y z) -1)) |
(+.f64 (/.f64 x z) (neg.f64 (/.f64 y z))) |
(/.f64 x z) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (/.f64 x z) (*.f64 (/.f64 y z) -1)) |
(+.f64 (/.f64 x z) (neg.f64 (/.f64 y z))) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (/.f64 x z) (*.f64 (/.f64 y z) -1)) |
(+.f64 (/.f64 x z) (neg.f64 (/.f64 y z))) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (/.f64 x z) (*.f64 (/.f64 y z) -1)) |
(+.f64 (/.f64 x z) (neg.f64 (/.f64 y z))) |
(/.f64 x z) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (/.f64 x z) (*.f64 (/.f64 y z) -1)) |
(+.f64 (/.f64 x z) (neg.f64 (/.f64 y z))) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (/.f64 x z) (*.f64 (/.f64 y z) -1)) |
(+.f64 (/.f64 x z) (neg.f64 (/.f64 y z))) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (/.f64 x z) (*.f64 (/.f64 y z) -1)) |
(+.f64 (/.f64 x z) (neg.f64 (/.f64 y z))) |
(*.f64 -1 (/.f64 y z)) |
(*.f64 (/.f64 y z) -1) |
(neg.f64 (/.f64 y z)) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (/.f64 x z) (*.f64 (/.f64 y z) -1)) |
(+.f64 (/.f64 x z) (neg.f64 (/.f64 y z))) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (/.f64 x z) (*.f64 (/.f64 y z) -1)) |
(+.f64 (/.f64 x z) (neg.f64 (/.f64 y z))) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (/.f64 x z) (*.f64 (/.f64 y z) -1)) |
(+.f64 (/.f64 x z) (neg.f64 (/.f64 y z))) |
(*.f64 -1 (/.f64 y z)) |
(*.f64 (/.f64 y z) -1) |
(neg.f64 (/.f64 y z)) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (/.f64 x z) (*.f64 (/.f64 y z) -1)) |
(+.f64 (/.f64 x z) (neg.f64 (/.f64 y z))) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (/.f64 x z) (*.f64 (/.f64 y z) -1)) |
(+.f64 (/.f64 x z) (neg.f64 (/.f64 y z))) |
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 x z)) |
(+.f64 (/.f64 x z) (*.f64 (/.f64 y z) -1)) |
(+.f64 (/.f64 x z) (neg.f64 (/.f64 y z))) |
(-.f64 (*.f64 -4 (/.f64 y z)) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(*.f64 4 (/.f64 x z)) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(*.f64 4 (/.f64 x z)) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (*.f64 4 (/.f64 x z)) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(*.f64 -4 (/.f64 y z)) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(*.f64 -4 (/.f64 y z)) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(-.f64 (+.f64 (*.f64 -4 (/.f64 y z)) (*.f64 4 (/.f64 x z))) 2) |
(*.f64 4 (/.f64 (-.f64 x y) z)) |
-2 |
-2 |
(+.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 0) |
(*.f64 4 (/.f64 (-.f64 x y) z)) |
(+.f64 0 (*.f64 4 (/.f64 (-.f64 x y) z))) |
(*.f64 4 (/.f64 (-.f64 x y) z)) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 0) |
(*.f64 4 (/.f64 (-.f64 x y) z)) |
(/.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 1) |
(*.f64 4 (/.f64 (-.f64 x y) z)) |
(/.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) (/.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) (*.f64 4 (/.f64 (-.f64 x y) z)))) |
(*.f64 4 (/.f64 (-.f64 x y) z)) |
(pow.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 1) |
(*.f64 4 (/.f64 (-.f64 x y) z)) |
(+.f64 (/.f64 (-.f64 x y) z) 0) |
(/.f64 (-.f64 x y) z) |
(+.f64 0 (/.f64 (-.f64 x y) z)) |
(/.f64 (-.f64 x y) z) |
(-.f64 (/.f64 (-.f64 x y) z) 0) |
(/.f64 (-.f64 x y) z) |
(*.f64 (/.f64 (-.f64 x y) z) 1) |
(/.f64 (-.f64 x y) z) |
(*.f64 (/.f64 (-.f64 x y) z) (/.f64 (/.f64 (-.f64 x y) z) (/.f64 (-.f64 x y) z))) |
(/.f64 (-.f64 x y) z) |
(*.f64 1 (/.f64 (-.f64 x y) z)) |
(/.f64 (-.f64 x y) z) |
(*.f64 (*.f64 (/.f64 (-.f64 x y) z) (/.f64 (-.f64 x y) z)) (/.f64 1 (/.f64 (-.f64 x y) z))) |
(/.f64 (-.f64 x y) z) |
(*.f64 (*.f64 (/.f64 (-.f64 x y) z) (/.f64 (-.f64 x y) z)) (*.f64 (/.f64 1 (/.f64 (-.f64 x y) z)) 1)) |
(/.f64 (-.f64 x y) z) |
(*.f64 (/.f64 1 (/.f64 (-.f64 x y) z)) (*.f64 (/.f64 (-.f64 x y) z) (/.f64 (-.f64 x y) z))) |
(/.f64 (-.f64 x y) z) |
(*.f64 (*.f64 (*.f64 (/.f64 (-.f64 x y) z) (/.f64 (-.f64 x y) z)) (*.f64 (/.f64 (-.f64 x y) z) (/.f64 (-.f64 x y) z))) (/.f64 (/.f64 1 (/.f64 (-.f64 x y) z)) (*.f64 (/.f64 (-.f64 x y) z) (/.f64 (-.f64 x y) z)))) |
(/.f64 (-.f64 x y) z) |
(pow.f64 (/.f64 (-.f64 x y) z) 1) |
(/.f64 (-.f64 x y) z) |
(+.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) 0) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(+.f64 0 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(*.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) 1) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(*.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (/.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2))) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(*.f64 1 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(*.f64 (*.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)) (/.f64 1 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2))) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(*.f64 (*.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)) (*.f64 (/.f64 1 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)) 1)) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(*.f64 (/.f64 1 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)) (*.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2))) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(*.f64 (*.f64 (*.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)) (*.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2))) (/.f64 (/.f64 1 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)) (*.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2)))) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(/.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) 1) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(/.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (/.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2))) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(pow.f64 (-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) 1) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 -4 (/.f64 y z)) |
Compiled 14 to 7 computations (50% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | inf | (*.f64 -4 (/.f64 y z)) |
| 1.0ms | y | @ | 0 | (*.f64 -4 (/.f64 y z)) |
| 1.0ms | z | @ | inf | (*.f64 -4 (/.f64 y z)) |
| 1.0ms | z | @ | 0 | (*.f64 -4 (/.f64 y z)) |
| 1.0ms | y | @ | -inf | (*.f64 -4 (/.f64 y z)) |
| 1× | batch-egg-rewrite |
| 1386× | rational.json-5 |
| 1384× | exponential.json-3 |
| 1384× | rational.json-1 |
| 1384× | rational.json-2 |
| 1384× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 58 | 13 |
| 2 | 191 | 13 |
| 3 | 699 | 13 |
| 4 | 2717 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -4 (/.f64 y z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -4 (/.f64 y z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -4 (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -4 (/.f64 y z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 -4 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 -4 (/.f64 y z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -4 (/.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -4 (/.f64 y z)) (/.f64 (*.f64 -4 (/.f64 y z)) (*.f64 -4 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -4 (/.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 -4 (/.f64 y z)))))))) |
| 1× | egg-herbie |
| 1798× | rational.json-simplify-47 |
| 820× | rational.json-simplify-1 |
| 734× | rational.json-simplify-111 |
| 686× | rational.json-simplify-104 |
| 678× | rational.json-simplify-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 24 | 117 |
| 1 | 47 | 117 |
| 2 | 115 | 117 |
| 3 | 347 | 117 |
| 4 | 1342 | 117 |
| 5 | 3425 | 117 |
| 6 | 6411 | 117 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 -4 (/.f64 y z)) 0) |
(+.f64 0 (*.f64 -4 (/.f64 y z))) |
(-.f64 (*.f64 -4 (/.f64 y z)) 0) |
(-.f64 0 (neg.f64 (*.f64 -4 (/.f64 y z)))) |
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 -4 (/.f64 y z)))) 1) |
(/.f64 (*.f64 -4 (/.f64 y z)) 1) |
(/.f64 (*.f64 -4 (/.f64 y z)) (/.f64 (*.f64 -4 (/.f64 y z)) (*.f64 -4 (/.f64 y z)))) |
(pow.f64 (*.f64 -4 (/.f64 y z)) 1) |
(neg.f64 (neg.f64 (*.f64 -4 (/.f64 y z)))) |
| Outputs |
|---|
(+.f64 (*.f64 -4 (/.f64 y z)) 0) |
(*.f64 -4 (/.f64 y z)) |
(+.f64 0 (*.f64 -4 (/.f64 y z))) |
(*.f64 -4 (/.f64 y z)) |
(-.f64 (*.f64 -4 (/.f64 y z)) 0) |
(*.f64 -4 (/.f64 y z)) |
(-.f64 0 (neg.f64 (*.f64 -4 (/.f64 y z)))) |
(*.f64 -4 (/.f64 y z)) |
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 -4 (/.f64 y z)))) 1) |
(*.f64 -4 (/.f64 y z)) |
(/.f64 (*.f64 -4 (/.f64 y z)) 1) |
(*.f64 -4 (/.f64 y z)) |
(/.f64 (*.f64 -4 (/.f64 y z)) (/.f64 (*.f64 -4 (/.f64 y z)) (*.f64 -4 (/.f64 y z)))) |
(*.f64 -4 (/.f64 y z)) |
(pow.f64 (*.f64 -4 (/.f64 y z)) 1) |
(*.f64 -4 (/.f64 y z)) |
(neg.f64 (neg.f64 (*.f64 -4 (/.f64 y z)))) |
(*.f64 -4 (/.f64 y z)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 4 (/.f64 x z)) |
Compiled 14 to 7 computations (50% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | 0 | (*.f64 4 (/.f64 x z)) |
| 1.0ms | z | @ | 0 | (*.f64 4 (/.f64 x z)) |
| 1.0ms | z | @ | inf | (*.f64 4 (/.f64 x z)) |
| 1.0ms | x | @ | inf | (*.f64 4 (/.f64 x z)) |
| 0.0ms | z | @ | -inf | (*.f64 4 (/.f64 x z)) |
| 1× | batch-egg-rewrite |
| 1382× | rational.json-5 |
| 1380× | exponential.json-3 |
| 1380× | rational.json-1 |
| 1380× | rational.json-2 |
| 1380× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 58 | 13 |
| 2 | 191 | 13 |
| 3 | 698 | 13 |
| 4 | 2705 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 4 (/.f64 x z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 x z) (*.f64 (/.f64 x z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 4 (/.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 4 (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 x z) 2) (*.f64 (/.f64 x z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 x z) 3) (/.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 4 (/.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 4 (/.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 4 (/.f64 x z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (/.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (/.f64 x z)) (/.f64 (/.f64 x z) (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 4 (/.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 4 (/.f64 x z)))))))) |
| 1× | egg-herbie |
| 1216× | rational.json-simplify-104 |
| 1054× | rational.json-simplify-79 |
| 970× | rational.json-simplify-73 |
| 944× | rational.json-simplify-2 |
| 934× | rational.json-simplify-47 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 31 | 180 |
| 1 | 56 | 180 |
| 2 | 101 | 180 |
| 3 | 243 | 180 |
| 4 | 617 | 180 |
| 5 | 1925 | 180 |
| 6 | 3321 | 180 |
| 7 | 4981 | 180 |
| 8 | 5948 | 180 |
| 9 | 7446 | 180 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (/.f64 x z) (*.f64 (/.f64 x z) 3)) |
(+.f64 (*.f64 4 (/.f64 x z)) 0) |
(+.f64 0 (*.f64 4 (/.f64 x z))) |
(+.f64 (*.f64 (/.f64 x z) 2) (*.f64 (/.f64 x z) 2)) |
(+.f64 (*.f64 (/.f64 x z) 3) (/.f64 x z)) |
(-.f64 (*.f64 4 (/.f64 x z)) 0) |
(-.f64 0 (neg.f64 (*.f64 4 (/.f64 x z)))) |
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 4 (/.f64 x z)))) 1) |
(/.f64 (*.f64 4 (/.f64 x z)) 1) |
(/.f64 (*.f64 4 (/.f64 x z)) (/.f64 (/.f64 x z) (/.f64 x z))) |
(pow.f64 (*.f64 4 (/.f64 x z)) 1) |
(neg.f64 (neg.f64 (*.f64 4 (/.f64 x z)))) |
| Outputs |
|---|
(+.f64 (/.f64 x z) (*.f64 (/.f64 x z) 3)) |
(+.f64 (*.f64 4 (/.f64 x z)) 0) |
(*.f64 (/.f64 x z) 4) |
(+.f64 0 (*.f64 4 (/.f64 x z))) |
(*.f64 (/.f64 x z) 4) |
(+.f64 (*.f64 (/.f64 x z) 2) (*.f64 (/.f64 x z) 2)) |
(*.f64 (/.f64 x z) 4) |
(+.f64 (*.f64 (/.f64 x z) 3) (/.f64 x z)) |
(+.f64 (/.f64 x z) (*.f64 (/.f64 x z) 3)) |
(-.f64 (*.f64 4 (/.f64 x z)) 0) |
(*.f64 (/.f64 x z) 4) |
(-.f64 0 (neg.f64 (*.f64 4 (/.f64 x z)))) |
(*.f64 (/.f64 x z) 4) |
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 4 (/.f64 x z)))) 1) |
(*.f64 (/.f64 x z) 4) |
(/.f64 (*.f64 4 (/.f64 x z)) 1) |
(*.f64 (/.f64 x z) 4) |
(/.f64 (*.f64 4 (/.f64 x z)) (/.f64 (/.f64 x z) (/.f64 x z))) |
(*.f64 (/.f64 x z) 4) |
(pow.f64 (*.f64 4 (/.f64 x z)) 1) |
(*.f64 (/.f64 x z) 4) |
(neg.f64 (neg.f64 (*.f64 4 (/.f64 x z)))) |
(*.f64 (/.f64 x z) 4) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (/.f64 (-.f64 x y) z) | |
| 0.0b | (*.f64 4 (/.f64 (-.f64 x y) z)) |
Compiled 22 to 8 computations (63.6% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (/.f64 (-.f64 x (*.f64 1/2 z)) z) |
Compiled 31 to 20 computations (35.5% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 6.0ms | z | @ | -inf | (/.f64 (-.f64 x (*.f64 1/2 z)) z) |
| 1.0ms | x | @ | -inf | (/.f64 (-.f64 x (*.f64 1/2 z)) z) |
| 1.0ms | z | @ | inf | (/.f64 (-.f64 x (*.f64 1/2 z)) z) |
| 0.0ms | x | @ | 0 | (/.f64 (-.f64 x (*.f64 1/2 z)) z) |
| 0.0ms | x | @ | inf | (/.f64 (-.f64 x (*.f64 1/2 z)) z) |
| 1× | batch-egg-rewrite |
| 1514× | rational.json-5 |
| 1512× | exponential.json-3 |
| 1512× | rational.json-1 |
| 1512× | rational.json-2 |
| 1512× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 19 |
| 1 | 66 | 19 |
| 2 | 219 | 19 |
| 3 | 802 | 19 |
| 4 | 2979 | 19 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (-.f64 x (*.f64 1/2 z)) z) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (-.f64 x (*.f64 1/2 z)) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (/.f64 (-.f64 x (*.f64 1/2 z)) z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (-.f64 x (*.f64 1/2 z)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (/.f64 (-.f64 x (*.f64 1/2 z)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (/.f64 1 (/.f64 (-.f64 x (*.f64 1/2 z)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (/.f64 (/.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (/.f64 (-.f64 x (*.f64 1/2 z)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)))) (/.f64 (/.f64 1 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z))) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)))) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z))))) (/.f64 (/.f64 (/.f64 1 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z))) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z))))))) |
| 1× | egg-herbie |
| 1502× | rational.json-simplify-111 |
| 1030× | rational.json-simplify-47 |
| 792× | rational.json-simplify-2 |
| 702× | rational.json-simplify-55 |
| 614× | rational.json-simplify-54 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 44 | 581 |
| 1 | 81 | 581 |
| 2 | 178 | 581 |
| 3 | 932 | 581 |
| 4 | 4624 | 581 |
| 1× | node limit |
| Inputs |
|---|
-1/2 |
(-.f64 (/.f64 x z) 1/2) |
(-.f64 (/.f64 x z) 1/2) |
(-.f64 (/.f64 x z) 1/2) |
(/.f64 x z) |
(-.f64 (/.f64 x z) 1/2) |
(-.f64 (/.f64 x z) 1/2) |
(-.f64 (/.f64 x z) 1/2) |
(/.f64 x z) |
(-.f64 (/.f64 x z) 1/2) |
(-.f64 (/.f64 x z) 1/2) |
(-.f64 (/.f64 x z) 1/2) |
(/.f64 x z) |
(-.f64 (/.f64 x z) 1/2) |
(-.f64 (/.f64 x z) 1/2) |
(-.f64 (/.f64 x z) 1/2) |
-1/2 |
(-.f64 (/.f64 x z) 1/2) |
(-.f64 (/.f64 x z) 1/2) |
(-.f64 (/.f64 x z) 1/2) |
-1/2 |
(-.f64 (/.f64 x z) 1/2) |
(-.f64 (/.f64 x z) 1/2) |
(-.f64 (/.f64 x z) 1/2) |
(+.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) 0) |
(+.f64 0 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) |
(-.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) 0) |
(-.f64 0 (neg.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z))) |
(-.f64 (-.f64 0 (-.f64 -1 (/.f64 (-.f64 x (*.f64 1/2 z)) z))) 1) |
(*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) 1) |
(*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z))) |
(*.f64 1 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) |
(*.f64 (/.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (/.f64 (-.f64 x (*.f64 1/2 z)) z)) |
(*.f64 (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (/.f64 1 (/.f64 (-.f64 x (*.f64 1/2 z)) z))) |
(*.f64 (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (/.f64 (/.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (/.f64 (-.f64 x (*.f64 1/2 z)) z))) |
(*.f64 (/.f64 1 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z))) |
(*.f64 (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)))) (/.f64 (/.f64 1 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)))) |
(*.f64 (/.f64 (/.f64 1 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z))) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z))))) |
(*.f64 (*.f64 (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)))) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z))))) (/.f64 (/.f64 (/.f64 1 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z))) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)))))) |
(pow.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) 1) |
(neg.f64 (neg.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z))) |
| Outputs |
|---|
-1/2 |
(-.f64 (/.f64 x z) 1/2) |
(-.f64 (/.f64 x z) 1/2) |
(-.f64 (/.f64 x z) 1/2) |
(/.f64 x z) |
(-.f64 (/.f64 x z) 1/2) |
(-.f64 (/.f64 x z) 1/2) |
(-.f64 (/.f64 x z) 1/2) |
(/.f64 x z) |
(-.f64 (/.f64 x z) 1/2) |
(-.f64 (/.f64 x z) 1/2) |
(-.f64 (/.f64 x z) 1/2) |
(/.f64 x z) |
(-.f64 (/.f64 x z) 1/2) |
(-.f64 (/.f64 x z) 1/2) |
(-.f64 (/.f64 x z) 1/2) |
-1/2 |
(-.f64 (/.f64 x z) 1/2) |
(-.f64 (/.f64 x z) 1/2) |
(-.f64 (/.f64 x z) 1/2) |
-1/2 |
(-.f64 (/.f64 x z) 1/2) |
(-.f64 (/.f64 x z) 1/2) |
(-.f64 (/.f64 x z) 1/2) |
(+.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) 0) |
(/.f64 (-.f64 x (*.f64 z 1/2)) z) |
(+.f64 0 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) |
(/.f64 (-.f64 x (*.f64 z 1/2)) z) |
(-.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) 0) |
(/.f64 (-.f64 x (*.f64 z 1/2)) z) |
(-.f64 0 (neg.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z))) |
(/.f64 (-.f64 x (*.f64 z 1/2)) z) |
(-.f64 (-.f64 0 (-.f64 -1 (/.f64 (-.f64 x (*.f64 1/2 z)) z))) 1) |
(/.f64 (-.f64 x (*.f64 z 1/2)) z) |
(*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) 1) |
(/.f64 (-.f64 x (*.f64 z 1/2)) z) |
(*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z))) |
(/.f64 (-.f64 x (*.f64 z 1/2)) z) |
(*.f64 1 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) |
(/.f64 (-.f64 x (*.f64 z 1/2)) z) |
(*.f64 (/.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (/.f64 (-.f64 x (*.f64 1/2 z)) z)) |
(/.f64 (-.f64 x (*.f64 z 1/2)) z) |
(*.f64 (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (/.f64 1 (/.f64 (-.f64 x (*.f64 1/2 z)) z))) |
(/.f64 (-.f64 x (*.f64 z 1/2)) z) |
(*.f64 (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (/.f64 (/.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (/.f64 (-.f64 x (*.f64 1/2 z)) z))) |
(/.f64 (-.f64 x (*.f64 z 1/2)) z) |
(*.f64 (/.f64 1 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z))) |
(/.f64 (-.f64 x (*.f64 z 1/2)) z) |
(*.f64 (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)))) (/.f64 (/.f64 1 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)))) |
(/.f64 (-.f64 x (*.f64 z 1/2)) z) |
(*.f64 (/.f64 (/.f64 1 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z))) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z))))) |
(/.f64 (-.f64 x (*.f64 z 1/2)) z) |
(*.f64 (*.f64 (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)))) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z))))) (/.f64 (/.f64 (/.f64 1 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z))) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (*.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) (/.f64 (-.f64 x (*.f64 1/2 z)) z)))))) |
(/.f64 (-.f64 x (*.f64 z 1/2)) z) |
(pow.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z) 1) |
(/.f64 (-.f64 x (*.f64 z 1/2)) z) |
(neg.f64 (neg.f64 (/.f64 (-.f64 x (*.f64 1/2 z)) z))) |
(/.f64 (-.f64 x (*.f64 z 1/2)) z) |
Compiled 1770 to 906 computations (48.8% saved)
7 alts after pruning (3 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 116 | 2 | 118 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 3 | 4 |
| Total | 117 | 7 | 124 |
| Status | Error | Program |
|---|---|---|
| ▶ | 16.0b | (-.f64 (*.f64 4 (/.f64 x z)) 2) |
| ▶ | 20.6b | (-.f64 (*.f64 -4 (/.f64 y z)) 2) |
| ✓ | 16.0b | (*.f64 4 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) |
| ✓ | 27.5b | (*.f64 4 (/.f64 (-.f64 x y) z)) |
| ✓ | 42.5b | (*.f64 4 (/.f64 x z)) |
| ✓ | 47.5b | (*.f64 -4 (/.f64 y z)) |
| 36.3b | -2 |
Compiled 62 to 48 computations (22.6% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 (*.f64 -4 (/.f64 y z)) 2) |
| 0.0b | (*.f64 -4 (/.f64 y z)) |
Compiled 22 to 12 computations (45.5% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | inf | (-.f64 (*.f64 -4 (/.f64 y z)) 2) |
| 0.0ms | y | @ | 0 | (-.f64 (*.f64 -4 (/.f64 y z)) 2) |
| 0.0ms | z | @ | 0 | (-.f64 (*.f64 -4 (/.f64 y z)) 2) |
| 0.0ms | y | @ | -inf | (-.f64 (*.f64 -4 (/.f64 y z)) 2) |
| 0.0ms | z | @ | -inf | (-.f64 (*.f64 -4 (/.f64 y z)) 2) |
| 1× | batch-egg-rewrite |
| 1584× | rational.json-5 |
| 1582× | exponential.json-3 |
| 1582× | rational.json-1 |
| 1582× | rational.json-2 |
| 1582× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 19 |
| 1 | 73 | 19 |
| 2 | 225 | 19 |
| 3 | 803 | 19 |
| 4 | 3104 | 19 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (*.f64 -4 (/.f64 y z)) 2) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 -4 (/.f64 y z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (/.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 -4 (/.f64 y z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2)) (-.f64 (*.f64 -4 (/.f64 y z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2)) (/.f64 1 (-.f64 (*.f64 -4 (/.f64 y z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 (*.f64 -4 (/.f64 y z)) 2)) (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2)))) (/.f64 (/.f64 1 (-.f64 (*.f64 -4 (/.f64 y z)) 2)) (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (-.f64 (*.f64 -4 (/.f64 y z)) 2)) (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2))) (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (/.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 2 (*.f64 -4 (/.f64 y z)))))))) |
| 1× | egg-herbie |
| 1632× | rational.json-simplify-58 |
| 1044× | rational.json-simplify-47 |
| 762× | exponential.json-simplify-26 |
| 760× | rational.json-simplify-1 |
| 758× | rational.json-simplify-49 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 34 | 308 |
| 1 | 52 | 308 |
| 2 | 173 | 308 |
| 3 | 926 | 308 |
| 4 | 3855 | 308 |
| 5 | 6075 | 308 |
| 1× | node limit |
| Inputs |
|---|
-2 |
(*.f64 -4 (/.f64 y z)) |
(*.f64 -4 (/.f64 y z)) |
(*.f64 -4 (/.f64 y z)) |
-2 |
-2 |
(+.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) 0) |
(+.f64 0 (-.f64 (*.f64 -4 (/.f64 y z)) 2)) |
(*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) 1) |
(*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (/.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2))) |
(*.f64 1 (-.f64 (*.f64 -4 (/.f64 y z)) 2)) |
(*.f64 (/.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2)) (-.f64 (*.f64 -4 (/.f64 y z)) 2)) |
(*.f64 (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2)) (/.f64 1 (-.f64 (*.f64 -4 (/.f64 y z)) 2))) |
(*.f64 (/.f64 1 (-.f64 (*.f64 -4 (/.f64 y z)) 2)) (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2))) |
(*.f64 (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2)))) (/.f64 (/.f64 1 (-.f64 (*.f64 -4 (/.f64 y z)) 2)) (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2)))) |
(*.f64 (/.f64 (/.f64 1 (-.f64 (*.f64 -4 (/.f64 y z)) 2)) (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2))) (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2))))) |
(/.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) 1) |
(/.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (/.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2))) |
(pow.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) 1) |
(neg.f64 (-.f64 2 (*.f64 -4 (/.f64 y z)))) |
| Outputs |
|---|
-2 |
(*.f64 -4 (/.f64 y z)) |
(*.f64 -4 (/.f64 y z)) |
(*.f64 -4 (/.f64 y z)) |
-2 |
-2 |
(+.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) 0) |
(-.f64 (*.f64 -4 (/.f64 y z)) 2) |
(+.f64 0 (-.f64 (*.f64 -4 (/.f64 y z)) 2)) |
(-.f64 (*.f64 -4 (/.f64 y z)) 2) |
(*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) 1) |
(-.f64 (*.f64 -4 (/.f64 y z)) 2) |
(*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (/.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2))) |
(-.f64 (*.f64 -4 (/.f64 y z)) 2) |
(*.f64 1 (-.f64 (*.f64 -4 (/.f64 y z)) 2)) |
(-.f64 (*.f64 -4 (/.f64 y z)) 2) |
(*.f64 (/.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2)) (-.f64 (*.f64 -4 (/.f64 y z)) 2)) |
(-.f64 (*.f64 -4 (/.f64 y z)) 2) |
(*.f64 (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2)) (/.f64 1 (-.f64 (*.f64 -4 (/.f64 y z)) 2))) |
(-.f64 (*.f64 -4 (/.f64 y z)) 2) |
(*.f64 (/.f64 1 (-.f64 (*.f64 -4 (/.f64 y z)) 2)) (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2))) |
(-.f64 (*.f64 -4 (/.f64 y z)) 2) |
(*.f64 (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2)))) (/.f64 (/.f64 1 (-.f64 (*.f64 -4 (/.f64 y z)) 2)) (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2)))) |
(-.f64 (*.f64 -4 (/.f64 y z)) 2) |
(*.f64 (/.f64 (/.f64 1 (-.f64 (*.f64 -4 (/.f64 y z)) 2)) (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2))) (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (*.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2))))) |
(-.f64 (*.f64 -4 (/.f64 y z)) 2) |
(/.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) 1) |
(-.f64 (*.f64 -4 (/.f64 y z)) 2) |
(/.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (/.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2))) |
(-.f64 (*.f64 -4 (/.f64 y z)) 2) |
(pow.f64 (-.f64 (*.f64 -4 (/.f64 y z)) 2) 1) |
(-.f64 (*.f64 -4 (/.f64 y z)) 2) |
(neg.f64 (-.f64 2 (*.f64 -4 (/.f64 y z)))) |
(-.f64 (*.f64 -4 (/.f64 y z)) 2) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 (*.f64 4 (/.f64 x z)) 2) |
| 0.0b | (*.f64 4 (/.f64 x z)) |
Compiled 22 to 12 computations (45.5% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | inf | (-.f64 (*.f64 4 (/.f64 x z)) 2) |
| 0.0ms | x | @ | -inf | (-.f64 (*.f64 4 (/.f64 x z)) 2) |
| 0.0ms | x | @ | 0 | (-.f64 (*.f64 4 (/.f64 x z)) 2) |
| 0.0ms | z | @ | 0 | (-.f64 (*.f64 4 (/.f64 x z)) 2) |
| 0.0ms | z | @ | -inf | (-.f64 (*.f64 4 (/.f64 x z)) 2) |
| 1× | batch-egg-rewrite |
| 1580× | rational.json-5 |
| 1578× | exponential.json-3 |
| 1578× | rational.json-1 |
| 1578× | rational.json-2 |
| 1578× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 19 |
| 1 | 73 | 19 |
| 2 | 225 | 19 |
| 3 | 802 | 19 |
| 4 | 3092 | 19 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (*.f64 4 (/.f64 x z)) 2) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 4 (/.f64 x z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (/.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 4 (/.f64 x z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2)) (-.f64 (*.f64 4 (/.f64 x z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2)) (/.f64 1 (-.f64 (*.f64 4 (/.f64 x z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 (*.f64 4 (/.f64 x z)) 2)) (*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2)) (*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2))) (/.f64 (/.f64 1 (-.f64 (*.f64 4 (/.f64 x z)) 2)) (*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (-.f64 (*.f64 4 (/.f64 x z)) 2)) (*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2))) (*.f64 (*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2)) (*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (/.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 2 (*.f64 4 (/.f64 x z)))))))) |
| 1× | egg-herbie |
| 1436× | rational.json-simplify-47 |
| 1324× | rational.json-simplify-49 |
| 1058× | rational.json-simplify-2 |
| 922× | rational.json-simplify-50 |
| 820× | rational.json-simplify-58 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 33 | 308 |
| 1 | 54 | 308 |
| 2 | 197 | 308 |
| 3 | 1332 | 308 |
| 4 | 5685 | 308 |
| 1× | node limit |
| Inputs |
|---|
-2 |
(*.f64 4 (/.f64 x z)) |
(*.f64 4 (/.f64 x z)) |
(*.f64 4 (/.f64 x z)) |
-2 |
-2 |
(+.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) 0) |
(+.f64 0 (-.f64 (*.f64 4 (/.f64 x z)) 2)) |
(*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) 1) |
(*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (/.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2))) |
(*.f64 1 (-.f64 (*.f64 4 (/.f64 x z)) 2)) |
(*.f64 (/.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2)) (-.f64 (*.f64 4 (/.f64 x z)) 2)) |
(*.f64 (*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2)) (/.f64 1 (-.f64 (*.f64 4 (/.f64 x z)) 2))) |
(*.f64 (/.f64 1 (-.f64 (*.f64 4 (/.f64 x z)) 2)) (*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2))) |
(*.f64 (*.f64 (*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2)) (*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2))) (/.f64 (/.f64 1 (-.f64 (*.f64 4 (/.f64 x z)) 2)) (*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2)))) |
(*.f64 (/.f64 (/.f64 1 (-.f64 (*.f64 4 (/.f64 x z)) 2)) (*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2))) (*.f64 (*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2)) (*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2)))) |
(/.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) 1) |
(/.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (/.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2))) |
(pow.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) 1) |
(neg.f64 (-.f64 2 (*.f64 4 (/.f64 x z)))) |
| Outputs |
|---|
-2 |
(*.f64 4 (/.f64 x z)) |
(*.f64 4 (/.f64 x z)) |
(*.f64 4 (/.f64 x z)) |
-2 |
-2 |
(+.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) 0) |
(-.f64 (*.f64 4 (/.f64 x z)) 2) |
(+.f64 0 (-.f64 (*.f64 4 (/.f64 x z)) 2)) |
(-.f64 (*.f64 4 (/.f64 x z)) 2) |
(*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) 1) |
(-.f64 (*.f64 4 (/.f64 x z)) 2) |
(*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (/.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2))) |
(-.f64 (*.f64 4 (/.f64 x z)) 2) |
(*.f64 1 (-.f64 (*.f64 4 (/.f64 x z)) 2)) |
(-.f64 (*.f64 4 (/.f64 x z)) 2) |
(*.f64 (/.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2)) (-.f64 (*.f64 4 (/.f64 x z)) 2)) |
(-.f64 (*.f64 4 (/.f64 x z)) 2) |
(*.f64 (*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2)) (/.f64 1 (-.f64 (*.f64 4 (/.f64 x z)) 2))) |
(-.f64 (*.f64 4 (/.f64 x z)) 2) |
(*.f64 (/.f64 1 (-.f64 (*.f64 4 (/.f64 x z)) 2)) (*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2))) |
(-.f64 (*.f64 4 (/.f64 x z)) 2) |
(*.f64 (*.f64 (*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2)) (*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2))) (/.f64 (/.f64 1 (-.f64 (*.f64 4 (/.f64 x z)) 2)) (*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2)))) |
(-.f64 (*.f64 4 (/.f64 x z)) 2) |
(*.f64 (/.f64 (/.f64 1 (-.f64 (*.f64 4 (/.f64 x z)) 2)) (*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2))) (*.f64 (*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2)) (*.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2)))) |
(-.f64 (*.f64 4 (/.f64 x z)) 2) |
(/.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) 1) |
(-.f64 (*.f64 4 (/.f64 x z)) 2) |
(/.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (/.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 4 (/.f64 x z)) 2))) |
(-.f64 (*.f64 4 (/.f64 x z)) 2) |
(pow.f64 (-.f64 (*.f64 4 (/.f64 x z)) 2) 1) |
(-.f64 (*.f64 4 (/.f64 x z)) 2) |
(neg.f64 (-.f64 2 (*.f64 4 (/.f64 x z)))) |
(-.f64 (*.f64 4 (/.f64 x z)) 2) |
Compiled 856 to 540 computations (36.9% saved)
7 alts after pruning (1 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 57 | 0 | 57 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 5 | 5 |
| Total | 57 | 7 | 64 |
| Status | Error | Program |
|---|---|---|
| ✓ | 16.0b | (-.f64 (*.f64 4 (/.f64 x z)) 2) |
| ✓ | 20.6b | (-.f64 (*.f64 -4 (/.f64 y z)) 2) |
| ✓ | 16.0b | (*.f64 4 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) |
| ✓ | 27.5b | (*.f64 4 (/.f64 (-.f64 x y) z)) |
| ✓ | 42.5b | (*.f64 4 (/.f64 x z)) |
| ✓ | 47.5b | (*.f64 -4 (/.f64 y z)) |
| 36.3b | -2 |
Compiled 62 to 48 computations (22.6% saved)
Compiled 3 to 3 computations (0% saved)
7 alts after pruning (1 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 6 | 6 |
| Total | 0 | 7 | 7 |
| Status | Error | Program |
|---|---|---|
| ✓ | 16.0b | (-.f64 (*.f64 4 (/.f64 x z)) 2) |
| ✓ | 20.6b | (-.f64 (*.f64 -4 (/.f64 y z)) 2) |
| ✓ | 16.0b | (*.f64 4 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) |
| ✓ | 27.5b | (*.f64 4 (/.f64 (-.f64 x y) z)) |
| ✓ | 42.5b | (*.f64 4 (/.f64 x z)) |
| ✓ | 47.5b | (*.f64 -4 (/.f64 y z)) |
| 36.3b | -2 |
Compiled 62 to 48 computations (22.6% saved)
| Inputs |
|---|
-2 |
(*.f64 -4 (/.f64 y z)) |
(*.f64 4 (/.f64 x z)) |
(*.f64 4 (/.f64 (-.f64 x y) z)) |
(-.f64 (*.f64 -4 (/.f64 y z)) 2) |
(-.f64 (*.f64 4 (/.f64 x z)) 2) |
(*.f64 4 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) |
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(/.f64 (*.f64 4 (-.f64 (-.f64 x y) (*.f64 z 1/2))) z) |
| Outputs |
|---|
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
5 calls:
| 13.0ms | (-.f64 x y) |
| 13.0ms | z |
| 12.0ms | x |
| 11.0ms | y |
| 9.0ms | (/.f64 (*.f64 4 (-.f64 (-.f64 x y) (*.f64 z 1/2))) z) |
| Error | Segments | Branch |
|---|---|---|
| 0.0b | 1 | x |
| 0.0b | 1 | y |
| 0.0b | 1 | z |
| 0.0b | 1 | (/.f64 (*.f64 4 (-.f64 (-.f64 x y) (*.f64 z 1/2))) z) |
| 0.0b | 1 | (-.f64 x y) |
Compiled 96 to 61 computations (36.5% saved)
| Inputs |
|---|
-2 |
(*.f64 -4 (/.f64 y z)) |
(*.f64 4 (/.f64 x z)) |
(*.f64 4 (/.f64 (-.f64 x y) z)) |
(-.f64 (*.f64 -4 (/.f64 y z)) 2) |
(-.f64 (*.f64 4 (/.f64 x z)) 2) |
(*.f64 4 (/.f64 (-.f64 x (*.f64 1/2 z)) z)) |
| Outputs |
|---|
(-.f64 (*.f64 -4 (/.f64 y z)) 2) |
(-.f64 (*.f64 4 (/.f64 x z)) 2) |
(*.f64 4 (/.f64 (-.f64 x y) z)) |
(-.f64 (*.f64 4 (/.f64 x z)) 2) |
(-.f64 (*.f64 -4 (/.f64 y z)) 2) |
4 calls:
| 107.0ms | (-.f64 x y) |
| 52.0ms | y |
| 44.0ms | z |
| 42.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 6.4b | 3 | x |
| 6.1b | 5 | y |
| 9.2b | 3 | z |
| 7.2b | 9 | (-.f64 x y) |
Compiled 62 to 41 computations (33.9% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 38.0ms | 3.4938564056189184e+86 | 1.9788635368691716e+97 |
| 16.0ms | 3.5473955349182895e-9 | 1.0757919966076655e-8 |
| 18.0ms | 1.541392254136715e-64 | 4.645979836667021e-64 |
| 26.0ms | -6.1488351631397325e+118 | -9.862189586589609e+116 |
| 81.0ms | 432× | body | 256 | valid |
| 4.0ms | 20× | body | 256 | infinite |
Compiled 614 to 491 computations (20% saved)
| Inputs |
|---|
-2 |
(*.f64 -4 (/.f64 y z)) |
(*.f64 4 (/.f64 x z)) |
(*.f64 4 (/.f64 (-.f64 x y) z)) |
(-.f64 (*.f64 -4 (/.f64 y z)) 2) |
| Outputs |
|---|
(*.f64 4 (/.f64 (-.f64 x y) z)) |
(-.f64 (*.f64 -4 (/.f64 y z)) 2) |
(*.f64 4 (/.f64 (-.f64 x y) z)) |
4 calls:
| 63.0ms | y |
| 47.0ms | (-.f64 x y) |
| 30.0ms | z |
| 28.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 10.5b | 3 | x |
| 15.0b | 7 | y |
| 10.6b | 3 | z |
| 12.3b | 5 | (-.f64 x y) |
Compiled 46 to 31 computations (32.6% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 31.0ms | 55992454339217555000.0 | 2.656691940351045e+27 |
| 19.0ms | -1.8885903874799524e+55 | -8.476333458534644e+54 |
| 41.0ms | 224× | body | 256 | valid |
| 1.0ms | 7× | body | 256 | infinite |
Compiled 328 to 253 computations (22.9% saved)
| Inputs |
|---|
-2 |
(*.f64 -4 (/.f64 y z)) |
(*.f64 4 (/.f64 x z)) |
(*.f64 4 (/.f64 (-.f64 x y) z)) |
| Outputs |
|---|
-2 |
(*.f64 4 (/.f64 (-.f64 x y) z)) |
-2 |
(*.f64 4 (/.f64 (-.f64 x y) z)) |
-2 |
4 calls:
| 95.0ms | y |
| 80.0ms | x |
| 41.0ms | z |
| 41.0ms | (-.f64 x y) |
| Error | Segments | Branch |
|---|---|---|
| 16.6b | 9 | x |
| 18.4b | 11 | y |
| 13.5b | 5 | z |
| 18.1b | 5 | (-.f64 x y) |
Compiled 39 to 27 computations (30.8% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 34.0ms | 1.6758142545502913e+58 | 4.562582101507106e+69 |
| 18.0ms | -2.8506242094599137e+102 | -1.2700299803840622e+102 |
| 34.0ms | -8.950107851288805e+150 | -2.4241204911739835e+138 |
| 30.0ms | -8.366964585217871e+212 | -2.5080176864551924e+207 |
| 100.0ms | 544× | body | 256 | valid |
Compiled 564 to 457 computations (19% saved)
| Inputs |
|---|
-2 |
(*.f64 -4 (/.f64 y z)) |
(*.f64 4 (/.f64 x z)) |
| Outputs |
|---|
(*.f64 4 (/.f64 x z)) |
-2 |
(*.f64 -4 (/.f64 y z)) |
-2 |
(*.f64 -4 (/.f64 y z)) |
-2 |
(*.f64 4 (/.f64 x z)) |
3 calls:
| 58.0ms | y |
| 55.0ms | x |
| 29.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 23.7b | 7 | x |
| 25.1b | 8 | y |
| 25.0b | 4 | z |
Compiled 26 to 19 computations (26.9% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 30.0ms | 6.360574334478294e-50 | 8.696320633764428e-47 |
| 119.0ms | 5.47497128729399e-68 | 1.6731809738304635e-65 |
| 25.0ms | 1.1557301352582559e-119 | 9.76971055828211e-118 |
| 36.0ms | 8.310950378962399e-227 | 8.52550807894334e-212 |
| 34.0ms | 2.0809167607624005e-272 | 4.86714874207877e-259 |
| 17.0ms | -1.8885903874799524e+55 | -8.476333458534644e+54 |
| 238.0ms | 768× | body | 256 | valid |
| 0.0ms | 1× | body | 256 | infinite |
Compiled 692 to 591 computations (14.6% saved)
Total -32.6b remaining (-110.7%)
Threshold costs -32.6b (-110.7%)
| Inputs |
|---|
-2 |
(*.f64 -4 (/.f64 y z)) |
| Outputs |
|---|
-2 |
(*.f64 -4 (/.f64 y z)) |
-2 |
3 calls:
| 148.0ms | y |
| 36.0ms | x |
| 27.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 33.7b | 5 | x |
| 30.4b | 3 | y |
| 29.5b | 3 | z |
Compiled 21 to 16 computations (23.8% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 31.0ms | 1.754778277755165e-13 | 5.409959306460259e-5 |
| 27.0ms | -2.6826732135304464e+81 | -5.076245692754312e+78 |
| 50.0ms | 272× | body | 256 | valid |
Compiled 258 to 219 computations (15.1% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 76 | 451 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(if (<=.f64 y -1749999999999999913491940537850355225099236634495546510032288109306912422898250947396168473983785025810675786319921152) (-.f64 (*.f64 -4 (/.f64 y z)) 2) (if (<=.f64 y 3408919107146589/7410693711188236507108543040556026102609279018600996098525285376506440296955904) (-.f64 (*.f64 4 (/.f64 x z)) 2) (if (<=.f64 y 4352132950612665/1208925819614629174706176) (*.f64 4 (/.f64 (-.f64 x y) z)) (if (<=.f64 y 79999999999999996753337956508029018519359687171876115173579120784536313836076354041282560) (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2))))) |
(if (<=.f64 x -16000000000000001252664646473539901476885764798177869824) (*.f64 4 (/.f64 (-.f64 x y) z)) (if (<=.f64 x 224999999999999989245804544) (-.f64 (*.f64 -4 (/.f64 y z)) 2) (*.f64 4 (/.f64 (-.f64 x y) z)))) |
(if (<=.f64 z -2549999999999999885314218804234989626028880839826495485654624463919881258479665590930015660094128892912161707452716574305647589328702815133644434549668701810944582587717941986074194262457807093457989375361024) -2 (if (<=.f64 z -1799999999999999869449922363021060919684697761148896472674919768617891425020663242208887992937348489434422362932188577849477458618078907521302528) (*.f64 4 (/.f64 (-.f64 x y) z)) (if (<=.f64 z -1649999999999999993214399163266470571648680997051150016393002783142021536127301909472849699177830023168) -2 (if (<=.f64 z 24999999999999998820130556284541701672812822838215424632605405872128) (*.f64 4 (/.f64 (-.f64 x y) z)) -2)))) |
(if (<=.f64 x -17500000000000000519396039778088108581907286668586516480) (*.f64 4 (/.f64 x z)) (if (<=.f64 x 4084213920990005/1134503866941667986143541334648056457619674836471095626110665786221268201568912028156408931347775536033476809532312754097331684299884724203331627335435786915422798797948806666521214607112348737236205441118127012028555106130125335760617903854636122194680820545543017511614811209728) -2 (if (<=.f64 x 536550252699125/198722315814490743699069374523200327072881410190937166225798660867334521943856241450352436330066749177662429529232777370389962245646696242104868771205271185818170236930668787910433956560844600937633663896795708000114284397288455405568) (*.f64 -4 (/.f64 y z)) (if (<=.f64 x 7722661445640823/11356855067118857664833184498250070849275646260739344691898284362197488876771842551971735167402555711886914400097909030211478150447104) -2 (if (<=.f64 x 834740539628243/15177100720513508366558296147058741458143803430094840009779784451085189728165691392) (*.f64 -4 (/.f64 y z)) (if (<=.f64 x 1799770609570069/51422017416287688817342786954917203280710495801049370729644032) -2 (*.f64 4 (/.f64 x z)))))))) |
(if (<=.f64 z -13399999999999999332199862483869149856784495274881902386193451800267043448553472) -2 (if (<=.f64 z 1436010445571041/4951760157141521099596496896) (*.f64 -4 (/.f64 y z)) -2)) |
-2 |
| Outputs |
|---|
(-.f64 (*.f64 4 (/.f64 (-.f64 x y) z)) 2) |
(if (<=.f64 y -1749999999999999913491940537850355225099236634495546510032288109306912422898250947396168473983785025810675786319921152) (-.f64 (*.f64 -4 (/.f64 y z)) 2) (if (<=.f64 y 3408919107146589/7410693711188236507108543040556026102609279018600996098525285376506440296955904) (-.f64 (*.f64 4 (/.f64 x z)) 2) (if (<=.f64 y 4352132950612665/1208925819614629174706176) (*.f64 4 (/.f64 (-.f64 x y) z)) (if (<=.f64 y 79999999999999996753337956508029018519359687171876115173579120784536313836076354041282560) (-.f64 (*.f64 4 (/.f64 x z)) 2) (-.f64 (*.f64 -4 (/.f64 y z)) 2))))) |
(if (<=.f64 x -16000000000000001252664646473539901476885764798177869824) (*.f64 4 (/.f64 (-.f64 x y) z)) (if (<=.f64 x 224999999999999989245804544) (-.f64 (*.f64 -4 (/.f64 y z)) 2) (*.f64 4 (/.f64 (-.f64 x y) z)))) |
(if (<=.f64 z -2549999999999999885314218804234989626028880839826495485654624463919881258479665590930015660094128892912161707452716574305647589328702815133644434549668701810944582587717941986074194262457807093457989375361024) -2 (if (<=.f64 z -1799999999999999869449922363021060919684697761148896472674919768617891425020663242208887992937348489434422362932188577849477458618078907521302528) (*.f64 4 (/.f64 (-.f64 x y) z)) (if (<=.f64 z -1649999999999999993214399163266470571648680997051150016393002783142021536127301909472849699177830023168) -2 (if (<=.f64 z 24999999999999998820130556284541701672812822838215424632605405872128) (*.f64 4 (/.f64 (-.f64 x y) z)) -2)))) |
(if (<=.f64 x -17500000000000000519396039778088108581907286668586516480) (*.f64 4 (/.f64 x z)) (if (<=.f64 x 4084213920990005/1134503866941667986143541334648056457619674836471095626110665786221268201568912028156408931347775536033476809532312754097331684299884724203331627335435786915422798797948806666521214607112348737236205441118127012028555106130125335760617903854636122194680820545543017511614811209728) -2 (if (<=.f64 x 536550252699125/198722315814490743699069374523200327072881410190937166225798660867334521943856241450352436330066749177662429529232777370389962245646696242104868771205271185818170236930668787910433956560844600937633663896795708000114284397288455405568) (*.f64 -4 (/.f64 y z)) (if (<=.f64 x 7722661445640823/11356855067118857664833184498250070849275646260739344691898284362197488876771842551971735167402555711886914400097909030211478150447104) -2 (if (<=.f64 x 834740539628243/15177100720513508366558296147058741458143803430094840009779784451085189728165691392) (*.f64 -4 (/.f64 y z)) (if (<=.f64 x 1799770609570069/51422017416287688817342786954917203280710495801049370729644032) -2 (*.f64 4 (/.f64 x z)))))))) |
(if (<=.f64 z -13399999999999999332199862483869149856784495274881902386193451800267043448553472) -2 (if (<=.f64 z 1436010445571041/4951760157141521099596496896) (*.f64 -4 (/.f64 y z)) -2)) |
-2 |
Compiled 206 to 142 computations (31.1% saved)
Compiled 188 to 114 computations (39.4% saved)
Loading profile data...