Time bar (total: 12.5s)
| 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.2s | 8256× | body | 256 | valid |
| 354.0ms | 2414× | 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 |
|---|---|---|
| ▶ | 9.1b | (*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) |
| ▶ | 9.1b | (*.f64 (*.f64 y (-.f64 x z)) t) |
| ▶ | 8.6b | (*.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) |
| ✓ | 8.2b | (*.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 | @ | 0 | (*.f64 y (*.f64 (-.f64 x z) t)) |
| 0.0ms | t | @ | 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)) |
| ✓ | 8.7b | (*.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 | y | @ | 0 | (*.f64 y (-.f64 x z)) |
| 0.0ms | x | @ | 0 | (*.f64 y (-.f64 x z)) |
| 0.0ms | x | @ | inf | (*.f64 (*.f64 y (-.f64 x z)) t) |
| 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.3b | (-.f64 (*.f64 x y) (*.f64 z y)) |
| ✓ | 8.7b | (*.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)
8 alts after pruning (5 fresh and 3 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 184 | 5 | 189 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 2 | 2 |
| Total | 184 | 8 | 192 |
| Status | Error | Program |
|---|---|---|
| ✓ | 9.1b | (*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) |
| ▶ | 6.7b | (*.f64 (-.f64 x z) (*.f64 y t)) |
| ✓ | 9.1b | (*.f64 (*.f64 y (-.f64 x z)) t) |
| ▶ | 31.5b | (*.f64 (*.f64 y (neg.f64 z)) t) |
| ▶ | 34.3b | (*.f64 (*.f64 y x) t) |
| ✓ | 8.6b | (*.f64 y (*.f64 (-.f64 x z) t)) |
| ▶ | 32.1b | (*.f64 y (*.f64 t (neg.f64 z))) |
| ▶ | 33.2b | (*.f64 y (*.f64 t x)) |
Compiled 133 to 88 computations (33.8% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 6.6b | (*.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 | z | @ | 0 | (*.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 |
|---|---|---|
| ✓ | 6.2b | (*.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 | t | @ | 0 | (*.f64 y (*.f64 t x)) |
| 0.0ms | x | @ | inf | (*.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.7b | (*.f64 (*.f64 y x) t) |
Compiled 15 to 6 computations (60% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | inf | (*.f64 (*.f64 y x) t) |
| 0.0ms | y | @ | 0 | (*.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 |
|---|---|---|
| ✓ | 8.1b | (*.f64 y (*.f64 t (neg.f64 z))) |
Compiled 19 to 7 computations (63.2% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 113.0ms | t | @ | 0 | (*.f64 y (*.f64 t (neg.f64 z))) |
| 1.0ms | y | @ | 0 | (*.f64 y (*.f64 t (neg.f64 z))) |
| 1.0ms | t | @ | inf | (*.f64 y (*.f64 t (neg.f64 z))) |
| 0.0ms | z | @ | 0 | (*.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.7b | (*.f64 (*.f64 y (neg.f64 z)) t) |
Compiled 19 to 7 computations (63.2% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | z | @ | inf | (*.f64 (*.f64 y (neg.f64 z)) t) |
| 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 | 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)
10 alts after pruning (2 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 104 | 2 | 106 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 7 | 7 |
| Total | 104 | 10 | 114 |
| Status | Error | Program |
|---|---|---|
| ✓ | 9.1b | (*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) |
| ✓ | 6.7b | (*.f64 (-.f64 x z) (*.f64 y t)) |
| ✓ | 9.1b | (*.f64 (*.f64 y (-.f64 x z)) t) |
| ✓ | 31.5b | (*.f64 (*.f64 y (neg.f64 z)) t) |
| ✓ | 34.3b | (*.f64 (*.f64 y x) t) |
| ▶ | 30.7b | (*.f64 (*.f64 y t) (neg.f64 z)) |
| ✓ | 8.6b | (*.f64 y (*.f64 (-.f64 x z) t)) |
| ✓ | 32.1b | (*.f64 y (*.f64 t (neg.f64 z))) |
| ✓ | 33.2b | (*.f64 y (*.f64 t x)) |
| ▶ | 32.5b | (*.f64 x (*.f64 y t)) |
Compiled 103 to 68 computations (34% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 4.9b | (*.f64 x (*.f64 y t)) |
Compiled 15 to 6 computations (60% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | 0 | (*.f64 x (*.f64 y t)) |
| 0.0ms | x | @ | inf | (*.f64 x (*.f64 y t)) |
| 0.0ms | x | @ | -inf | (*.f64 x (*.f64 y t)) |
| 0.0ms | y | @ | -inf | (*.f64 x (*.f64 y t)) |
| 0.0ms | t | @ | -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 |
|---|---|---|
| ✓ | 5.3b | (*.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 | z | @ | -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 | z | @ | 0 | (*.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)
10 alts after pruning (0 fresh and 10 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 42 | 0 | 42 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 9 | 9 |
| Total | 42 | 10 | 52 |
| Status | Error | Program |
|---|---|---|
| ✓ | 9.1b | (*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) |
| ✓ | 6.7b | (*.f64 (-.f64 x z) (*.f64 y t)) |
| ✓ | 9.1b | (*.f64 (*.f64 y (-.f64 x z)) t) |
| ✓ | 31.5b | (*.f64 (*.f64 y (neg.f64 z)) t) |
| ✓ | 34.3b | (*.f64 (*.f64 y x) t) |
| ✓ | 30.7b | (*.f64 (*.f64 y t) (neg.f64 z)) |
| ✓ | 8.6b | (*.f64 y (*.f64 (-.f64 x z) t)) |
| ✓ | 32.1b | (*.f64 y (*.f64 t (neg.f64 z))) |
| ✓ | 33.2b | (*.f64 y (*.f64 t x)) |
| ✓ | 32.5b | (*.f64 x (*.f64 y t)) |
Compiled 103 to 68 computations (34% 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 (-.f64 x z) (*.f64 y t)) |
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
6 calls:
| 163.0ms | t |
| 147.0ms | (-.f64 (*.f64 x y) (*.f64 z y)) |
| 131.0ms | (*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) |
| 55.0ms | x |
| 18.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 5.6b | 2 | x |
| 2.6b | 2 | y |
| 5.5b | 3 | z |
| 2.4b | 3 | t |
| 0.2b | 5 | (*.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.850329184125044e+252 | 3.555251712730788e+263 |
| 0.0ms | 1.238603e-318 | 6.3899770199167e-278 |
| 0.0ms | -8.722877534547584e-136 | -3.3725592151325327e-141 |
| 0.0ms | -9.34314038107814e+112 | -1.0038056623541641e+109 |
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) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
| Outputs |
|---|
(*.f64 y (*.f64 (-.f64 x z) t)) |
(*.f64 (-.f64 x z) (*.f64 y t)) |
(*.f64 (*.f64 y (-.f64 x z)) t) |
4 calls:
| 103.0ms | t |
| 80.0ms | y |
| 18.0ms | z |
| 13.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 5.6b | 2 | x |
| 2.6b | 2 | y |
| 5.5b | 3 | z |
| 2.4b | 3 | t |
Compiled 78 to 38 computations (51.3% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 11.0ms | 2.215383999060319e+198 | 5.879166061248059e+198 |
| 5.0ms | 1.1396951919352822e-53 | 1.4879742201262904e-53 |
| 12.0ms | 128× | body | 256 | valid |
| 3.0ms | 35× | body | 256 | infinite |
Compiled 212 to 142 computations (33% 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:
| 337.0ms | z |
| 93.0ms | t |
| 16.0ms | y |
| 15.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 5.4b | 3 | x |
| 3.7b | 2 | y |
| 7.1b | 3 | z |
| 3.6b | 2 | t |
Compiled 71 to 37 computations (47.9% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 290.0ms | 2.256782517265407e+73 | 2.6078925024588185e+88 |
| 286.0ms | 160× | body | 256 | valid |
| 3.0ms | 29× | body | 256 | infinite |
Compiled 260 to 174 computations (33.1% 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:
| 172.0ms | t |
| 125.0ms | x |
| 69.0ms | z |
| 15.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 7.4b | 3 | x |
| 7.3b | 3 | y |
| 7.4b | 3 | z |
| 7.3b | 2 | t |
Compiled 64 to 35 computations (45.3% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 18.0ms | 1.6001782097581078e+183 | 1.2945519664216797e+187 |
| 12.0ms | 128× | body | 256 | valid |
| 4.0ms | 47× | body | 256 | infinite |
Compiled 204 to 142 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 x (*.f64 y t)) |
(*.f64 (*.f64 y (neg.f64 z)) t) |
4 calls:
| 332.0ms | t |
| 95.0ms | y |
| 35.0ms | x |
| 13.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 16.6b | 7 | x |
| 22.0b | 8 | y |
| 15.3b | 3 | z |
| 17.1b | 15 | t |
Compiled 57 to 32 computations (43.9% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 10.0ms | 2.0278274880326747e-78 | 9.002818882867455e-78 |
| 88.0ms | -1.6958819101585048e-100 | -1.886309885525356e-103 |
| 95.0ms | 224× | body | 256 | valid |
| 0.0ms | 2× | body | 256 | infinite |
Compiled 314 to 224 computations (28.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)) |
| Outputs |
|---|
(*.f64 (*.f64 y t) (neg.f64 z)) |
(*.f64 x (*.f64 y t)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
4 calls:
| 142.0ms | t |
| 90.0ms | z |
| 47.0ms | y |
| 33.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 16.7b | 7 | x |
| 23.1b | 9 | y |
| 15.8b | 3 | z |
| 17.6b | 15 | t |
Compiled 51 to 30 computations (41.2% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 13.0ms | 2.0278274880326747e-78 | 9.002818882867455e-78 |
| 14.0ms | -1.6958819101585048e-100 | -1.886309885525356e-103 |
| 24.0ms | 224× | body | 256 | valid |
| 0.0ms | 1× | body | 256 | infinite |
Compiled 314 to 224 computations (28.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))) |
| Outputs |
|---|
(*.f64 y (*.f64 t (neg.f64 z))) |
(*.f64 x (*.f64 y t)) |
(*.f64 y (*.f64 t (neg.f64 z))) |
4 calls:
| 36.0ms | t |
| 31.0ms | y |
| 28.0ms | x |
| 13.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 18.7b | 7 | x |
| 24.6b | 9 | y |
| 17.1b | 3 | z |
| 23.1b | 10 | t |
Compiled 45 to 29 computations (35.6% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 10.0ms | 2.0278274880326747e-78 | 9.002818882867455e-78 |
| 14.0ms | -1.6958819101585048e-100 | -1.886309885525356e-103 |
| 21.0ms | 224× | body | 256 | valid |
Compiled 314 to 224 computations (28.7% saved)
Total -10.0b remaining (-32.2%)
Threshold costs -10.0b (-32.2%)
| Inputs |
|---|
(*.f64 x (*.f64 y t)) |
(*.f64 y (*.f64 t x)) |
(*.f64 (*.f64 y x) t) |
| Outputs |
|---|
(*.f64 y (*.f64 t x)) |
(*.f64 x (*.f64 y t)) |
4 calls:
| 10.0ms | y |
| 9.0ms | t |
| 6.0ms | z |
| 3.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 32.5b | 1 | x |
| 31.4b | 2 | y |
| 31.0b | 2 | z |
| 31.3b | 2 | t |
Compiled 39 to 26 computations (33.3% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 15.0ms | -1.0097647026194425e-232 | -1.7604041044983263e-237 |
| 12.0ms | 128× | body | 256 | valid |
Compiled 180 to 126 computations (30% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 73 | 619 |
| 1× | done |
| 1× | saturated |
| Inputs |
|---|
(if (<=.f64 (-.f64 (*.f64 x y) (*.f64 z y)) -50000000000000000777970806473342151213410069846053071668488529021541689058237785163249269495752372383810314043392) (*.f64 (-.f64 x z) (*.f64 y t)) (if (<=.f64 (-.f64 (*.f64 x y) (*.f64 z y)) -1636695303948071/3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376) (*.f64 (*.f64 y (-.f64 x z)) t) (if (<=.f64 (-.f64 (*.f64 x y) (*.f64 z y)) 404805/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 (-.f64 x z) (*.f64 y t)) (if (<=.f64 (-.f64 (*.f64 x y) (*.f64 z y)) 4999999999999999681793534688837958868212853663785036782419720361679078139026353774446693497293473788990517591304702846227575332082657167871886131204710002780090859851360619284064431218701999138176915986960331575388717979146899858120583984847024514138112) (*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) (*.f64 (-.f64 x z) (*.f64 y t)))))) |
(if (<=.f64 t 1563676906694737/107839786668602559178668060348078522694548577690162289924414440996864) (*.f64 y (*.f64 (-.f64 x z) t)) (if (<=.f64 t 2350000000000000100961546872031889875191661620319140777021851290891494054855421551984367347426723566387297275709674793312422943301520873361317253864087282698653527510443866602364104363362330494369792) (*.f64 (-.f64 x z) (*.f64 y t)) (*.f64 (*.f64 y (-.f64 x z)) t))) |
(if (<=.f64 t 29000000000000002489600531362551810964896308721627050981950353299159908352) (*.f64 y (*.f64 (-.f64 x z) t)) (*.f64 (*.f64 y (-.f64 x z)) t)) |
(if (<=.f64 t 7200000000000000336309908392184042318890318419939677932252867469798003706610446423700327198189904159590158904760055164563913274200674085053570875045798026189814607938967329613731715874816) (*.f64 y (*.f64 (-.f64 x z) t)) (*.f64 (*.f64 y (neg.f64 z)) t)) |
(if (<=.f64 z -7486381177314951/78804012392788958424558080200287227610159478540930893335896586808491443542994421222828532509769831281613255980613632) (*.f64 (*.f64 y t) (neg.f64 z)) (if (<=.f64 z 3754664711579725/521481209941628438084722096232800809229175908778479680162851955034721612739414196782949728256) (*.f64 x (*.f64 y t)) (*.f64 (*.f64 y (neg.f64 z)) t))) |
(if (<=.f64 z -1635183257150371/9850501549098619803069760025035903451269934817616361666987073351061430442874302652853566563721228910201656997576704) (*.f64 (*.f64 y t) (neg.f64 z)) (if (<=.f64 z 3650368469591399/521481209941628438084722096232800809229175908778479680162851955034721612739414196782949728256) (*.f64 x (*.f64 y t)) (*.f64 y (*.f64 t (neg.f64 z))))) |
(if (<=.f64 z -1635183257150371/9850501549098619803069760025035903451269934817616361666987073351061430442874302652853566563721228910201656997576704) (*.f64 y (*.f64 t (neg.f64 z))) (if (<=.f64 z 2033776718772351/521481209941628438084722096232800809229175908778479680162851955034721612739414196782949728256) (*.f64 x (*.f64 y t)) (*.f64 y (*.f64 t (neg.f64 z))))) |
(if (<=.f64 z -3723057509401745/14319451959237480602209391966837419245360869586085326264720724851155532002676452079672642132912314187714679754609499860037198430378536688350222513020782289810256437153989606051133400630739489388122520004115872623737965276803368791807679393553237147648) (*.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)) -50000000000000000777970806473342151213410069846053071668488529021541689058237785163249269495752372383810314043392) (*.f64 (-.f64 x z) (*.f64 y t)) (if (<=.f64 (-.f64 (*.f64 x y) (*.f64 z y)) -1636695303948071/3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376) (*.f64 (*.f64 y (-.f64 x z)) t) (if (<=.f64 (-.f64 (*.f64 x y) (*.f64 z y)) 404805/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 (-.f64 x z) (*.f64 y t)) (if (<=.f64 (-.f64 (*.f64 x y) (*.f64 z y)) 4999999999999999681793534688837958868212853663785036782419720361679078139026353774446693497293473788990517591304702846227575332082657167871886131204710002780090859851360619284064431218701999138176915986960331575388717979146899858120583984847024514138112) (*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) (*.f64 (-.f64 x z) (*.f64 y t)))))) |
(if (<=.f64 t 1563676906694737/107839786668602559178668060348078522694548577690162289924414440996864) (*.f64 y (*.f64 (-.f64 x z) t)) (if (<=.f64 t 2350000000000000100961546872031889875191661620319140777021851290891494054855421551984367347426723566387297275709674793312422943301520873361317253864087282698653527510443866602364104363362330494369792) (*.f64 (-.f64 x z) (*.f64 y t)) (*.f64 (*.f64 y (-.f64 x z)) t))) |
(if (<=.f64 t 29000000000000002489600531362551810964896308721627050981950353299159908352) (*.f64 y (*.f64 (-.f64 x z) t)) (*.f64 (*.f64 y (-.f64 x z)) t)) |
(if (<=.f64 t 7200000000000000336309908392184042318890318419939677932252867469798003706610446423700327198189904159590158904760055164563913274200674085053570875045798026189814607938967329613731715874816) (*.f64 y (*.f64 (-.f64 x z) t)) (*.f64 (*.f64 y (neg.f64 z)) t)) |
(if (<=.f64 z -7486381177314951/78804012392788958424558080200287227610159478540930893335896586808491443542994421222828532509769831281613255980613632) (*.f64 (*.f64 y t) (neg.f64 z)) (if (<=.f64 z 3754664711579725/521481209941628438084722096232800809229175908778479680162851955034721612739414196782949728256) (*.f64 x (*.f64 y t)) (*.f64 (*.f64 y (neg.f64 z)) t))) |
(if (<=.f64 z -1635183257150371/9850501549098619803069760025035903451269934817616361666987073351061430442874302652853566563721228910201656997576704) (*.f64 (*.f64 y t) (neg.f64 z)) (if (<=.f64 z 3650368469591399/521481209941628438084722096232800809229175908778479680162851955034721612739414196782949728256) (*.f64 x (*.f64 y t)) (*.f64 y (*.f64 t (neg.f64 z))))) |
(if (<=.f64 z -1635183257150371/9850501549098619803069760025035903451269934817616361666987073351061430442874302652853566563721228910201656997576704) (*.f64 y (*.f64 t (neg.f64 z))) (if (<=.f64 z 2033776718772351/521481209941628438084722096232800809229175908778479680162851955034721612739414196782949728256) (*.f64 x (*.f64 y t)) (*.f64 y (*.f64 t (neg.f64 z))))) |
(if (<=.f64 z -3723057509401745/14319451959237480602209391966837419245360869586085326264720724851155532002676452079672642132912314187714679754609499860037198430378536688350222513020782289810256437153989606051133400630739489388122520004115872623737965276803368791807679393553237147648) (*.f64 y (*.f64 t x)) (*.f64 x (*.f64 y t))) |
(*.f64 x (*.f64 y t)) |
Compiled 271 to 131 computations (51.7% saved)
| 3× | 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 |
| 1× | saturated |
| 1× | node limit |
| 1× | saturated |
Compiled 92 to 40 computations (56.5% saved)
Compiled 401 to 119 computations (70.3% saved)
Loading profile data...