Time bar (total: 12.7s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 4 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 5 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 6 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 7 |
| 0% | 0% | 99.8% | 0.2% | 0% | 0% | 0% | 8 |
| 6.3% | 6.2% | 93.6% | 0.2% | 0% | 0% | 0% | 9 |
| 9.4% | 9.4% | 90.4% | 0.2% | 0% | 0% | 0% | 10 |
| 12.7% | 12.5% | 85.8% | 0.2% | 1.6% | 0% | 0% | 11 |
| 17.7% | 17.2% | 79.9% | 0.2% | 2.7% | 0% | 0% | 12 |
Compiled 14 to 9 computations (35.7% saved)
| 1.6s | 8256× | body | 256 | valid |
| 699.0ms | 2396× | body | 256 | infinite |
| 2× | egg-herbie |
| 72× | rational.json-simplify-2 |
| 24× | rational.json-simplify-43 |
| 14× | rational.json-simplify-52 |
| 2× | swap-y-t |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 29 | 175 |
| 1 | 41 | 133 |
| 2 | 54 | 133 |
| 3 | 71 | 133 |
| 4 | 87 | 133 |
| 5 | 93 | 133 |
| 0 | 4 | 4 |
| 1 | 4 | 4 |
| 1× | unsound |
| 1× | saturated |
| Inputs |
|---|
0 |
1 |
2 |
3 |
| Outputs |
|---|
0 |
1 |
2 |
3 |
1 |
| Inputs |
|---|
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 z x)) t) |
(*.f64 (-.f64 (*.f64 z y) (*.f64 x y)) t) |
(*.f64 (-.f64 (*.f64 t y) (*.f64 z y)) x) |
(*.f64 (-.f64 (*.f64 x z) (*.f64 y z)) t) |
(*.f64 (-.f64 (*.f64 x t) (*.f64 z t)) y) |
(*.f64 (-.f64 (*.f64 x y) (*.f64 t y)) z) |
| Outputs |
|---|
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) |
(*.f64 (-.f64 (*.f64 x y) (*.f64 y z)) t) |
(*.f64 (*.f64 y (-.f64 x z)) t) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 z x)) t) |
(*.f64 t (-.f64 (*.f64 x y) (*.f64 x z))) |
(*.f64 t (*.f64 x (-.f64 y z))) |
(*.f64 x (*.f64 (-.f64 y z) t)) |
(*.f64 x (*.f64 t (-.f64 y z))) |
(*.f64 (-.f64 (*.f64 z y) (*.f64 x y)) t) |
(*.f64 t (-.f64 (*.f64 y z) (*.f64 x y))) |
(*.f64 t (*.f64 y (-.f64 z x))) |
(*.f64 y (*.f64 (-.f64 z x) t)) |
(*.f64 y (*.f64 t (-.f64 z x))) |
(*.f64 (-.f64 (*.f64 t y) (*.f64 z y)) x) |
(*.f64 x (-.f64 (*.f64 y t) (*.f64 y z))) |
(*.f64 x (*.f64 y (-.f64 t z))) |
(*.f64 (-.f64 (*.f64 x z) (*.f64 y z)) t) |
(*.f64 t (-.f64 (*.f64 x z) (*.f64 y z))) |
(*.f64 t (*.f64 z (-.f64 x y))) |
(*.f64 z (*.f64 (-.f64 x y) t)) |
(*.f64 (-.f64 x y) (*.f64 z t)) |
(*.f64 (*.f64 z t) (-.f64 x y)) |
(*.f64 (-.f64 (*.f64 x t) (*.f64 z t)) y) |
(*.f64 (-.f64 (*.f64 x y) (*.f64 y z)) t) |
(*.f64 (*.f64 y (-.f64 x z)) t) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 (*.f64 x y) (*.f64 t y)) z) |
(*.f64 z (-.f64 (*.f64 x y) (*.f64 y t))) |
(*.f64 z (*.f64 y (-.f64 x t))) |
(*.f64 y (*.f64 (-.f64 x t) z)) |
(*.f64 y (*.f64 z (-.f64 x t))) |
(sort y t)
Compiled 17 to 12 computations (29.4% saved)
| 1× | egg-herbie |
| 16× | rational.json-simplify-2 |
| 6× | rational.json-simplify-43 |
| 2× | rational.json-simplify-52 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 25 |
| 1 | 13 | 19 |
| 2 | 15 | 19 |
| 3 | 18 | 19 |
| 4 | 24 | 19 |
| 5 | 25 | 19 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) |
| Outputs |
|---|
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) |
(*.f64 (-.f64 (*.f64 x y) (*.f64 y z)) t) |
(*.f64 (*.f64 y (-.f64 x z)) t) |
(*.f64 y (*.f64 (-.f64 x z) t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
Compiled 43 to 18 computations (58.1% saved)
4 alts after pruning (4 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 2 | 3 | 5 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 2 | 4 | 6 |
| Status | Error | Program |
|---|---|---|
| ▶ | 7.8b | (*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) |
| ▶ | 7.8b | (*.f64 (*.f64 y (-.f64 x z)) t) |
| ▶ | 8.3b | (*.f64 y (*.f64 (-.f64 x z) t)) |
Compiled 35 to 22 computations (37.1% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 (-.f64 x z) t) |
| ✓ | 7.9b | (*.f64 y (*.f64 (-.f64 x z) t)) |
Compiled 23 to 7 computations (69.6% saved)
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | inf | (*.f64 y (*.f64 (-.f64 x z) t)) |
| 1.0ms | x | @ | inf | (*.f64 y (*.f64 (-.f64 x z) t)) |
| 1.0ms | y | @ | 0 | (*.f64 y (*.f64 (-.f64 x z) t)) |
| 0.0ms | t | @ | inf | (*.f64 y (*.f64 (-.f64 x z) t)) |
| 0.0ms | x | @ | -inf | (*.f64 y (*.f64 (-.f64 x z) t)) |
| 1× | batch-egg-rewrite |
| 1552× | rational.json-simplify-35 |
| 1514× | exponential.json-3 |
| 1514× | rational.json-1 |
| 1514× | rational.json-2 |
| 1514× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 32 |
| 1 | 60 | 32 |
| 2 | 139 | 32 |
| 3 | 304 | 32 |
| 4 | 566 | 32 |
| 5 | 1369 | 32 |
| 6 | 3117 | 32 |
| 7 | 5055 | 32 |
| 8 | 6558 | 32 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y (*.f64 (-.f64 x z) t)) |
(*.f64 (-.f64 x z) t) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (*.f64 (-.f64 x z) t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 (-.f64 x z) (*.f64 t 1/2))) (*.f64 y (*.f64 (-.f64 x z) (*.f64 t 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 x z) t) (+.f64 y y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x z) (*.f64 t (*.f64 y 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x z) t) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 x z) t))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x z) (*.f64 t 1/2)) (*.f64 (-.f64 x z) (*.f64 t 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 x z) t) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x z) t) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x z) (+.f64 t t)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x z) (*.f64 t 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 x z) t) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 x z) t) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x z) t) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x z) t) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x z) t) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 x z) t) 1))))) |
| 1× | egg-herbie |
| 3076× | rational.json-simplify-35 |
| 1856× | rational.json-simplify-2 |
| 1488× | rational.json-simplify-53 |
| 1332× | rational.json-simplify-1 |
| 834× | rational.json-simplify-41 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 79 | 2300 |
| 1 | 207 | 1892 |
| 2 | 481 | 1892 |
| 3 | 1195 | 1892 |
| 4 | 3121 | 1892 |
| 5 | 4186 | 1892 |
| 6 | 4477 | 1892 |
| 7 | 4667 | 1892 |
| 8 | 4831 | 1892 |
| 9 | 4996 | 1892 |
| 10 | 6607 | 1892 |
| 11 | 7154 | 1892 |
| 12 | 7177 | 1892 |
| 13 | 7179 | 1892 |
| 14 | 7181 | 1892 |
| 15 | 7341 | 1892 |
| 16 | 7501 | 1892 |
| 17 | 7725 | 1892 |
| 18 | 7885 | 1892 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(*.f64 y (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(*.f64 t x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(*.f64 t x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(*.f64 t x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(*.f64 -1 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(*.f64 t (-.f64 x z)) |
(*.f64 t (-.f64 x z)) |
(*.f64 t (-.f64 x z)) |
(*.f64 t (-.f64 x z)) |
(*.f64 t (-.f64 x z)) |
(*.f64 t (-.f64 x z)) |
(*.f64 t (-.f64 x z)) |
(*.f64 t (-.f64 x z)) |
(*.f64 t (-.f64 x z)) |
(*.f64 t (-.f64 x z)) |
(*.f64 t (-.f64 x z)) |
(*.f64 t (-.f64 x z)) |
(+.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0) |
(+.f64 0 (*.f64 y (*.f64 (-.f64 x z) t))) |
(+.f64 (*.f64 y (*.f64 (-.f64 x z) (*.f64 t 1/2))) (*.f64 y (*.f64 (-.f64 x z) (*.f64 t 1/2)))) |
(-.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0) |
(/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1) |
(/.f64 (*.f64 (*.f64 (-.f64 x z) t) (+.f64 y y)) 2) |
(/.f64 (*.f64 (-.f64 x z) (*.f64 t (*.f64 y 4))) 4) |
(/.f64 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8))))) 128) |
(pow.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1) |
(+.f64 (*.f64 (-.f64 x z) t) 0) |
(+.f64 0 (*.f64 (-.f64 x z) t)) |
(+.f64 (*.f64 (-.f64 x z) (*.f64 t 1/2)) (*.f64 (-.f64 x z) (*.f64 t 1/2))) |
(-.f64 (*.f64 (-.f64 x z) t) 0) |
(/.f64 (*.f64 (-.f64 x z) t) 1) |
(/.f64 (*.f64 (-.f64 x z) (+.f64 t t)) 2) |
(/.f64 (*.f64 (-.f64 x z) (*.f64 t 4)) 4) |
(/.f64 (*.f64 (*.f64 (-.f64 x z) t) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 x z) t) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x z) t) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x z) t) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x z) t) 8))))) 128) |
(pow.f64 (*.f64 (-.f64 x z) t) 1) |
| Outputs |
|---|
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 y (*.f64 t (*.f64 z -1))) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t (*.f64 z -1))) (*.f64 t (*.f64 x y))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t (*.f64 z -1))) (*.f64 t (*.f64 x y))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t (*.f64 z -1))) (*.f64 t (*.f64 x y))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t x)) |
(*.f64 t (*.f64 x y)) |
(*.f64 t (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 y (*.f64 t (*.f64 z -1))) (*.f64 t (*.f64 x y))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 y (*.f64 t (*.f64 z -1))) (*.f64 t (*.f64 x y))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 y (*.f64 t (*.f64 z -1))) (*.f64 t (*.f64 x y))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t x)) |
(*.f64 t (*.f64 x y)) |
(*.f64 t (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 y (*.f64 t (*.f64 z -1))) (*.f64 t (*.f64 x y))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 y (*.f64 t (*.f64 z -1))) (*.f64 t (*.f64 x y))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 y (*.f64 t (*.f64 z -1))) (*.f64 t (*.f64 x y))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t x)) |
(*.f64 t (*.f64 x y)) |
(*.f64 t (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 y (*.f64 t (*.f64 z -1))) (*.f64 t (*.f64 x y))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 y (*.f64 t (*.f64 z -1))) (*.f64 t (*.f64 x y))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 y (*.f64 t (*.f64 z -1))) (*.f64 t (*.f64 x y))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 y (*.f64 t (*.f64 z -1))) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t (*.f64 z -1))) (*.f64 t (*.f64 x y))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t (*.f64 z -1))) (*.f64 t (*.f64 x y))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t (*.f64 z -1))) (*.f64 t (*.f64 x y))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 y (*.f64 t (*.f64 z -1))) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t (*.f64 z -1))) (*.f64 t (*.f64 x y))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t (*.f64 z -1))) (*.f64 t (*.f64 x y))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t (*.f64 z -1))) (*.f64 t (*.f64 x y))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 -1 (*.f64 t z)) |
(*.f64 t (*.f64 z -1)) |
(*.f64 t (neg.f64 z)) |
(neg.f64 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 t x) (*.f64 t (*.f64 z -1))) |
(*.f64 t (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 t x) (*.f64 t (*.f64 z -1))) |
(*.f64 t (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 t x) (*.f64 t (*.f64 z -1))) |
(*.f64 t (+.f64 x (neg.f64 z))) |
(*.f64 t x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 t x) (*.f64 t (*.f64 z -1))) |
(*.f64 t (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 t x) (*.f64 t (*.f64 z -1))) |
(*.f64 t (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 t x) (*.f64 t (*.f64 z -1))) |
(*.f64 t (+.f64 x (neg.f64 z))) |
(*.f64 t x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 t x) (*.f64 t (*.f64 z -1))) |
(*.f64 t (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 t x) (*.f64 t (*.f64 z -1))) |
(*.f64 t (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 t x) (*.f64 t (*.f64 z -1))) |
(*.f64 t (+.f64 x (neg.f64 z))) |
(*.f64 t x) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 t x) (*.f64 t (*.f64 z -1))) |
(*.f64 t (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 t x) (*.f64 t (*.f64 z -1))) |
(*.f64 t (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 t x) (*.f64 t (*.f64 z -1))) |
(*.f64 t (+.f64 x (neg.f64 z))) |
(*.f64 -1 (*.f64 t z)) |
(*.f64 t (*.f64 z -1)) |
(*.f64 t (neg.f64 z)) |
(neg.f64 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 t x) (*.f64 t (*.f64 z -1))) |
(*.f64 t (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 t x) (*.f64 t (*.f64 z -1))) |
(*.f64 t (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 t x) (*.f64 t (*.f64 z -1))) |
(*.f64 t (+.f64 x (neg.f64 z))) |
(*.f64 -1 (*.f64 t z)) |
(*.f64 t (*.f64 z -1)) |
(*.f64 t (neg.f64 z)) |
(neg.f64 (*.f64 t z)) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 t x) (*.f64 t (*.f64 z -1))) |
(*.f64 t (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 t x) (*.f64 t (*.f64 z -1))) |
(*.f64 t (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t x)) |
(+.f64 (*.f64 t x) (*.f64 t (*.f64 z -1))) |
(*.f64 t (+.f64 x (neg.f64 z))) |
(*.f64 t (-.f64 x z)) |
(*.f64 t (-.f64 x z)) |
(*.f64 t (-.f64 x z)) |
(*.f64 t (-.f64 x z)) |
(*.f64 t (-.f64 x z)) |
(*.f64 t (-.f64 x z)) |
(*.f64 t (-.f64 x z)) |
(*.f64 t (-.f64 x z)) |
(*.f64 t (-.f64 x z)) |
(*.f64 t (-.f64 x z)) |
(*.f64 t (-.f64 x z)) |
(*.f64 t (-.f64 x z)) |
(+.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 0 (*.f64 y (*.f64 (-.f64 x z) t))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 y (*.f64 (-.f64 x z) (*.f64 t 1/2))) (*.f64 y (*.f64 (-.f64 x z) (*.f64 t 1/2)))) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(-.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(/.f64 (*.f64 (*.f64 (-.f64 x z) t) (+.f64 y y)) 2) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(/.f64 (*.f64 (-.f64 x z) (*.f64 t (*.f64 y 4))) 4) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(/.f64 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8) 8) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8)) 16) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8))) 32) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8)))) 64) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8))))) 128) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(pow.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1) |
(*.f64 (-.f64 x z) (*.f64 t y)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 (-.f64 x z) t) 0) |
(*.f64 t (-.f64 x z)) |
(+.f64 0 (*.f64 (-.f64 x z) t)) |
(*.f64 t (-.f64 x z)) |
(+.f64 (*.f64 (-.f64 x z) (*.f64 t 1/2)) (*.f64 (-.f64 x z) (*.f64 t 1/2))) |
(*.f64 t (-.f64 x z)) |
(-.f64 (*.f64 (-.f64 x z) t) 0) |
(*.f64 t (-.f64 x z)) |
(/.f64 (*.f64 (-.f64 x z) t) 1) |
(*.f64 t (-.f64 x z)) |
(/.f64 (*.f64 (-.f64 x z) (+.f64 t t)) 2) |
(*.f64 t (-.f64 x z)) |
(/.f64 (*.f64 (-.f64 x z) (*.f64 t 4)) 4) |
(*.f64 t (-.f64 x z)) |
(/.f64 (*.f64 (*.f64 (-.f64 x z) t) 8) 8) |
(*.f64 t (-.f64 x z)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 x z) t) 8)) 16) |
(*.f64 t (-.f64 x z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x z) t) 8))) 32) |
(*.f64 t (-.f64 x z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x z) t) 8)))) 64) |
(*.f64 t (-.f64 x z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x z) t) 8))))) 128) |
(*.f64 t (-.f64 x z)) |
(pow.f64 (*.f64 (-.f64 x z) t) 1) |
(*.f64 t (-.f64 x z)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f64 y (-.f64 x z)) |
| ✓ | 7.4b | (*.f64 (*.f64 y (-.f64 x z)) t) |
Compiled 23 to 7 computations (69.6% saved)
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | -inf | (*.f64 y (-.f64 x z)) |
| 0.0ms | y | @ | inf | (*.f64 y (-.f64 x z)) |
| 0.0ms | x | @ | inf | (*.f64 (*.f64 y (-.f64 x z)) t) |
| 0.0ms | x | @ | 0 | (*.f64 y (-.f64 x z)) |
| 0.0ms | y | @ | 0 | (*.f64 y (-.f64 x z)) |
| 1× | batch-egg-rewrite |
| 1534× | rational.json-simplify-35 |
| 1490× | exponential.json-3 |
| 1490× | rational.json-1 |
| 1490× | rational.json-2 |
| 1490× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 32 |
| 1 | 58 | 32 |
| 2 | 128 | 32 |
| 3 | 288 | 32 |
| 4 | 541 | 32 |
| 5 | 1322 | 32 |
| 6 | 3026 | 32 |
| 7 | 4969 | 32 |
| 8 | 6450 | 32 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (*.f64 y (-.f64 x z)) t) |
(*.f64 y (-.f64 x z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (*.f64 (-.f64 x z) t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 (-.f64 x z) (*.f64 t 1/2))) (*.f64 y (*.f64 (-.f64 x z) (*.f64 t 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x z) (*.f64 y (+.f64 t t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 (*.f64 (-.f64 x z) t) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (-.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (-.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 (-.f64 x z) 1/2)) (*.f64 y (*.f64 (-.f64 x z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (-.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 (-.f64 x z) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x z) (*.f64 y 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y (-.f64 x z)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (-.f64 x z)) 1))))) |
| 1× | egg-herbie |
| 2932× | rational.json-simplify-35 |
| 1684× | rational.json-simplify-2 |
| 1394× | exponential.json-simplify-26 |
| 1306× | rational.json-simplify-53 |
| 1278× | rational.json-simplify-1 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 85 | 2144 |
| 1 | 219 | 1844 |
| 2 | 483 | 1736 |
| 3 | 1249 | 1736 |
| 4 | 3019 | 1736 |
| 5 | 4404 | 1736 |
| 6 | 4684 | 1736 |
| 7 | 4905 | 1736 |
| 8 | 5075 | 1736 |
| 9 | 5245 | 1736 |
| 10 | 6426 | 1736 |
| 11 | 7466 | 1736 |
| 12 | 7490 | 1736 |
| 13 | 7491 | 1736 |
| 14 | 7492 | 1736 |
| 15 | 7655 | 1736 |
| 16 | 7818 | 1736 |
| 17 | 7981 | 1736 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(*.f64 y (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0) |
(+.f64 0 (*.f64 y (*.f64 (-.f64 x z) t))) |
(+.f64 (*.f64 y (*.f64 (-.f64 x z) (*.f64 t 1/2))) (*.f64 y (*.f64 (-.f64 x z) (*.f64 t 1/2)))) |
(-.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0) |
(/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1) |
(/.f64 (*.f64 (-.f64 x z) (*.f64 y (+.f64 t t))) 2) |
(/.f64 (*.f64 y (*.f64 (*.f64 (-.f64 x z) t) 4)) 4) |
(/.f64 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8))))) 128) |
(pow.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1) |
(+.f64 (*.f64 y (-.f64 x z)) 0) |
(+.f64 0 (*.f64 y (-.f64 x z))) |
(+.f64 (*.f64 y (*.f64 (-.f64 x z) 1/2)) (*.f64 y (*.f64 (-.f64 x z) 1/2))) |
(-.f64 (*.f64 y (-.f64 x z)) 0) |
(/.f64 (*.f64 y (-.f64 x z)) 1) |
(/.f64 (*.f64 y (*.f64 (-.f64 x z) 2)) 2) |
(/.f64 (*.f64 (-.f64 x z) (*.f64 y 4)) 4) |
(/.f64 (*.f64 (*.f64 y (-.f64 x z)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8))))) 128) |
(pow.f64 (*.f64 y (-.f64 x z)) 1) |
| Outputs |
|---|
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 y (*.f64 (*.f64 t z) -1)) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 (*.f64 t z) -1)) (*.f64 t (*.f64 y x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 (*.f64 t z) -1)) (*.f64 t (*.f64 y x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 (*.f64 t z) -1)) (*.f64 t (*.f64 y x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z))) |
(*.f64 y (*.f64 t x)) |
(*.f64 t (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 y (*.f64 (*.f64 t z) -1)) (*.f64 t (*.f64 y x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 y (*.f64 (*.f64 t z) -1)) (*.f64 t (*.f64 y x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 y (*.f64 (*.f64 t z) -1)) (*.f64 t (*.f64 y x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z))) |
(*.f64 y (*.f64 t x)) |
(*.f64 t (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 y (*.f64 (*.f64 t z) -1)) (*.f64 t (*.f64 y x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 y (*.f64 (*.f64 t z) -1)) (*.f64 t (*.f64 y x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 y (*.f64 (*.f64 t z) -1)) (*.f64 t (*.f64 y x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z))) |
(*.f64 y (*.f64 t x)) |
(*.f64 t (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 y (*.f64 (*.f64 t z) -1)) (*.f64 t (*.f64 y x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 y (*.f64 (*.f64 t z) -1)) (*.f64 t (*.f64 y x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 y (*.f64 (*.f64 t z) -1)) (*.f64 t (*.f64 y x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 y (*.f64 (*.f64 t z) -1)) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 (*.f64 t z) -1)) (*.f64 t (*.f64 y x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 (*.f64 t z) -1)) (*.f64 t (*.f64 y x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 (*.f64 t z) -1)) (*.f64 t (*.f64 y x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 y (*.f64 (*.f64 t z) -1)) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 (*.f64 t z) -1)) (*.f64 t (*.f64 y x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 (*.f64 t z) -1)) (*.f64 t (*.f64 y x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 (*.f64 t z) -1)) (*.f64 t (*.f64 y x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 -1 (*.f64 y z)) |
(*.f64 y (*.f64 z -1)) |
(*.f64 y (neg.f64 z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x)) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x)) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x)) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x)) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x)) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x)) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x)) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x)) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x)) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x)) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x)) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x)) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 -1 (*.f64 y z)) |
(*.f64 y (*.f64 z -1)) |
(*.f64 y (neg.f64 z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x)) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x)) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x)) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 -1 (*.f64 y z)) |
(*.f64 y (*.f64 z -1)) |
(*.f64 y (neg.f64 z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x)) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x)) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x)) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(+.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 0 (*.f64 y (*.f64 (-.f64 x z) t))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 y (*.f64 (-.f64 x z) (*.f64 t 1/2))) (*.f64 y (*.f64 (-.f64 x z) (*.f64 t 1/2)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(-.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(/.f64 (*.f64 (-.f64 x z) (*.f64 y (+.f64 t t))) 2) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(/.f64 (*.f64 y (*.f64 (*.f64 (-.f64 x z) t) 4)) 4) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(/.f64 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8) 8) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8)) 16) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8))) 32) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8)))) 64) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 8))))) 128) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(pow.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 y (-.f64 x z)) 0) |
(*.f64 y (-.f64 x z)) |
(+.f64 0 (*.f64 y (-.f64 x z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y (*.f64 (-.f64 x z) 1/2)) (*.f64 y (*.f64 (-.f64 x z) 1/2))) |
(*.f64 y (-.f64 x z)) |
(-.f64 (*.f64 y (-.f64 x z)) 0) |
(*.f64 y (-.f64 x z)) |
(/.f64 (*.f64 y (-.f64 x z)) 1) |
(*.f64 y (-.f64 x z)) |
(/.f64 (*.f64 y (*.f64 (-.f64 x z) 2)) 2) |
(*.f64 y (-.f64 x z)) |
(/.f64 (*.f64 (-.f64 x z) (*.f64 y 4)) 4) |
(*.f64 y (-.f64 x z)) |
(/.f64 (*.f64 (*.f64 y (-.f64 x z)) 8) 8) |
(*.f64 y (-.f64 x z)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8)) 16) |
(*.f64 y (-.f64 x z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8))) 32) |
(*.f64 y (-.f64 x z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8)))) 64) |
(*.f64 y (-.f64 x z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8))))) 128) |
(*.f64 y (-.f64 x z)) |
(pow.f64 (*.f64 y (-.f64 x z)) 1) |
(*.f64 y (-.f64 x z)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.5b | (-.f64 (*.f64 x y) (*.f64 z y)) |
| ✓ | 7.4b | (*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) |
Compiled 30 to 8 computations (73.3% saved)
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | 0 | (*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) |
| 1.0ms | y | @ | inf | (*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) |
| 1.0ms | y | @ | -inf | (*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) |
| 1.0ms | t | @ | 0 | (*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) |
| 0.0ms | x | @ | 0 | (*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) |
| 1× | batch-egg-rewrite |
| 1842× | rational.json-simplify-35 |
| 1806× | rational.json-1 |
| 1208× | exponential.json-3 |
| 1208× | rational.json-2 |
| 1208× | rational.json-4 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 44 |
| 1 | 65 | 32 |
| 2 | 137 | 32 |
| 3 | 307 | 32 |
| 4 | 600 | 32 |
| 5 | 1461 | 32 |
| 6 | 3434 | 32 |
| 7 | 5791 | 32 |
| 8 | 7781 | 32 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) |
(-.f64 (*.f64 x y) (*.f64 z y)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 t (-.f64 x z))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (*.f64 t (-.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t (*.f64 y (*.f64 (-.f64 x z) 1/2))) (*.f64 t (*.f64 y (*.f64 (-.f64 x z) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 t (-.f64 x z))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 t (-.f64 x z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y (-.f64 x z)) (+.f64 t t)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 t 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y (*.f64 t (-.f64 x z))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (-.f64 x z))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (-.f64 x z))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (-.f64 x z))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (-.f64 x z))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (-.f64 x z))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (*.f64 t (-.f64 x z))) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x y) (neg.f64 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (-.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (-.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (*.f64 y (-.f64 x z)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 y z)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (*.f64 y (-.f64 x z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 y (-.f64 x z)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 (-.f64 x z) 1/2)) (*.f64 y (*.f64 (-.f64 x z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 y (-.f64 (*.f64 x 1/2) z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 y z)) (+.f64 (*.f64 x y) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 2 (*.f64 y (-.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x y) 1) (-.f64 -1 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 2 (*.f64 y (-.f64 z x))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (-.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (-.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 y (-.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 y (*.f64 (-.f64 x z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 2 (-.f64 x z))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 (-.f64 x z) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (-.f64 z x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x z) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 y (-.f64 x z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (/.f64 (*.f64 x y) 4) (/.f64 (*.f64 y z) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 (-.f64 x z) 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 z x) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 y (-.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (-.f64 x z)) (*.f64 y 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 y (*.f64 2 (-.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 1/2) (*.f64 2 (-.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 (-.f64 x z) 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x z) 1/2) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 y (*.f64 (-.f64 x z) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 y) (-.f64 z x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y (-.f64 x z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 2 (-.f64 x z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 z x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 (-.f64 x z) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 2 (-.f64 z x))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y (-.f64 x z)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 4 (-.f64 z x))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y (*.f64 4 (-.f64 z x)))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 4 (-.f64 z x))))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (-.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 y (-.f64 z x))))))) |
| 1× | egg-herbie |
| 1804× | rational.json-simplify-35 |
| 1262× | rational.json-simplify-51 |
| 1222× | rational.json-simplify-2 |
| 954× | rational.json-simplify-1 |
| 864× | rational.json-simplify-53 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 159 | 4016 |
| 1 | 376 | 3096 |
| 2 | 879 | 2790 |
| 3 | 2147 | 2266 |
| 4 | 5207 | 2250 |
| 5 | 6022 | 2250 |
| 6 | 6728 | 2250 |
| 7 | 7141 | 2250 |
| 8 | 7410 | 2250 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(*.f64 y (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 -1 (*.f64 y (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 z)) t))) |
(*.f64 -1 (*.f64 y (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 z)) t))) |
(*.f64 -1 (*.f64 y (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 z)) t))) |
(*.f64 -1 (*.f64 y (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 z)) t))) |
(*.f64 y (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(*.f64 y (-.f64 x z)) |
(*.f64 y (-.f64 x z)) |
(*.f64 y (-.f64 x z)) |
(*.f64 y (-.f64 x z)) |
(*.f64 y (-.f64 x z)) |
(*.f64 y (-.f64 x z)) |
(*.f64 y (-.f64 x z)) |
(*.f64 y (-.f64 x z)) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 x) (*.f64 -1 z)))) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 x) (*.f64 -1 z)))) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 x) (*.f64 -1 z)))) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 x) (*.f64 -1 z)))) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y (*.f64 t (-.f64 x z))) 0) |
(+.f64 0 (*.f64 y (*.f64 t (-.f64 x z)))) |
(+.f64 (*.f64 t (*.f64 y (*.f64 (-.f64 x z) 1/2))) (*.f64 t (*.f64 y (*.f64 (-.f64 x z) 1/2)))) |
(-.f64 (*.f64 y (*.f64 t (-.f64 x z))) 0) |
(/.f64 (*.f64 y (*.f64 t (-.f64 x z))) 1) |
(/.f64 (*.f64 (*.f64 y (-.f64 x z)) (+.f64 t t)) 2) |
(/.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 t 4)) 4) |
(/.f64 (*.f64 (*.f64 y (*.f64 t (-.f64 x z))) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (-.f64 x z))) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (-.f64 x z))) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (-.f64 x z))) 8)))) 64) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (-.f64 x z))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (-.f64 x z))) 8))))) 128) |
(pow.f64 (*.f64 y (*.f64 t (-.f64 x z))) 1) |
(+.f64 (*.f64 x y) (neg.f64 (*.f64 y z))) |
(+.f64 (*.f64 y (-.f64 x z)) 0) |
(+.f64 0 (*.f64 y (-.f64 x z))) |
(+.f64 1 (+.f64 (*.f64 y (-.f64 x z)) -1)) |
(+.f64 (neg.f64 (*.f64 y z)) (*.f64 x y)) |
(+.f64 -1 (+.f64 (*.f64 y (-.f64 x z)) 1)) |
(+.f64 (+.f64 (*.f64 y (-.f64 x z)) 1) -1) |
(+.f64 (*.f64 y (*.f64 (-.f64 x z) 1/2)) (*.f64 y (*.f64 (-.f64 x z) 1/2))) |
(+.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 y (-.f64 (*.f64 x 1/2) z))) |
(+.f64 (-.f64 1 (*.f64 y z)) (+.f64 (*.f64 x y) -1)) |
(+.f64 -2 (-.f64 2 (*.f64 y (-.f64 z x)))) |
(+.f64 (+.f64 (*.f64 x y) 1) (-.f64 -1 (*.f64 y z))) |
(+.f64 (-.f64 2 (*.f64 y (-.f64 z x))) -2) |
(*.f64 y (-.f64 x z)) |
(*.f64 (*.f64 y (-.f64 x z)) 1) |
(*.f64 1 (*.f64 y (-.f64 x z))) |
(*.f64 2 (*.f64 y (*.f64 (-.f64 x z) 1/2))) |
(*.f64 (*.f64 y (*.f64 2 (-.f64 x z))) 1/2) |
(*.f64 (+.f64 y y) (*.f64 (-.f64 x z) 1/2)) |
(*.f64 (*.f64 y (-.f64 z x)) -1) |
(*.f64 (-.f64 x z) y) |
(*.f64 4 (/.f64 (*.f64 y (-.f64 x z)) 4)) |
(*.f64 4 (-.f64 (/.f64 (*.f64 x y) 4) (/.f64 (*.f64 y z) 4))) |
(*.f64 (*.f64 y (*.f64 (-.f64 x z) 4)) 1/4) |
(*.f64 (-.f64 z x) (neg.f64 y)) |
(*.f64 -1 (*.f64 y (-.f64 z x))) |
(*.f64 (*.f64 2 (-.f64 x z)) (*.f64 y 1/2)) |
(*.f64 1/2 (*.f64 y (*.f64 2 (-.f64 x z)))) |
(*.f64 (*.f64 y 1/2) (*.f64 2 (-.f64 x z))) |
(*.f64 (*.f64 y (*.f64 (-.f64 x z) 1/2)) 2) |
(*.f64 (*.f64 (-.f64 x z) 1/2) (+.f64 y y)) |
(*.f64 1/4 (*.f64 y (*.f64 (-.f64 x z) 4))) |
(*.f64 (neg.f64 y) (-.f64 z x)) |
(*.f64 (/.f64 (*.f64 y (-.f64 x z)) 4) 4) |
(/.f64 (*.f64 y (-.f64 x z)) 1) |
(/.f64 (*.f64 y (*.f64 2 (-.f64 x z))) 2) |
(/.f64 (*.f64 y (-.f64 z x)) -1) |
(/.f64 (*.f64 y (*.f64 (-.f64 x z) 4)) 4) |
(/.f64 (*.f64 y (*.f64 2 (-.f64 z x))) -2) |
(/.f64 (*.f64 (*.f64 y (-.f64 x z)) 8) 8) |
(/.f64 (*.f64 y (*.f64 4 (-.f64 z x))) -4) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 y (*.f64 4 (-.f64 z x)))) -8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 4 (-.f64 z x))))) -16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8))))) 128) |
(pow.f64 (*.f64 y (-.f64 x z)) 1) |
(neg.f64 (*.f64 y (-.f64 z x))) |
| Outputs |
|---|
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 t (*.f64 y z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 -1 (*.f64 y (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 z)) t))) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 z)) (*.f64 t y))) |
(*.f64 (*.f64 t (*.f64 -1 (-.f64 x z))) (neg.f64 y)) |
(*.f64 y (neg.f64 (*.f64 t (neg.f64 (-.f64 x z))))) |
(*.f64 y (neg.f64 (*.f64 t (-.f64 z x)))) |
(*.f64 -1 (*.f64 y (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 z)) t))) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 z)) (*.f64 t y))) |
(*.f64 (*.f64 t (*.f64 -1 (-.f64 x z))) (neg.f64 y)) |
(*.f64 y (neg.f64 (*.f64 t (neg.f64 (-.f64 x z))))) |
(*.f64 y (neg.f64 (*.f64 t (-.f64 z x)))) |
(*.f64 -1 (*.f64 y (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 z)) t))) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 z)) (*.f64 t y))) |
(*.f64 (*.f64 t (*.f64 -1 (-.f64 x z))) (neg.f64 y)) |
(*.f64 y (neg.f64 (*.f64 t (neg.f64 (-.f64 x z))))) |
(*.f64 y (neg.f64 (*.f64 t (-.f64 z x)))) |
(*.f64 -1 (*.f64 y (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 z)) t))) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 z)) (*.f64 t y))) |
(*.f64 (*.f64 t (*.f64 -1 (-.f64 x z))) (neg.f64 y)) |
(*.f64 y (neg.f64 (*.f64 t (neg.f64 (-.f64 x z))))) |
(*.f64 y (neg.f64 (*.f64 t (-.f64 z x)))) |
(*.f64 y (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 t (*.f64 y z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 t (*.f64 y z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 y z)) |
(*.f64 y (neg.f64 z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 x) (*.f64 -1 z)))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 x) (*.f64 -1 z)))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 x) (*.f64 -1 z)))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 x) (*.f64 -1 z)))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 y x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 y z)) |
(*.f64 y (neg.f64 z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 y z)) |
(*.f64 y (neg.f64 z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y (*.f64 t (-.f64 x z))) 0) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 0 (*.f64 y (*.f64 t (-.f64 x z)))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 t (*.f64 y (*.f64 (-.f64 x z) 1/2))) (*.f64 t (*.f64 y (*.f64 (-.f64 x z) 1/2)))) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(-.f64 (*.f64 y (*.f64 t (-.f64 x z))) 0) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(/.f64 (*.f64 y (*.f64 t (-.f64 x z))) 1) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(/.f64 (*.f64 (*.f64 y (-.f64 x z)) (+.f64 t t)) 2) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(/.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 t 4)) 4) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(/.f64 (*.f64 (*.f64 y (*.f64 t (-.f64 x z))) 8) 8) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (-.f64 x z))) 8)) 16) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (-.f64 x z))) 8))) 32) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (-.f64 x z))) 8)))) 64) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (-.f64 x z))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (-.f64 x z))) 8))))) 128) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(pow.f64 (*.f64 y (*.f64 t (-.f64 x z))) 1) |
(+.f64 (*.f64 -1 (*.f64 t (*.f64 y z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 x y) (neg.f64 (*.f64 y z))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y (-.f64 x z)) 0) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 0 (*.f64 y (-.f64 x z))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 1 (+.f64 (*.f64 y (-.f64 x z)) -1)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (neg.f64 (*.f64 y z)) (*.f64 x y)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 -1 (+.f64 (*.f64 y (-.f64 x z)) 1)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (+.f64 (*.f64 y (-.f64 x z)) 1) -1) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y (*.f64 (-.f64 x z) 1/2)) (*.f64 y (*.f64 (-.f64 x z) 1/2))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 y (-.f64 (*.f64 x 1/2) z))) |
(+.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 y (-.f64 (*.f64 x 1/2) z))) |
(*.f64 y (+.f64 (-.f64 (*.f64 x 1/2) z) (*.f64 x 1/2))) |
(*.f64 y (+.f64 (*.f64 x 1/2) (-.f64 (*.f64 x 1/2) z))) |
(+.f64 (-.f64 1 (*.f64 y z)) (+.f64 (*.f64 x y) -1)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 -2 (-.f64 2 (*.f64 y (-.f64 z x)))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (+.f64 (*.f64 x y) 1) (-.f64 -1 (*.f64 y z))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(+.f64 (-.f64 2 (*.f64 y (-.f64 z x))) -2) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 y (-.f64 x z)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 (*.f64 y (-.f64 x z)) 1) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 1 (*.f64 y (-.f64 x z))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 2 (*.f64 y (*.f64 (-.f64 x z) 1/2))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 (*.f64 y (*.f64 2 (-.f64 x z))) 1/2) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 (+.f64 y y) (*.f64 (-.f64 x z) 1/2)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 (*.f64 y (-.f64 z x)) -1) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 (-.f64 x z) y) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 4 (/.f64 (*.f64 y (-.f64 x z)) 4)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 4 (-.f64 (/.f64 (*.f64 x y) 4) (/.f64 (*.f64 y z) 4))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 (*.f64 y (*.f64 (-.f64 x z) 4)) 1/4) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 (-.f64 z x) (neg.f64 y)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 -1 (*.f64 y (-.f64 z x))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 (*.f64 2 (-.f64 x z)) (*.f64 y 1/2)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 1/2 (*.f64 y (*.f64 2 (-.f64 x z)))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 (*.f64 y 1/2) (*.f64 2 (-.f64 x z))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 (*.f64 y (*.f64 (-.f64 x z) 1/2)) 2) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 (*.f64 (-.f64 x z) 1/2) (+.f64 y y)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 1/4 (*.f64 y (*.f64 (-.f64 x z) 4))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 (neg.f64 y) (-.f64 z x)) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(*.f64 (/.f64 (*.f64 y (-.f64 x z)) 4) 4) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(/.f64 (*.f64 y (-.f64 x z)) 1) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(/.f64 (*.f64 y (*.f64 2 (-.f64 x z))) 2) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(/.f64 (*.f64 y (-.f64 z x)) -1) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(/.f64 (*.f64 y (*.f64 (-.f64 x z) 4)) 4) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(/.f64 (*.f64 y (*.f64 2 (-.f64 z x))) -2) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(/.f64 (*.f64 (*.f64 y (-.f64 x z)) 8) 8) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(/.f64 (*.f64 y (*.f64 4 (-.f64 z x))) -4) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8)) 16) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8))) 32) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(/.f64 (*.f64 2 (*.f64 y (*.f64 4 (-.f64 z x)))) -8) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8)))) 64) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 4 (-.f64 z x))))) -16) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 x z)) 8))))) 128) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(pow.f64 (*.f64 y (-.f64 x z)) 1) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
(neg.f64 (*.f64 y (-.f64 z x))) |
(+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))) |
(*.f64 y (+.f64 x (neg.f64 z))) |
(*.f64 y (-.f64 x z)) |
Compiled 2018 to 837 computations (58.5% saved)
7 alts after pruning (5 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 184 | 5 | 189 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 1 | 2 |
| Total | 185 | 7 | 192 |
| Status | Error | Program |
|---|---|---|
| ✓ | 7.8b | (*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) |
| ▶ | 7.1b | (*.f64 (-.f64 x z) (*.f64 y t)) |
| ✓ | 7.8b | (*.f64 (*.f64 y (-.f64 x z)) t) |
| ▶ | 30.2b | (*.f64 (*.f64 y (neg.f64 z)) t) |
| ▶ | 35.0b | (*.f64 (*.f64 y x) t) |
| ▶ | 31.0b | (*.f64 y (*.f64 t (neg.f64 z))) |
| ▶ | 34.7b | (*.f64 y (*.f64 t x)) |
Compiled 122 to 81 computations (33.6% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 7.0b | (*.f64 (-.f64 x z) (*.f64 y t)) |
Compiled 21 to 7 computations (66.7% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | inf | (*.f64 (-.f64 x z) (*.f64 y t)) |
| 0.0ms | x | @ | 0 | (*.f64 (-.f64 x z) (*.f64 y t)) |
| 0.0ms | x | @ | inf | (*.f64 (-.f64 x z) (*.f64 y t)) |
| 0.0ms | t | @ | inf | (*.f64 (-.f64 x z) (*.f64 y t)) |
| 0.0ms | x | @ | -inf | (*.f64 (-.f64 x z) (*.f64 y t)) |
| 1× | batch-egg-rewrite |
| 1554× | rational.json-simplify-35 |
| 1518× | exponential.json-3 |
| 1518× | rational.json-1 |
| 1518× | rational.json-2 |
| 1518× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 19 |
| 1 | 60 | 19 |
| 2 | 139 | 19 |
| 3 | 304 | 19 |
| 4 | 566 | 19 |
| 5 | 1372 | 19 |
| 6 | 3123 | 19 |
| 7 | 5059 | 19 |
| 8 | 6574 | 19 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (-.f64 x z) (*.f64 y t)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 x z) (*.f64 y t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 (-.f64 x z) (*.f64 t 1/2))) (*.f64 y (*.f64 (-.f64 x z) (*.f64 t 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -2 (*.f64 (-.f64 z x) (*.f64 y t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x z) (*.f64 y (*.f64 t 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 1))))) |
| 1× | egg-herbie |
| 2826× | rational.json-simplify-53 |
| 2064× | rational.json-simplify-35 |
| 1906× | exponential.json-simplify-26 |
| 1264× | rational.json-simplify-43 |
| 1076× | rational.json-simplify-49 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 57 | 1465 |
| 1 | 149 | 1315 |
| 2 | 342 | 1315 |
| 3 | 882 | 1207 |
| 4 | 3221 | 1207 |
| 5 | 4293 | 1207 |
| 6 | 4837 | 1207 |
| 7 | 5093 | 1207 |
| 8 | 5312 | 1207 |
| 9 | 5523 | 1207 |
| 10 | 6954 | 1207 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(*.f64 y (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (*.f64 t x)) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(+.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 0) |
(+.f64 0 (*.f64 (-.f64 x z) (*.f64 y t))) |
(+.f64 (*.f64 y (*.f64 (-.f64 x z) (*.f64 t 1/2))) (*.f64 y (*.f64 (-.f64 x z) (*.f64 t 1/2)))) |
(-.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 0) |
(/.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 1) |
(/.f64 (*.f64 -2 (*.f64 (-.f64 z x) (*.f64 y t))) 2) |
(/.f64 (*.f64 (-.f64 x z) (*.f64 y (*.f64 t 4))) 4) |
(/.f64 (*.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 8))))) 128) |
(pow.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 1) |
| Outputs |
|---|
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 z (*.f64 y t))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 y t) (neg.f64 z)) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 z (*.f64 y t))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 y t) (neg.f64 z)) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 z (*.f64 y t))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 y t) (neg.f64 z)) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x))) |
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z)))) |
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(+.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 0) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(+.f64 0 (*.f64 (-.f64 x z) (*.f64 y t))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(+.f64 (*.f64 y (*.f64 (-.f64 x z) (*.f64 t 1/2))) (*.f64 y (*.f64 (-.f64 x z) (*.f64 t 1/2)))) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(-.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 0) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(/.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 1) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(/.f64 (*.f64 -2 (*.f64 (-.f64 z x) (*.f64 y t))) 2) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(/.f64 (*.f64 (-.f64 x z) (*.f64 y (*.f64 t 4))) 4) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(/.f64 (*.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 8) 8) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 8)) 16) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 8))) 32) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 8)))) 64) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 8))))) 128) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(pow.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 1) |
(*.f64 y (*.f64 t (-.f64 x z))) |
(*.f64 t (*.f64 y (-.f64 x z))) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 7.1b | (*.f64 y (*.f64 t x)) |
Compiled 15 to 6 computations (60% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | t | @ | -inf | (*.f64 y (*.f64 t x)) |
| 1.0ms | y | @ | 0 | (*.f64 y (*.f64 t x)) |
| 0.0ms | x | @ | 0 | (*.f64 y (*.f64 t x)) |
| 0.0ms | x | @ | inf | (*.f64 y (*.f64 t x)) |
| 0.0ms | t | @ | 0 | (*.f64 y (*.f64 t x)) |
| 1× | batch-egg-rewrite |
| 2168× | rational.json-simplify-2 |
| 1512× | rational.json-simplify-1 |
| 1370× | exponential.json-3 |
| 1370× | rational.json-1 |
| 1370× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 48 | 13 |
| 2 | 117 | 13 |
| 3 | 250 | 13 |
| 4 | 452 | 13 |
| 5 | 1058 | 13 |
| 6 | 2170 | 13 |
| 7 | 3361 | 13 |
| 8 | 3993 | 13 |
| 9 | 4949 | 13 |
| 10 | 5542 | 13 |
| 11 | 5542 | 13 |
| 12 | 6896 | 13 |
| 13 | 7986 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y (*.f64 t x)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 t x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (*.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 (*.f64 t x) 1/2)) (*.f64 y (*.f64 (*.f64 t x) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 t x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 t x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 t (+.f64 x x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 t (*.f64 y (*.f64 x 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 t (*.f64 x 8))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y (*.f64 t (*.f64 x 8)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 t (*.f64 x 8))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 t (*.f64 x 8)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 t (*.f64 x 8))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 t (*.f64 x 8)))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (*.f64 t x)) 1))))) |
| 1× | egg-herbie |
| 4300× | rational.json-simplify-53 |
| 3572× | rational.json-simplify-35 |
| 2382× | rational.json-simplify-2 |
| 1568× | exponential.json-simplify-26 |
| 696× | rational.json-simplify-43 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 48 | 182 |
| 1 | 135 | 182 |
| 2 | 286 | 182 |
| 3 | 717 | 182 |
| 4 | 1978 | 182 |
| 5 | 3612 | 182 |
| 6 | 4108 | 182 |
| 7 | 4441 | 182 |
| 8 | 4639 | 182 |
| 9 | 4831 | 182 |
| 10 | 5695 | 182 |
| 11 | 6450 | 182 |
| 12 | 6450 | 182 |
| 13 | 6450 | 182 |
| 14 | 6641 | 182 |
| 15 | 6832 | 182 |
| 16 | 7023 | 182 |
| 17 | 7214 | 182 |
| 18 | 7405 | 182 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 y (*.f64 t x)) 0) |
(+.f64 0 (*.f64 y (*.f64 t x))) |
(+.f64 (*.f64 y (*.f64 (*.f64 t x) 1/2)) (*.f64 y (*.f64 (*.f64 t x) 1/2))) |
(-.f64 (*.f64 y (*.f64 t x)) 0) |
(/.f64 (*.f64 y (*.f64 t x)) 1) |
(/.f64 (*.f64 y (*.f64 t (+.f64 x x))) 2) |
(/.f64 (*.f64 t (*.f64 y (*.f64 x 4))) 4) |
(/.f64 (*.f64 y (*.f64 t (*.f64 x 8))) 8) |
(/.f64 (*.f64 2 (*.f64 y (*.f64 t (*.f64 x 8)))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 t (*.f64 x 8))))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 t (*.f64 x 8)))))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 t (*.f64 x 8))))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 t (*.f64 x 8)))))))) 256) |
(pow.f64 (*.f64 y (*.f64 t x)) 1) |
| Outputs |
|---|
(+.f64 (*.f64 y (*.f64 t x)) 0) |
(*.f64 y (*.f64 t x)) |
(+.f64 0 (*.f64 y (*.f64 t x))) |
(*.f64 y (*.f64 t x)) |
(+.f64 (*.f64 y (*.f64 (*.f64 t x) 1/2)) (*.f64 y (*.f64 (*.f64 t x) 1/2))) |
(*.f64 y (*.f64 t x)) |
(-.f64 (*.f64 y (*.f64 t x)) 0) |
(*.f64 y (*.f64 t x)) |
(/.f64 (*.f64 y (*.f64 t x)) 1) |
(*.f64 y (*.f64 t x)) |
(/.f64 (*.f64 y (*.f64 t (+.f64 x x))) 2) |
(*.f64 y (*.f64 t x)) |
(/.f64 (*.f64 t (*.f64 y (*.f64 x 4))) 4) |
(*.f64 y (*.f64 t x)) |
(/.f64 (*.f64 y (*.f64 t (*.f64 x 8))) 8) |
(*.f64 y (*.f64 t x)) |
(/.f64 (*.f64 2 (*.f64 y (*.f64 t (*.f64 x 8)))) 16) |
(*.f64 y (*.f64 t x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 t (*.f64 x 8))))) 32) |
(*.f64 y (*.f64 t x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 t (*.f64 x 8)))))) 64) |
(*.f64 y (*.f64 t x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 t (*.f64 x 8))))))) 128) |
(*.f64 y (*.f64 t x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 t (*.f64 x 8)))))))) 256) |
(*.f64 y (*.f64 t x)) |
(pow.f64 (*.f64 y (*.f64 t x)) 1) |
(*.f64 y (*.f64 t x)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 7.6b | (*.f64 (*.f64 y x) t) |
Compiled 15 to 6 computations (60% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (*.f64 (*.f64 y x) t) |
| 0.0ms | y | @ | inf | (*.f64 (*.f64 y x) t) |
| 0.0ms | y | @ | -inf | (*.f64 (*.f64 y x) t) |
| 0.0ms | x | @ | -inf | (*.f64 (*.f64 y x) t) |
| 0.0ms | x | @ | inf | (*.f64 (*.f64 y x) t) |
| 1× | batch-egg-rewrite |
| 2832× | rational.json-simplify-35 |
| 2094× | rational.json-simplify-2 |
| 1180× | exponential.json-3 |
| 1180× | rational.json-1 |
| 1180× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 46 | 13 |
| 2 | 106 | 13 |
| 3 | 234 | 13 |
| 4 | 427 | 13 |
| 5 | 1014 | 13 |
| 6 | 2298 | 13 |
| 7 | 3697 | 13 |
| 8 | 4269 | 13 |
| 9 | 5077 | 13 |
| 10 | 5562 | 13 |
| 11 | 5562 | 13 |
| 12 | 6053 | 13 |
| 13 | 6053 | 13 |
| 14 | 6669 | 13 |
| 15 | 7610 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (*.f64 y x) t) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 x t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (*.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y t) (*.f64 x 1/2)) (*.f64 (*.f64 y t) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 x t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 x t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 x (+.f64 t t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 x (*.f64 t 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y (*.f64 x t)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 x t)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x t)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x t)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x t)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x t)) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x t)) 8))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x t)) 8))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x t)) 8)))))))) 1024)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (*.f64 x t)) 1))))) |
| 1× | egg-herbie |
| 2928× | rational.json-simplify-2 |
| 2220× | rational.json-simplify-35 |
| 1628× | exponential.json-simplify-26 |
| 1216× | rational.json-simplify-43 |
| 1092× | rational.json-simplify-49 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 55 | 676 |
| 1 | 145 | 676 |
| 2 | 312 | 676 |
| 3 | 794 | 676 |
| 4 | 3169 | 676 |
| 5 | 4365 | 676 |
| 6 | 5017 | 676 |
| 7 | 5254 | 676 |
| 8 | 5429 | 676 |
| 9 | 5594 | 676 |
| 10 | 7909 | 676 |
| 11 | 7909 | 676 |
| 12 | 7912 | 676 |
| 13 | 7912 | 676 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(+.f64 (*.f64 y (*.f64 x t)) 0) |
(+.f64 0 (*.f64 y (*.f64 x t))) |
(+.f64 (*.f64 (*.f64 y t) (*.f64 x 1/2)) (*.f64 (*.f64 y t) (*.f64 x 1/2))) |
(-.f64 (*.f64 y (*.f64 x t)) 0) |
(/.f64 (*.f64 y (*.f64 x t)) 1) |
(/.f64 (*.f64 y (*.f64 x (+.f64 t t))) 2) |
(/.f64 (*.f64 y (*.f64 x (*.f64 t 4))) 4) |
(/.f64 (*.f64 (*.f64 y (*.f64 x t)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 x t)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x t)) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x t)) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x t)) 8))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x t)) 8)))))) 256) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x t)) 8))))))) 512) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x t)) 8))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x t)) 8)))))))) 1024) |
(pow.f64 (*.f64 y (*.f64 x t)) 1) |
| Outputs |
|---|
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(+.f64 (*.f64 y (*.f64 x t)) 0) |
(*.f64 y (*.f64 t x)) |
(+.f64 0 (*.f64 y (*.f64 x t))) |
(*.f64 y (*.f64 t x)) |
(+.f64 (*.f64 (*.f64 y t) (*.f64 x 1/2)) (*.f64 (*.f64 y t) (*.f64 x 1/2))) |
(*.f64 y (*.f64 t x)) |
(-.f64 (*.f64 y (*.f64 x t)) 0) |
(*.f64 y (*.f64 t x)) |
(/.f64 (*.f64 y (*.f64 x t)) 1) |
(*.f64 y (*.f64 t x)) |
(/.f64 (*.f64 y (*.f64 x (+.f64 t t))) 2) |
(*.f64 y (*.f64 t x)) |
(/.f64 (*.f64 y (*.f64 x (*.f64 t 4))) 4) |
(*.f64 y (*.f64 t x)) |
(/.f64 (*.f64 (*.f64 y (*.f64 x t)) 8) 8) |
(*.f64 y (*.f64 t x)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 x t)) 8)) 16) |
(*.f64 y (*.f64 t x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x t)) 8))) 32) |
(*.f64 y (*.f64 t x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x t)) 8)))) 64) |
(*.f64 y (*.f64 t x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x t)) 8))))) 128) |
(*.f64 y (*.f64 t x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x t)) 8)))))) 256) |
(*.f64 y (*.f64 t x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x t)) 8))))))) 512) |
(*.f64 y (*.f64 t x)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x t)) 8))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 x t)) 8)))))))) 1024) |
(*.f64 y (*.f64 t x)) |
(pow.f64 (*.f64 y (*.f64 x t)) 1) |
(*.f64 y (*.f64 t x)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 6.6b | (*.f64 y (*.f64 t (neg.f64 z))) |
Compiled 19 to 7 computations (63.2% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | 0 | (*.f64 y (*.f64 t (neg.f64 z))) |
| 1.0ms | t | @ | 0 | (*.f64 y (*.f64 t (neg.f64 z))) |
| 0.0ms | z | @ | 0 | (*.f64 y (*.f64 t (neg.f64 z))) |
| 0.0ms | t | @ | inf | (*.f64 y (*.f64 t (neg.f64 z))) |
| 0.0ms | y | @ | inf | (*.f64 y (*.f64 t (neg.f64 z))) |
| 1× | batch-egg-rewrite |
| 1712× | rational.json-1 |
| 1712× | rational.json-2 |
| 1702× | rational.json-simplify-35 |
| 1206× | exponential.json-3 |
| 1206× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 17 |
| 1 | 64 | 17 |
| 2 | 156 | 17 |
| 3 | 348 | 17 |
| 4 | 714 | 17 |
| 5 | 1882 | 17 |
| 6 | 4228 | 17 |
| 7 | 6362 | 17 |
| 8 | 7736 | 17 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y (*.f64 t (neg.f64 z))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t (*.f64 y (neg.f64 z))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 t (*.f64 y (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 y (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 (*.f64 t z) -1/2)) (*.f64 y (*.f64 (*.f64 t z) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 t (*.f64 y (neg.f64 z))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 y (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 t (*.f64 y (neg.f64 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -2 (*.f64 y (*.f64 t z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 t (*.f64 z -4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 t (*.f64 y (neg.f64 z))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 t z)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 t (*.f64 y (neg.f64 z))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y (*.f64 t z))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (*.f64 y (neg.f64 z))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (*.f64 y (neg.f64 z))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (*.f64 y (neg.f64 z))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (*.f64 y (neg.f64 z))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t (*.f64 y (neg.f64 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 y (*.f64 t z))))))) |
| 1× | egg-herbie |
| 2348× | rational.json-simplify-35 |
| 1940× | exponential.json-simplify-26 |
| 1418× | rational.json-simplify-49 |
| 1208× | rational.json-simplify-53 |
| 1044× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 56 | 918 |
| 1 | 145 | 918 |
| 2 | 336 | 918 |
| 3 | 841 | 918 |
| 4 | 2981 | 918 |
| 5 | 4274 | 918 |
| 6 | 5357 | 918 |
| 7 | 5947 | 918 |
| 8 | 6072 | 918 |
| 9 | 6176 | 918 |
| 10 | 7579 | 918 |
| 11 | 7627 | 918 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(+.f64 (*.f64 t (*.f64 y (neg.f64 z))) 0) |
(+.f64 0 (*.f64 t (*.f64 y (neg.f64 z)))) |
(+.f64 -1 (-.f64 1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 (*.f64 t z) -1/2)) (*.f64 y (*.f64 (*.f64 t z) -1/2))) |
(-.f64 (*.f64 t (*.f64 y (neg.f64 z))) 0) |
(-.f64 0 (*.f64 y (*.f64 t z))) |
(/.f64 (*.f64 t (*.f64 y (neg.f64 z))) 1) |
(/.f64 (*.f64 -2 (*.f64 y (*.f64 t z))) 2) |
(/.f64 (*.f64 y (*.f64 t (*.f64 z -4))) 4) |
(/.f64 (*.f64 (*.f64 t (*.f64 y (neg.f64 z))) 8) 8) |
(/.f64 (*.f64 y (*.f64 t z)) -1) |
(/.f64 (*.f64 2 (*.f64 (*.f64 t (*.f64 y (neg.f64 z))) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 y (*.f64 t z))) -2) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (*.f64 y (neg.f64 z))) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (*.f64 y (neg.f64 z))) 8)))) 64) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (*.f64 y (neg.f64 z))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (*.f64 y (neg.f64 z))) 8))))) 128) |
(pow.f64 (*.f64 t (*.f64 y (neg.f64 z))) 1) |
(neg.f64 (*.f64 y (*.f64 t z))) |
| Outputs |
|---|
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(+.f64 (*.f64 t (*.f64 y (neg.f64 z))) 0) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(+.f64 0 (*.f64 t (*.f64 y (neg.f64 z)))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(+.f64 -1 (-.f64 1 (*.f64 y (*.f64 t z)))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 (*.f64 t z) -1/2)) (*.f64 y (*.f64 (*.f64 t z) -1/2))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(-.f64 (*.f64 t (*.f64 y (neg.f64 z))) 0) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(-.f64 0 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 t (*.f64 y (neg.f64 z))) 1) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 -2 (*.f64 y (*.f64 t z))) 2) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 y (*.f64 t (*.f64 z -4))) 4) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 (*.f64 t (*.f64 y (neg.f64 z))) 8) 8) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 y (*.f64 t z)) -1) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 2 (*.f64 (*.f64 t (*.f64 y (neg.f64 z))) 8)) 16) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 2 (*.f64 y (*.f64 t z))) -2) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (*.f64 y (neg.f64 z))) 8))) 32) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (*.f64 y (neg.f64 z))) 8)))) 64) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (*.f64 y (neg.f64 z))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (*.f64 y (neg.f64 z))) 8))))) 128) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(pow.f64 (*.f64 t (*.f64 y (neg.f64 z))) 1) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 6.8b | (*.f64 (*.f64 y (neg.f64 z)) t) |
Compiled 19 to 7 computations (63.2% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (*.f64 (*.f64 y (neg.f64 z)) t) |
| 0.0ms | y | @ | inf | (*.f64 (*.f64 y (neg.f64 z)) t) |
| 0.0ms | z | @ | inf | (*.f64 (*.f64 y (neg.f64 z)) t) |
| 0.0ms | z | @ | -inf | (*.f64 (*.f64 y (neg.f64 z)) t) |
| 0.0ms | y | @ | -inf | (*.f64 (*.f64 y (neg.f64 z)) t) |
| 1× | batch-egg-rewrite |
| 1644× | rational.json-simplify-35 |
| 1618× | rational.json-1 |
| 1618× | rational.json-2 |
| 1618× | rational.json-3 |
| 1138× | exponential.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 17 |
| 1 | 62 | 17 |
| 2 | 145 | 17 |
| 3 | 327 | 17 |
| 4 | 669 | 17 |
| 5 | 1763 | 17 |
| 6 | 3944 | 17 |
| 7 | 5989 | 17 |
| 8 | 7316 | 17 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (*.f64 y (neg.f64 z)) t) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (*.f64 (neg.f64 z) t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 y (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t (*.f64 z (/.f64 y -2))) (*.f64 t (*.f64 z (/.f64 y -2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 y (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 t (*.f64 z -2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 t (*.f64 z -4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 z t)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 t t) (*.f64 y z)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 y (*.f64 z t))))))) |
| 1× | egg-herbie |
| 2662× | rational.json-simplify-35 |
| 2350× | rational.json-simplify-2 |
| 1322× | rational.json-simplify-53 |
| 1228× | rational.json-simplify-1 |
| 860× | exponential.json-simplify-26 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 62 | 918 |
| 1 | 163 | 918 |
| 2 | 362 | 918 |
| 3 | 1051 | 918 |
| 4 | 2633 | 918 |
| 5 | 4250 | 918 |
| 6 | 5384 | 918 |
| 7 | 6094 | 918 |
| 8 | 6246 | 918 |
| 9 | 6344 | 918 |
| 10 | 6414 | 918 |
| 11 | 7096 | 918 |
| 12 | 7199 | 918 |
| 13 | 7735 | 918 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 0) |
(+.f64 0 (*.f64 y (*.f64 (neg.f64 z) t))) |
(+.f64 -1 (-.f64 1 (*.f64 y (*.f64 z t)))) |
(+.f64 (*.f64 t (*.f64 z (/.f64 y -2))) (*.f64 t (*.f64 z (/.f64 y -2)))) |
(-.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 0) |
(-.f64 0 (*.f64 y (*.f64 z t))) |
(/.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 1) |
(/.f64 (*.f64 y (*.f64 t (*.f64 z -2))) 2) |
(/.f64 (*.f64 y (*.f64 t (*.f64 z -4))) 4) |
(/.f64 (*.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 8) 8) |
(/.f64 (*.f64 y (*.f64 z t)) -1) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 8)) 16) |
(/.f64 (*.f64 (+.f64 t t) (*.f64 y z)) -2) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 8)))) 64) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 8))))) 128) |
(pow.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 1) |
(neg.f64 (*.f64 y (*.f64 z t))) |
| Outputs |
|---|
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 0) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(+.f64 0 (*.f64 y (*.f64 (neg.f64 z) t))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(+.f64 -1 (-.f64 1 (*.f64 y (*.f64 z t)))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(+.f64 (*.f64 t (*.f64 z (/.f64 y -2))) (*.f64 t (*.f64 z (/.f64 y -2)))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(-.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 0) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(-.f64 0 (*.f64 y (*.f64 z t))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 1) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 y (*.f64 t (*.f64 z -2))) 2) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 y (*.f64 t (*.f64 z -4))) 4) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 8) 8) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 y (*.f64 z t)) -1) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 8)) 16) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 (+.f64 t t) (*.f64 y z)) -2) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 8))) 32) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 8)))) 64) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 8))))) 128) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(pow.f64 (*.f64 y (*.f64 (neg.f64 z) t)) 1) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 z t))) |
(neg.f64 (*.f64 t (*.f64 y z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
Compiled 1102 to 527 computations (52.2% saved)
9 alts after pruning (2 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 104 | 2 | 106 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 6 | 6 |
| Total | 104 | 9 | 113 |
| Status | Error | Program |
|---|---|---|
| ✓ | 7.8b | (*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) |
| ✓ | 7.1b | (*.f64 (-.f64 x z) (*.f64 y t)) |
| ✓ | 7.8b | (*.f64 (*.f64 y (-.f64 x z)) t) |
| ✓ | 30.2b | (*.f64 (*.f64 y (neg.f64 z)) t) |
| ✓ | 35.0b | (*.f64 (*.f64 y x) t) |
| ▶ | 30.3b | (*.f64 (*.f64 y t) (neg.f64 z)) |
| ✓ | 31.0b | (*.f64 y (*.f64 t (neg.f64 z))) |
| ✓ | 34.7b | (*.f64 y (*.f64 t x)) |
| ▶ | 34.3b | (*.f64 x (*.f64 y t)) |
Compiled 92 to 61 computations (33.7% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 4.5b | (*.f64 x (*.f64 y t)) |
Compiled 15 to 6 computations (60% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | t | @ | 0 | (*.f64 x (*.f64 y t)) |
| 0.0ms | x | @ | 0 | (*.f64 x (*.f64 y t)) |
| 0.0ms | t | @ | inf | (*.f64 x (*.f64 y t)) |
| 0.0ms | t | @ | -inf | (*.f64 x (*.f64 y t)) |
| 0.0ms | x | @ | inf | (*.f64 x (*.f64 y t)) |
| 1× | batch-egg-rewrite |
| 2168× | rational.json-simplify-2 |
| 1512× | rational.json-simplify-1 |
| 1370× | exponential.json-3 |
| 1370× | rational.json-1 |
| 1370× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 48 | 13 |
| 2 | 117 | 13 |
| 3 | 250 | 13 |
| 4 | 452 | 13 |
| 5 | 1058 | 13 |
| 6 | 2170 | 13 |
| 7 | 3361 | 13 |
| 8 | 3993 | 13 |
| 9 | 4949 | 13 |
| 10 | 5542 | 13 |
| 11 | 5542 | 13 |
| 12 | 6896 | 13 |
| 13 | 7986 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 x (*.f64 y t)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 y t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 y t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 (*.f64 y t) 1/2)) (*.f64 x (*.f64 (*.f64 y t) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 y t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 y t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 y (+.f64 t t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 x (*.f64 t 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 y (*.f64 t 8))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x (*.f64 y (*.f64 t 8)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 y (*.f64 t 8))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 y (*.f64 t 8)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 y (*.f64 t 8))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 y (*.f64 t 8)))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 y t)) 1))))) |
| 1× | egg-herbie |
| 4324× | rational.json-simplify-53 |
| 3824× | rational.json-simplify-35 |
| 2442× | rational.json-simplify-2 |
| 1568× | exponential.json-simplify-26 |
| 682× | rational.json-simplify-43 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 50 | 650 |
| 1 | 139 | 650 |
| 2 | 292 | 650 |
| 3 | 736 | 650 |
| 4 | 1988 | 650 |
| 5 | 3653 | 650 |
| 6 | 4149 | 650 |
| 7 | 4512 | 650 |
| 8 | 4729 | 650 |
| 9 | 4940 | 650 |
| 10 | 5829 | 650 |
| 11 | 6577 | 650 |
| 12 | 6577 | 650 |
| 13 | 6577 | 650 |
| 14 | 6787 | 650 |
| 15 | 6997 | 650 |
| 16 | 7207 | 650 |
| 17 | 7417 | 650 |
| 18 | 7627 | 650 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t x)) |
(+.f64 (*.f64 x (*.f64 y t)) 0) |
(+.f64 0 (*.f64 x (*.f64 y t))) |
(+.f64 (*.f64 x (*.f64 (*.f64 y t) 1/2)) (*.f64 x (*.f64 (*.f64 y t) 1/2))) |
(-.f64 (*.f64 x (*.f64 y t)) 0) |
(/.f64 (*.f64 x (*.f64 y t)) 1) |
(/.f64 (*.f64 x (*.f64 y (+.f64 t t))) 2) |
(/.f64 (*.f64 y (*.f64 x (*.f64 t 4))) 4) |
(/.f64 (*.f64 x (*.f64 y (*.f64 t 8))) 8) |
(/.f64 (*.f64 2 (*.f64 x (*.f64 y (*.f64 t 8)))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 y (*.f64 t 8))))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 y (*.f64 t 8)))))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 y (*.f64 t 8))))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 y (*.f64 t 8)))))))) 256) |
(pow.f64 (*.f64 x (*.f64 y t)) 1) |
| Outputs |
|---|
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(+.f64 (*.f64 x (*.f64 y t)) 0) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(+.f64 0 (*.f64 x (*.f64 y t))) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(+.f64 (*.f64 x (*.f64 (*.f64 y t) 1/2)) (*.f64 x (*.f64 (*.f64 y t) 1/2))) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(-.f64 (*.f64 x (*.f64 y t)) 0) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(/.f64 (*.f64 x (*.f64 y t)) 1) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(/.f64 (*.f64 x (*.f64 y (+.f64 t t))) 2) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(/.f64 (*.f64 y (*.f64 x (*.f64 t 4))) 4) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(/.f64 (*.f64 x (*.f64 y (*.f64 t 8))) 8) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 x (*.f64 y (*.f64 t 8)))) 16) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 y (*.f64 t 8))))) 32) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 y (*.f64 t 8)))))) 64) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 y (*.f64 t 8))))))) 128) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 y (*.f64 t 8)))))))) 256) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
(pow.f64 (*.f64 x (*.f64 y t)) 1) |
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
(*.f64 t (*.f64 y x)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 4.8b | (*.f64 (*.f64 y t) (neg.f64 z)) |
Compiled 18 to 7 computations (61.1% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (*.f64 (*.f64 y t) (neg.f64 z)) |
| 0.0ms | y | @ | inf | (*.f64 (*.f64 y t) (neg.f64 z)) |
| 0.0ms | y | @ | -inf | (*.f64 (*.f64 y t) (neg.f64 z)) |
| 0.0ms | z | @ | inf | (*.f64 (*.f64 y t) (neg.f64 z)) |
| 0.0ms | t | @ | -inf | (*.f64 (*.f64 y t) (neg.f64 z)) |
| 1× | batch-egg-rewrite |
| 1742× | rational.json-simplify-35 |
| 1694× | rational.json-1 |
| 1694× | rational.json-2 |
| 1194× | exponential.json-3 |
| 1194× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 17 |
| 1 | 62 | 17 |
| 2 | 145 | 17 |
| 3 | 337 | 17 |
| 4 | 715 | 17 |
| 5 | 1843 | 17 |
| 6 | 4081 | 17 |
| 7 | 6219 | 17 |
| 8 | 7673 | 17 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (*.f64 y t) (neg.f64 z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 t (neg.f64 z))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (*.f64 t (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 y (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 t (*.f64 z -1/2))) (*.f64 y (*.f64 t (*.f64 z -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 y (*.f64 t z))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 t (neg.f64 z))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 y (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (*.f64 y (*.f64 t z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 t (neg.f64 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 t (*.f64 z -2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 t (*.f64 z -4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 t z)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y (*.f64 t (neg.f64 z))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 t (+.f64 z z))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (neg.f64 z))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y (*.f64 t (+.f64 z z)))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (neg.f64 z))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (neg.f64 z))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (neg.f64 z))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (neg.f64 z))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (*.f64 t (neg.f64 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 y (*.f64 t z))))))) |
| 1× | egg-herbie |
| 2542× | rational.json-simplify-35 |
| 2396× | rational.json-simplify-2 |
| 1732× | rational.json-simplify-53 |
| 1134× | rational.json-simplify-1 |
| 780× | exponential.json-simplify-26 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 65 | 969 |
| 1 | 173 | 969 |
| 2 | 385 | 969 |
| 3 | 937 | 969 |
| 4 | 2474 | 969 |
| 5 | 4096 | 969 |
| 6 | 5436 | 969 |
| 7 | 5895 | 969 |
| 8 | 6194 | 969 |
| 9 | 6280 | 969 |
| 10 | 6342 | 969 |
| 11 | 7155 | 969 |
| 12 | 7556 | 969 |
| 13 | 7838 | 969 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 t (neg.f64 z))) 0) |
(+.f64 0 (*.f64 y (*.f64 t (neg.f64 z)))) |
(+.f64 -1 (-.f64 1 (*.f64 y (*.f64 t z)))) |
(+.f64 (*.f64 y (*.f64 t (*.f64 z -1/2))) (*.f64 y (*.f64 t (*.f64 z -1/2)))) |
(+.f64 (-.f64 1 (*.f64 y (*.f64 t z))) -1) |
(-.f64 (*.f64 y (*.f64 t (neg.f64 z))) 0) |
(-.f64 0 (*.f64 y (*.f64 t z))) |
(-.f64 (-.f64 1 (*.f64 y (*.f64 t z))) 1) |
(/.f64 (*.f64 y (*.f64 t (neg.f64 z))) 1) |
(/.f64 (*.f64 y (*.f64 t (*.f64 z -2))) 2) |
(/.f64 (*.f64 y (*.f64 t (*.f64 z -4))) 4) |
(/.f64 (*.f64 y (*.f64 t z)) -1) |
(/.f64 (*.f64 (*.f64 y (*.f64 t (neg.f64 z))) 8) 8) |
(/.f64 (*.f64 y (*.f64 t (+.f64 z z))) -2) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (neg.f64 z))) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 y (*.f64 t (+.f64 z z)))) -4) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (neg.f64 z))) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (neg.f64 z))) 8)))) 64) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (neg.f64 z))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (neg.f64 z))) 8))))) 128) |
(pow.f64 (*.f64 y (*.f64 t (neg.f64 z))) 1) |
(neg.f64 (*.f64 y (*.f64 t z))) |
| Outputs |
|---|
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(*.f64 -1 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 t (neg.f64 z))) 0) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(+.f64 0 (*.f64 y (*.f64 t (neg.f64 z)))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(+.f64 -1 (-.f64 1 (*.f64 y (*.f64 t z)))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(+.f64 (*.f64 y (*.f64 t (*.f64 z -1/2))) (*.f64 y (*.f64 t (*.f64 z -1/2)))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(+.f64 (-.f64 1 (*.f64 y (*.f64 t z))) -1) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(-.f64 (*.f64 y (*.f64 t (neg.f64 z))) 0) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(-.f64 0 (*.f64 y (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(-.f64 (-.f64 1 (*.f64 y (*.f64 t z))) 1) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 y (*.f64 t (neg.f64 z))) 1) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 y (*.f64 t (*.f64 z -2))) 2) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 y (*.f64 t (*.f64 z -4))) 4) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 y (*.f64 t z)) -1) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 (*.f64 y (*.f64 t (neg.f64 z))) 8) 8) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 y (*.f64 t (+.f64 z z))) -2) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (neg.f64 z))) 8)) 16) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 2 (*.f64 y (*.f64 t (+.f64 z z)))) -4) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (neg.f64 z))) 8))) 32) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (neg.f64 z))) 8)))) 64) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (neg.f64 z))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (*.f64 t (neg.f64 z))) 8))))) 128) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(pow.f64 (*.f64 y (*.f64 t (neg.f64 z))) 1) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
(neg.f64 (*.f64 y (*.f64 t z))) |
(*.f64 (*.f64 t z) (neg.f64 y)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 y (neg.f64 (*.f64 t z))) |
Compiled 419 to 219 computations (47.7% saved)
9 alts after pruning (0 fresh and 9 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 42 | 0 | 42 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 8 | 8 |
| Total | 42 | 9 | 51 |
| Status | Error | Program |
|---|---|---|
| ✓ | 7.8b | (*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) |
| ✓ | 7.1b | (*.f64 (-.f64 x z) (*.f64 y t)) |
| ✓ | 7.8b | (*.f64 (*.f64 y (-.f64 x z)) t) |
| ✓ | 30.2b | (*.f64 (*.f64 y (neg.f64 z)) t) |
| ✓ | 35.0b | (*.f64 (*.f64 y x) t) |
| ✓ | 30.3b | (*.f64 (*.f64 y t) (neg.f64 z)) |
| ✓ | 31.0b | (*.f64 y (*.f64 t (neg.f64 z))) |
| ✓ | 34.7b | (*.f64 y (*.f64 t x)) |
| ✓ | 34.3b | (*.f64 x (*.f64 y t)) |
Compiled 92 to 61 computations (33.7% saved)
| Inputs |
|---|
(*.f64 x (*.f64 y t)) |
(*.f64 y (*.f64 t x)) |
(*.f64 (*.f64 y x) t) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 (*.f64 y t) (neg.f64 z)) |
(*.f64 (*.f64 y (neg.f64 z)) t) |
(*.f64 y (*.f64 (-.f64 x z) t)) |
(*.f64 (*.f64 y (-.f64 x z)) t) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) |
| Outputs |
|---|
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 (*.f64 y (-.f64 x z)) t) |
(*.f64 y (*.f64 (-.f64 x z) t)) |
(*.f64 (*.f64 y (-.f64 x z)) t) |
(*.f64 y (*.f64 (-.f64 x z) t)) |
6 calls:
| 29.0ms | x |
| 27.0ms | (-.f64 (*.f64 x y) (*.f64 z y)) |
| 18.0ms | z |
| 17.0ms | y |
| 15.0ms | (*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) |
| Error | Segments | Branch |
|---|---|---|
| 3.8b | 4 | x |
| 2.7b | 2 | y |
| 5.9b | 2 | z |
| 2.7b | 2 | t |
| 1.6b | 3 | (*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) |
| 0.2b | 5 | (-.f64 (*.f64 x y) (*.f64 z y)) |
Compiled 111 to 57 computations (48.6% saved)
| 4× | left-value |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 2.754384568483602e+236 | 1.1467216232368918e+242 |
| 0.0ms | 1.5794541539873815e-250 | 5.9712438869224676e-248 |
| 0.0ms | -6.356008327854358e-209 | -1.6132243685125994e-209 |
| 0.0ms | -5.21180940876988e+111 | -3.293560067621051e+106 |
Compiled 20 to 14 computations (30% saved)
| Inputs |
|---|
(*.f64 x (*.f64 y t)) |
(*.f64 y (*.f64 t x)) |
(*.f64 (*.f64 y x) t) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 (*.f64 y t) (neg.f64 z)) |
(*.f64 (*.f64 y (neg.f64 z)) t) |
(*.f64 y (*.f64 (-.f64 x z) t)) |
(*.f64 (*.f64 y (-.f64 x z)) t) |
| Outputs |
|---|
(*.f64 y (*.f64 (-.f64 x z) t)) |
(*.f64 (*.f64 y (-.f64 x z)) t) |
4 calls:
| 280.0ms | x |
| 16.0ms | y |
| 16.0ms | z |
| 9.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 4.9b | 5 | x |
| 2.7b | 2 | y |
| 6.6b | 2 | z |
| 2.7b | 2 | t |
Compiled 71 to 37 computations (47.9% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 11.0ms | 668983525162.3613 | 122230793881483.36 |
| 10.0ms | 48× | body | 256 | valid |
| 1.0ms | 6× | body | 256 | infinite |
Compiled 92 to 62 computations (32.6% saved)
| Inputs |
|---|
(*.f64 x (*.f64 y t)) |
(*.f64 y (*.f64 t x)) |
(*.f64 (*.f64 y x) t) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 (*.f64 y t) (neg.f64 z)) |
(*.f64 (*.f64 y (neg.f64 z)) t) |
(*.f64 y (*.f64 (-.f64 x z) t)) |
| Outputs |
|---|
(*.f64 y (*.f64 (-.f64 x z) t)) |
(*.f64 (*.f64 y (neg.f64 z)) t) |
4 calls:
| 157.0ms | y |
| 56.0ms | t |
| 12.0ms | z |
| 5.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 8.3b | 1 | x |
| 8.3b | 1 | y |
| 7.3b | 2 | z |
| 7.3b | 3 | t |
Compiled 64 to 35 computations (45.3% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 16.0ms | 1.7079500017363414e+241 | 4.900900254121169e+258 |
| 11.0ms | 112× | body | 256 | valid |
| 3.0ms | 35× | body | 256 | infinite |
Compiled 181 to 126 computations (30.4% saved)
| Inputs |
|---|
(*.f64 x (*.f64 y t)) |
(*.f64 y (*.f64 t x)) |
(*.f64 (*.f64 y x) t) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 (*.f64 y t) (neg.f64 z)) |
(*.f64 (*.f64 y (neg.f64 z)) t) |
| Outputs |
|---|
(*.f64 (*.f64 y t) (neg.f64 z)) |
(*.f64 (*.f64 y x) t) |
(*.f64 (*.f64 y t) (neg.f64 z)) |
(*.f64 y (*.f64 t x)) |
(*.f64 (*.f64 y (neg.f64 z)) t) |
4 calls:
| 613.0ms | z |
| 219.0ms | x |
| 124.0ms | t |
| 24.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 16.1b | 5 | x |
| 23.8b | 6 | y |
| 15.9b | 5 | z |
| 22.6b | 6 | t |
Compiled 57 to 32 computations (43.9% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 14.0ms | 2.5434533916738084e+41 | 8.402082361845186e+44 |
| 5.0ms | 1.0881960299402372e-38 | 1.4984719436562376e-38 |
| 488.0ms | 2.5737375124543793e-107 | 1.8776134366514325e-105 |
| 14.0ms | -1.3054395844535204e-64 | -5.7877341108223534e-68 |
| 515.0ms | 416× | body | 256 | valid |
| 1.0ms | 12× | body | 256 | infinite |
Compiled 566 to 404 computations (28.6% saved)
| Inputs |
|---|
(*.f64 x (*.f64 y t)) |
(*.f64 y (*.f64 t x)) |
(*.f64 (*.f64 y x) t) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 (*.f64 y t) (neg.f64 z)) |
| Outputs |
|---|
(*.f64 (*.f64 y t) (neg.f64 z)) |
(*.f64 (*.f64 y x) t) |
(*.f64 (*.f64 y t) (neg.f64 z)) |
(*.f64 y (*.f64 t x)) |
(*.f64 (*.f64 y t) (neg.f64 z)) |
4 calls:
| 818.0ms | t |
| 23.0ms | y |
| 18.0ms | z |
| 13.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 17.9b | 3 | x |
| 25.2b | 6 | y |
| 16.7b | 5 | z |
| 22.6b | 6 | t |
Compiled 51 to 30 computations (41.2% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 14.0ms | 2.5434533916738084e+41 | 8.402082361845186e+44 |
| 112.0ms | 1.0881960299402372e-38 | 1.4984719436562376e-38 |
| 12.0ms | 2.5737375124543793e-107 | 1.8776134366514325e-105 |
| 14.0ms | -1.3054395844535204e-64 | -5.7877341108223534e-68 |
| 146.0ms | 416× | body | 256 | valid |
| 0.0ms | 5× | body | 256 | infinite |
Compiled 566 to 404 computations (28.6% saved)
| Inputs |
|---|
(*.f64 x (*.f64 y t)) |
(*.f64 y (*.f64 t x)) |
(*.f64 (*.f64 y x) t) |
(*.f64 y (*.f64 t (neg.f64 z))) |
| Outputs |
|---|
(*.f64 y (*.f64 t x)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 x (*.f64 y t)) |
4 calls:
| 103.0ms | z |
| 58.0ms | t |
| 29.0ms | y |
| 10.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 18.0b | 3 | x |
| 24.5b | 8 | y |
| 18.6b | 3 | z |
| 24.4b | 8 | t |
Compiled 45 to 29 computations (35.6% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 19.0ms | 3.622709033019974e-18 | 0.00014485189048319035 |
| 12.0ms | -3.5348734292630628e-65 | -1.9943496272056248e-67 |
| 28.0ms | 272× | body | 256 | valid |
| 0.0ms | 4× | body | 256 | infinite |
Compiled 377 to 269 computations (28.6% saved)
| Inputs |
|---|
(*.f64 x (*.f64 y t)) |
(*.f64 y (*.f64 t x)) |
(*.f64 (*.f64 y x) t) |
| Outputs |
|---|
(*.f64 y (*.f64 t x)) |
(*.f64 (*.f64 y x) t) |
4 calls:
| 91.0ms | t |
| 9.0ms | x |
| 7.0ms | y |
| 3.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 33.0b | 2 | x |
| 31.9b | 2 | y |
| 34.3b | 1 | z |
| 32.3b | 2 | t |
Compiled 39 to 26 computations (33.3% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 20.0ms | -2.306737424113184e+170 | -3.33493303889857e+167 |
| 13.0ms | 128× | body | 256 | valid |
| 6.0ms | 59× | body | 256 | infinite |
Compiled 180 to 126 computations (30% saved)
Total -5.8b remaining (-17.9%)
Threshold costs -5.8b (-17.9%)
| Inputs |
|---|
(*.f64 x (*.f64 y t)) |
(*.f64 y (*.f64 t x)) |
| Outputs |
|---|
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
4 calls:
| 8.0ms | x |
| 5.0ms | t |
| 4.0ms | z |
| 3.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 33.0b | 2 | x |
| 34.3b | 1 | y |
| 34.3b | 1 | z |
| 32.4b | 2 | t |
Compiled 34 to 24 computations (29.4% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 13.0ms | 668983525162.3613 | 122230793881483.36 |
| 11.0ms | 96× | body | 256 | valid |
| 1.0ms | 8× | body | 256 | infinite |
Compiled 140 to 98 computations (30% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 85 | 665 |
| 1× | done |
| 1× | saturated |
| Inputs |
|---|
(if (<=.f64 (-.f64 (*.f64 x y) (*.f64 z y)) -4999999999999999650599673463152198642336665750694884246307948430823614916415456951880981793447127233788614017024) (*.f64 (-.f64 x z) (*.f64 y t)) (if (<=.f64 (-.f64 (*.f64 x y) (*.f64 z y)) -578358058743443/11567161174868858867503549817670155728287145622944061541103214308813593929159469055614459580396462067592797657080971249983993023962637889321478361450442531251940540790713205229865500968930113649556510144425306236378050199552) (*.f64 (*.f64 y (-.f64 x z)) t) (if (<=.f64 (-.f64 (*.f64 x y) (*.f64 z y)) 1612226962694291/8061134813471454564702450331367746071149403778627342561766978592325956765086744071570087522699847227396765060321916636335485039665263146015175460486800225477728068298324662539195732386420081192825687147647265448061340763744378078290380812053940375922997109693874176) (*.f64 y (*.f64 (-.f64 x z) t)) (if (<=.f64 (-.f64 (*.f64 x y) (*.f64 z y)) 499999999999999970102730657165474578819517884669697781640770412320644082446569662475873607343495247333807664186025665280190212291222751131192523497883201241303896750127789047056565704533819250109131739322386848885414656951827349593128960) (*.f64 (*.f64 y (-.f64 x z)) t) (*.f64 y (*.f64 (-.f64 x z) t)))))) |
(if (<=.f64 t 4000000000000) (*.f64 y (*.f64 (-.f64 x z) t)) (*.f64 (*.f64 y (-.f64 x z)) t)) |
(if (<=.f64 z 50000000000000002264914023363570873473620092318771332891876656950378507639404832118106181454034316044065455720176623422002946717096999401107726465223044023895361617250089396116690506456651468006763909202353827454425907202639354864338375178146807808) (*.f64 y (*.f64 (-.f64 x z) t)) (*.f64 (*.f64 y (neg.f64 z)) t)) |
(if (<=.f64 z -4742843975160471/3794275180128377091639574036764685364535950857523710002444946112771297432041422848) (*.f64 (*.f64 y t) (neg.f64 z)) (if (<=.f64 z 1497704929290407/2582249878086908589655919172003011874329705792829223512830659356540647622016841194629645353280137831435903171972747493376) (*.f64 (*.f64 y x) t) (if (<=.f64 z 4980610507814139/383123885216472214589586756787577295904684780545900544) (*.f64 (*.f64 y t) (neg.f64 z)) (if (<=.f64 z 260000000000000005480585099872836989747200) (*.f64 y (*.f64 t x)) (*.f64 (*.f64 y (neg.f64 z)) t))))) |
(if (<=.f64 z -3853560729817883/29642774844752946028434172162224104410437116074403984394101141506025761187823616) (*.f64 (*.f64 y t) (neg.f64 z)) (if (<=.f64 z 3356924841512981/5164499756173817179311838344006023748659411585658447025661318713081295244033682389259290706560275662871806343945494986752) (*.f64 (*.f64 y x) t) (if (<=.f64 z 8428725474762389/766247770432944429179173513575154591809369561091801088) (*.f64 (*.f64 y t) (neg.f64 z)) (if (<=.f64 z 439999999999999979516662301578544451420160) (*.f64 y (*.f64 t x)) (*.f64 (*.f64 y t) (neg.f64 z)))))) |
(if (<=.f64 x -533569947205553/29642774844752946028434172162224104410437116074403984394101141506025761187823616) (*.f64 y (*.f64 t x)) (if (<=.f64 x 1298074214633707/324518553658426726783156020576256) (*.f64 y (*.f64 t (neg.f64 z))) (*.f64 x (*.f64 y t)))) |
(if (<=.f64 y -3800000000000000251462677744870694571039348255154489551200650996984014122092048000543782371622226229319761488737732919983244329084317195630232547768530541737740500729856) (*.f64 y (*.f64 t x)) (*.f64 (*.f64 y x) t)) |
(if (<=.f64 t 15000000000000) (*.f64 y (*.f64 t x)) (*.f64 x (*.f64 y t))) |
(*.f64 x (*.f64 y t)) |
| Outputs |
|---|
(if (<=.f64 (-.f64 (*.f64 x y) (*.f64 z y)) -4999999999999999650599673463152198642336665750694884246307948430823614916415456951880981793447127233788614017024) (*.f64 (-.f64 x z) (*.f64 y t)) (if (<=.f64 (-.f64 (*.f64 x y) (*.f64 z y)) -578358058743443/11567161174868858867503549817670155728287145622944061541103214308813593929159469055614459580396462067592797657080971249983993023962637889321478361450442531251940540790713205229865500968930113649556510144425306236378050199552) (*.f64 (*.f64 y (-.f64 x z)) t) (if (<=.f64 (-.f64 (*.f64 x y) (*.f64 z y)) 1612226962694291/8061134813471454564702450331367746071149403778627342561766978592325956765086744071570087522699847227396765060321916636335485039665263146015175460486800225477728068298324662539195732386420081192825687147647265448061340763744378078290380812053940375922997109693874176) (*.f64 y (*.f64 (-.f64 x z) t)) (if (<=.f64 (-.f64 (*.f64 x y) (*.f64 z y)) 499999999999999970102730657165474578819517884669697781640770412320644082446569662475873607343495247333807664186025665280190212291222751131192523497883201241303896750127789047056565704533819250109131739322386848885414656951827349593128960) (*.f64 (*.f64 y (-.f64 x z)) t) (*.f64 y (*.f64 (-.f64 x z) t)))))) |
(if (<=.f64 t 4000000000000) (*.f64 y (*.f64 (-.f64 x z) t)) (*.f64 (*.f64 y (-.f64 x z)) t)) |
(if (<=.f64 z 50000000000000002264914023363570873473620092318771332891876656950378507639404832118106181454034316044065455720176623422002946717096999401107726465223044023895361617250089396116690506456651468006763909202353827454425907202639354864338375178146807808) (*.f64 y (*.f64 (-.f64 x z) t)) (*.f64 (*.f64 y (neg.f64 z)) t)) |
(if (<=.f64 z -4742843975160471/3794275180128377091639574036764685364535950857523710002444946112771297432041422848) (*.f64 (*.f64 y t) (neg.f64 z)) (if (<=.f64 z 1497704929290407/2582249878086908589655919172003011874329705792829223512830659356540647622016841194629645353280137831435903171972747493376) (*.f64 (*.f64 y x) t) (if (<=.f64 z 4980610507814139/383123885216472214589586756787577295904684780545900544) (*.f64 (*.f64 y t) (neg.f64 z)) (if (<=.f64 z 260000000000000005480585099872836989747200) (*.f64 y (*.f64 t x)) (*.f64 (*.f64 y (neg.f64 z)) t))))) |
(if (<=.f64 z -3853560729817883/29642774844752946028434172162224104410437116074403984394101141506025761187823616) (*.f64 (*.f64 y t) (neg.f64 z)) (if (<=.f64 z 3356924841512981/5164499756173817179311838344006023748659411585658447025661318713081295244033682389259290706560275662871806343945494986752) (*.f64 (*.f64 y x) t) (if (<=.f64 z 8428725474762389/766247770432944429179173513575154591809369561091801088) (*.f64 (*.f64 y t) (neg.f64 z)) (if (<=.f64 z 439999999999999979516662301578544451420160) (*.f64 y (*.f64 t x)) (*.f64 (*.f64 y t) (neg.f64 z)))))) |
(if (<=.f64 x -533569947205553/29642774844752946028434172162224104410437116074403984394101141506025761187823616) (*.f64 y (*.f64 t x)) (if (<=.f64 x 1298074214633707/324518553658426726783156020576256) (*.f64 y (*.f64 t (neg.f64 z))) (*.f64 x (*.f64 y t)))) |
(if (<=.f64 y -3800000000000000251462677744870694571039348255154489551200650996984014122092048000543782371622226229319761488737732919983244329084317195630232547768530541737740500729856) (*.f64 y (*.f64 t x)) (*.f64 (*.f64 y x) t)) |
(if (<=.f64 t 15000000000000) (*.f64 y (*.f64 t x)) (*.f64 x (*.f64 y t))) |
(*.f64 x (*.f64 y t)) |
Compiled 291 to 144 computations (50.5% saved)
| 4× | egg-herbie |
| 3076× | rational.json-simplify-35 |
| 1856× | rational.json-simplify-2 |
| 1488× | rational.json-simplify-53 |
| 1332× | rational.json-simplify-1 |
| 834× | rational.json-simplify-41 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 25 |
| 1 | 13 | 19 |
| 2 | 15 | 19 |
| 3 | 18 | 19 |
| 4 | 24 | 19 |
| 5 | 25 | 19 |
| 0 | 79 | 2300 |
| 1 | 207 | 1892 |
| 2 | 481 | 1892 |
| 3 | 1195 | 1892 |
| 4 | 3121 | 1892 |
| 5 | 4186 | 1892 |
| 6 | 4477 | 1892 |
| 7 | 4667 | 1892 |
| 8 | 4831 | 1892 |
| 9 | 4996 | 1892 |
| 10 | 6607 | 1892 |
| 11 | 7154 | 1892 |
| 12 | 7177 | 1892 |
| 13 | 7179 | 1892 |
| 14 | 7181 | 1892 |
| 15 | 7341 | 1892 |
| 16 | 7501 | 1892 |
| 17 | 7725 | 1892 |
| 18 | 7885 | 1892 |
| 0 | 10 | 25 |
| 1 | 13 | 19 |
| 2 | 15 | 19 |
| 3 | 18 | 19 |
| 4 | 24 | 19 |
| 5 | 25 | 19 |
| 0 | 10 | 25 |
| 1 | 13 | 19 |
| 2 | 15 | 19 |
| 3 | 18 | 19 |
| 4 | 24 | 19 |
| 5 | 25 | 19 |
| 1× | saturated |
| 1× | saturated |
| 1× | node limit |
| 1× | saturated |
Compiled 137 to 57 computations (58.4% saved)
Compiled 417 to 131 computations (68.6% saved)
Loading profile data...