Time bar (total: 13.7s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 4 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 5 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 6 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 7 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 8 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 9 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 10 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 11 |
| 0% | 0% | 99.7% | 0.3% | 0% | 0% | 0% | 12 |
Compiled 18 to 12 computations (33.3% saved)
| 3.0s | 8256× | body | 256 | valid |
| 1.5s | 4061× | body | 256 | infinite |
| 2× | egg-herbie |
| 102× | rational.json-simplify-1 |
| 36× | rational.json-simplify-41 |
| 30× | rational.json-simplify-2 |
| 2× | swap-a-b |
| 2× | swap-z-t |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 63 | 496 |
| 1 | 108 | 496 |
| 2 | 136 | 496 |
| 3 | 153 | 496 |
| 0 | 6 | 6 |
| 1 | 6 | 6 |
| 1× | unsound |
| 1× | saturated |
| Inputs |
|---|
0 |
1 |
2 |
3 |
4 |
5 |
| Outputs |
|---|
0 |
1 |
0 |
2 |
3 |
2 |
4 |
5 |
4 |
| Inputs |
|---|
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (+.f64 (*.f64 y x) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (+.f64 (*.f64 z y) (*.f64 x t)) (*.f64 a b)) |
(+.f64 (+.f64 (*.f64 t y) (*.f64 z x)) (*.f64 a b)) |
(+.f64 (+.f64 (*.f64 a y) (*.f64 z t)) (*.f64 x b)) |
(+.f64 (+.f64 (*.f64 b y) (*.f64 z t)) (*.f64 a x)) |
(+.f64 (+.f64 (*.f64 x z) (*.f64 y t)) (*.f64 a b)) |
(+.f64 (+.f64 (*.f64 x t) (*.f64 z y)) (*.f64 a b)) |
(+.f64 (+.f64 (*.f64 x a) (*.f64 z t)) (*.f64 y b)) |
(+.f64 (+.f64 (*.f64 x b) (*.f64 z t)) (*.f64 a y)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 t z)) (*.f64 a b)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 a t)) (*.f64 z b)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 b t)) (*.f64 a z)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z a)) (*.f64 t b)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z b)) (*.f64 a t)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 b a)) |
| Outputs |
|---|
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) |
(+.f64 (+.f64 (*.f64 y x) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) |
(+.f64 (+.f64 (*.f64 z y) (*.f64 x t)) (*.f64 a b)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y z) (*.f64 x t))) |
(+.f64 (+.f64 (*.f64 t y) (*.f64 z x)) (*.f64 a b)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y t) (*.f64 x z))) |
(+.f64 (+.f64 (*.f64 a y) (*.f64 z t)) (*.f64 x b)) |
(+.f64 (+.f64 (*.f64 z t) (*.f64 y a)) (*.f64 x b)) |
(+.f64 (*.f64 z t) (+.f64 (*.f64 x b) (*.f64 y a))) |
(+.f64 (*.f64 z t) (+.f64 (*.f64 y a) (*.f64 x b))) |
(+.f64 (+.f64 (*.f64 b y) (*.f64 z t)) (*.f64 a x)) |
(+.f64 (+.f64 (*.f64 z t) (*.f64 y b)) (*.f64 x a)) |
(+.f64 (*.f64 z t) (+.f64 (*.f64 y b) (*.f64 x a))) |
(+.f64 (*.f64 z t) (+.f64 (*.f64 x a) (*.f64 y b))) |
(+.f64 (+.f64 (*.f64 x z) (*.f64 y t)) (*.f64 a b)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y t) (*.f64 x z))) |
(+.f64 (+.f64 (*.f64 x t) (*.f64 z y)) (*.f64 a b)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y z) (*.f64 x t))) |
(+.f64 (+.f64 (*.f64 x a) (*.f64 z t)) (*.f64 y b)) |
(+.f64 (+.f64 (*.f64 z t) (*.f64 y b)) (*.f64 x a)) |
(+.f64 (*.f64 z t) (+.f64 (*.f64 y b) (*.f64 x a))) |
(+.f64 (*.f64 z t) (+.f64 (*.f64 x a) (*.f64 y b))) |
(+.f64 (+.f64 (*.f64 x b) (*.f64 z t)) (*.f64 a y)) |
(+.f64 (+.f64 (*.f64 z t) (*.f64 y a)) (*.f64 x b)) |
(+.f64 (*.f64 z t) (+.f64 (*.f64 x b) (*.f64 y a))) |
(+.f64 (*.f64 z t) (+.f64 (*.f64 y a) (*.f64 x b))) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 t z)) (*.f64 a b)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 a t)) (*.f64 z b)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 t a)) (*.f64 z b)) |
(+.f64 (*.f64 t a) (+.f64 (*.f64 x y) (*.f64 z b))) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 b t)) (*.f64 a z)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 t b)) (*.f64 z a)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z a)) (*.f64 t b)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z a)) (*.f64 t b)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 t b)) (*.f64 z a)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z b)) (*.f64 a t)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 t a)) (*.f64 z b)) |
(+.f64 (*.f64 t a) (+.f64 (*.f64 x y) (*.f64 z b))) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 b a)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) |
(sort x y)
(sort z t)
(sort a b)
Compiled 23 to 17 computations (26.1% saved)
| 1× | egg-herbie |
| 12× | rational.json-simplify-1 |
| 6× | rational.json-simplify-2 |
| 4× | rational.json-simplify-41 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 31 |
| 1 | 18 | 31 |
| 2 | 22 | 31 |
| 3 | 26 | 31 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| Outputs |
|---|
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) |
Compiled 28 to 13 computations (53.6% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1 | 1 | 2 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 1 | 2 | 3 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.0b | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
Compiled 17 to 11 computations (35.3% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 x y) (*.f64 z t)) |
| ✓ | 0.0b | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
Compiled 39 to 11 computations (71.8% saved)
30 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | t | @ | inf | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 1.0ms | a | @ | inf | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 0.0ms | x | @ | 0 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 0.0ms | y | @ | -inf | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 0.0ms | x | @ | inf | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 1× | batch-egg-rewrite |
| 1822× | bool.json-1 |
| 1822× | bool.json-2 |
| 1798× | rational.json-1 |
| 1080× | rational.json-2 |
| 1080× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 50 |
| 1 | 127 | 50 |
| 2 | 317 | 50 |
| 3 | 674 | 50 |
| 4 | 1469 | 50 |
| 5 | 3534 | 50 |
| 6 | 6948 | 50 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(+.f64 (*.f64 x y) (*.f64 z t)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))))) |
| 1× | egg-herbie |
| 8422× | rational.json-simplify-41 |
| 2722× | rational.json-simplify-35 |
| 2320× | rational.json-simplify-2 |
| 2202× | rational.json-simplify-51 |
| 1138× | rational.json-simplify-49 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 76 | 3490 |
| 1 | 141 | 3490 |
| 2 | 398 | 3490 |
| 3 | 895 | 3490 |
| 4 | 1749 | 3490 |
| 5 | 2235 | 3490 |
| 6 | 2317 | 3490 |
| 7 | 2380 | 3490 |
| 8 | 2426 | 3490 |
| 9 | 2470 | 3490 |
| 10 | 2514 | 3490 |
| 11 | 2558 | 3490 |
| 12 | 2602 | 3490 |
| 13 | 2646 | 3490 |
| 14 | 2690 | 3490 |
| 15 | 2734 | 3490 |
| 16 | 2778 | 3490 |
| 17 | 2822 | 3490 |
| 18 | 2866 | 3490 |
| 19 | 3546 | 3490 |
| 20 | 4878 | 3490 |
| 21 | 4957 | 3490 |
| 22 | 5003 | 3490 |
| 23 | 5047 | 3490 |
| 24 | 5091 | 3490 |
| 25 | 5965 | 3490 |
| 26 | 5965 | 3490 |
| 27 | 6009 | 3490 |
| 28 | 6053 | 3490 |
| 29 | 6097 | 3490 |
| 30 | 6141 | 3490 |
| 31 | 6185 | 3490 |
| 32 | 6229 | 3490 |
| 33 | 6273 | 3490 |
| 34 | 6317 | 3490 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(-.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 0) |
(*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 1) |
(*.f64 1 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))) |
(*.f64 2 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 1/2)) |
(*.f64 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4)) |
(*.f64 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 2)) |
(*.f64 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4)) |
(*.f64 (/.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4) 4) |
(/.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 1) |
(/.f64 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 2) 2) |
(/.f64 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4))) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4)))) 32) |
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 0) |
(*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1) |
(*.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))) |
(*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2)) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2)) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)) |
(*.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4) |
(/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1) |
(/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 2) |
(/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)))) 32) |
| Outputs |
|---|
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 t z) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(-.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 0) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 1) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(*.f64 1 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(*.f64 2 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 1/2)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(*.f64 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 2) 1/2) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(*.f64 4 (/.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(*.f64 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4) 1/4) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(*.f64 1/2 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 2)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(*.f64 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 1/2) 2) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(*.f64 1/4 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(*.f64 (/.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4) 4) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(/.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 1) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(/.f64 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 2) 2) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(/.f64 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4) 4) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4)) 8) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4))) 16) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) 4)))) 32) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 y x))) |
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 0) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 1/2) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 4 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 1/4) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2) 2) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 2) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)) 8) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))) 16) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)))) 32) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
Compiled 611 to 190 computations (68.9% saved)
7 alts after pruning (6 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 37 | 6 | 43 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 37 | 7 | 44 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| ▶ | 19.7b | (+.f64 (*.f64 y x) (*.f64 t z)) |
| 23.4b | (+.f64 (*.f64 a b) (*.f64 y x)) | |
| ▶ | 21.2b | (+.f64 (*.f64 a b) (*.f64 t z)) |
| ▶ | 42.2b | (*.f64 y x) |
| ▶ | 40.2b | (*.f64 t z) |
| ▶ | 43.7b | (*.f64 a b) |
Compiled 149 to 107 computations (28.2% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 y x) (*.f64 t z)) |
Compiled 23 to 9 computations (60.9% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | t | @ | 0 | (+.f64 (*.f64 y x) (*.f64 t z)) |
| 0.0ms | y | @ | 0 | (+.f64 (*.f64 y x) (*.f64 t z)) |
| 0.0ms | z | @ | -inf | (+.f64 (*.f64 y x) (*.f64 t z)) |
| 0.0ms | y | @ | inf | (+.f64 (*.f64 y x) (*.f64 t z)) |
| 0.0ms | x | @ | -inf | (+.f64 (*.f64 y x) (*.f64 t z)) |
| 1× | batch-egg-rewrite |
| 1950× | bool.json-1 |
| 1344× | rational.json-simplify-35 |
| 1218× | bool.json-2 |
| 1188× | rational.json-1 |
| 1188× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 19 |
| 1 | 89 | 19 |
| 2 | 235 | 19 |
| 3 | 492 | 19 |
| 4 | 1018 | 19 |
| 5 | 2251 | 19 |
| 6 | 4657 | 19 |
| 7 | 7659 | 19 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 y x) (*.f64 t z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 y x) (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 z (*.f64 t 1/2)) (*.f64 x (*.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 t (+.f64 z z)) (*.f64 y (+.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 y x) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 y x) (*.f64 t z)) (+.f64 (*.f64 y x) (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 y x) (*.f64 t z)) (+.f64 (*.f64 y x) (*.f64 t z))))))) |
| 1× | egg-herbie |
| 5892× | rational.json-simplify-51 |
| 1978× | rational.json-simplify-35 |
| 1704× | rational.json-simplify-2 |
| 1150× | rational.json-simplify-49 |
| 1148× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 57 | 464 |
| 1 | 118 | 464 |
| 2 | 288 | 464 |
| 3 | 705 | 464 |
| 4 | 1119 | 464 |
| 5 | 2449 | 464 |
| 6 | 3223 | 464 |
| 7 | 3279 | 464 |
| 8 | 3309 | 464 |
| 9 | 3335 | 464 |
| 10 | 3361 | 464 |
| 11 | 3387 | 464 |
| 12 | 3436 | 464 |
| 13 | 3462 | 464 |
| 14 | 3488 | 464 |
| 15 | 3514 | 464 |
| 16 | 3540 | 464 |
| 17 | 3566 | 464 |
| 18 | 3592 | 464 |
| 19 | 4438 | 464 |
| 20 | 4806 | 464 |
| 21 | 4838 | 464 |
| 22 | 4868 | 464 |
| 23 | 4897 | 464 |
| 24 | 4926 | 464 |
| 25 | 4955 | 464 |
| 26 | 4984 | 464 |
| 27 | 5013 | 464 |
| 28 | 5042 | 464 |
| 29 | 5071 | 464 |
| 30 | 5100 | 464 |
| 31 | 5129 | 464 |
| 32 | 5158 | 464 |
| 33 | 5187 | 464 |
| 34 | 5216 | 464 |
| 35 | 5245 | 464 |
| 36 | 5274 | 464 |
| 37 | 5303 | 464 |
| 38 | 5332 | 464 |
| 39 | 5361 | 464 |
| 40 | 5361 | 464 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 t z) |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 t z) |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 y x) |
(*.f64 t z) |
(*.f64 t z) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 0) |
(*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1) |
(*.f64 1 (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1/2)) |
(*.f64 2 (+.f64 (*.f64 z (*.f64 t 1/2)) (*.f64 x (*.f64 y 1/2)))) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 2)) |
(*.f64 1/2 (+.f64 (*.f64 t (+.f64 z z)) (*.f64 y (+.f64 x x)))) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4)) |
(*.f64 (/.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4) 4) |
(/.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 2) 2) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4) 4) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8)))) 64) |
| Outputs |
|---|
(*.f64 t z) |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 t z) |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 y x) |
(*.f64 t z) |
(*.f64 t z) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 0) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 1 (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1/2)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 2 (+.f64 (*.f64 z (*.f64 t 1/2)) (*.f64 x (*.f64 y 1/2)))) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 2) 1/2) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 4 (/.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4) 1/4) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 2)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 1/2 (+.f64 (*.f64 t (+.f64 z z)) (*.f64 y (+.f64 x x)))) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1/2) 2) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4)) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 (/.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4) 4) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(/.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 2) 2) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4) 4) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8) 8) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8)) 16) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8))) 32) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8)))) 64) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
Compiled 11 to 7 computations (36.4% saved)
Compiled 11 to 7 computations (36.4% saved)
Compiled 11 to 7 computations (36.4% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 a b) (*.f64 t z)) |
Compiled 23 to 9 computations (60.9% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | a | @ | 0 | (+.f64 (*.f64 a b) (*.f64 t z)) |
| 0.0ms | t | @ | 0 | (+.f64 (*.f64 a b) (*.f64 t z)) |
| 0.0ms | a | @ | inf | (+.f64 (*.f64 a b) (*.f64 t z)) |
| 0.0ms | z | @ | -inf | (+.f64 (*.f64 a b) (*.f64 t z)) |
| 0.0ms | t | @ | -inf | (+.f64 (*.f64 a b) (*.f64 t z)) |
| 1× | batch-egg-rewrite |
| 1950× | bool.json-1 |
| 1344× | rational.json-simplify-35 |
| 1218× | bool.json-2 |
| 1188× | rational.json-1 |
| 1188× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 19 |
| 1 | 89 | 19 |
| 2 | 235 | 19 |
| 3 | 492 | 19 |
| 4 | 1018 | 19 |
| 5 | 2251 | 19 |
| 6 | 4657 | 19 |
| 7 | 7659 | 19 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 a b) (*.f64 t z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 a b) (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 z (*.f64 t 1/2)) (*.f64 b (*.f64 a 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 t (+.f64 z z)) (*.f64 a (+.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 a b) (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 a b) (*.f64 t z)) (+.f64 (*.f64 a b) (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 a b) (*.f64 t z)) (+.f64 (*.f64 a b) (*.f64 t z))))))) |
| 1× | egg-herbie |
| 5892× | rational.json-simplify-51 |
| 1978× | rational.json-simplify-35 |
| 1704× | rational.json-simplify-2 |
| 1150× | rational.json-simplify-49 |
| 1148× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 57 | 464 |
| 1 | 118 | 464 |
| 2 | 288 | 464 |
| 3 | 705 | 464 |
| 4 | 1119 | 464 |
| 5 | 2449 | 464 |
| 6 | 3223 | 464 |
| 7 | 3279 | 464 |
| 8 | 3309 | 464 |
| 9 | 3335 | 464 |
| 10 | 3361 | 464 |
| 11 | 3387 | 464 |
| 12 | 3436 | 464 |
| 13 | 3462 | 464 |
| 14 | 3488 | 464 |
| 15 | 3514 | 464 |
| 16 | 3540 | 464 |
| 17 | 3566 | 464 |
| 18 | 3592 | 464 |
| 19 | 4438 | 464 |
| 20 | 4806 | 464 |
| 21 | 4838 | 464 |
| 22 | 4868 | 464 |
| 23 | 4897 | 464 |
| 24 | 4926 | 464 |
| 25 | 4955 | 464 |
| 26 | 4984 | 464 |
| 27 | 5013 | 464 |
| 28 | 5042 | 464 |
| 29 | 5071 | 464 |
| 30 | 5100 | 464 |
| 31 | 5129 | 464 |
| 32 | 5158 | 464 |
| 33 | 5187 | 464 |
| 34 | 5216 | 464 |
| 35 | 5245 | 464 |
| 36 | 5274 | 464 |
| 37 | 5303 | 464 |
| 38 | 5332 | 464 |
| 39 | 5361 | 464 |
| 40 | 5361 | 464 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 t z) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 t z) |
(*.f64 t z) |
(-.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 0) |
(*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1) |
(*.f64 1 (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1/2)) |
(*.f64 2 (+.f64 (*.f64 z (*.f64 t 1/2)) (*.f64 b (*.f64 a 1/2)))) |
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4)) |
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 2)) |
(*.f64 1/2 (+.f64 (*.f64 t (+.f64 z z)) (*.f64 a (+.f64 b b)))) |
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4)) |
(*.f64 (/.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4) 4) |
(/.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1) |
(/.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 2) 2) |
(/.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4) 4) |
(/.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8)))) 64) |
| Outputs |
|---|
(*.f64 t z) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 t z) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 t z) |
(*.f64 t z) |
(-.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 0) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(*.f64 1 (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1/2)) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(*.f64 2 (+.f64 (*.f64 z (*.f64 t 1/2)) (*.f64 b (*.f64 a 1/2)))) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 2) 1/2) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(*.f64 4 (/.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4)) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4) 1/4) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 2)) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(*.f64 1/2 (+.f64 (*.f64 t (+.f64 z z)) (*.f64 a (+.f64 b b)))) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1/2) 2) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4)) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(*.f64 (/.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4) 4) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(/.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(/.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 2) 2) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(/.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4) 4) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(/.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8) 8) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8)) 16) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8))) 32) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8)))) 64) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
Compiled 512 to 205 computations (60% saved)
7 alts after pruning (1 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 46 | 0 | 46 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 5 | 5 |
| Total | 46 | 7 | 53 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| ✓ | 19.7b | (+.f64 (*.f64 y x) (*.f64 t z)) |
| ▶ | 23.4b | (+.f64 (*.f64 a b) (*.f64 y x)) |
| ✓ | 21.2b | (+.f64 (*.f64 a b) (*.f64 t z)) |
| ✓ | 42.2b | (*.f64 y x) |
| ✓ | 40.2b | (*.f64 t z) |
| ✓ | 43.7b | (*.f64 a b) |
Compiled 83 to 59 computations (28.9% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 a b) (*.f64 y x)) |
Compiled 23 to 9 computations (60.9% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | a | @ | 0 | (+.f64 (*.f64 a b) (*.f64 y x)) |
| 0.0ms | x | @ | -inf | (+.f64 (*.f64 a b) (*.f64 y x)) |
| 0.0ms | a | @ | inf | (+.f64 (*.f64 a b) (*.f64 y x)) |
| 0.0ms | a | @ | -inf | (+.f64 (*.f64 a b) (*.f64 y x)) |
| 0.0ms | x | @ | inf | (+.f64 (*.f64 a b) (*.f64 y x)) |
| 1× | batch-egg-rewrite |
| 1950× | bool.json-1 |
| 1344× | rational.json-simplify-35 |
| 1218× | bool.json-2 |
| 1188× | rational.json-1 |
| 1188× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 19 |
| 1 | 89 | 19 |
| 2 | 235 | 19 |
| 3 | 492 | 19 |
| 4 | 1018 | 19 |
| 5 | 2251 | 19 |
| 6 | 4657 | 19 |
| 7 | 7659 | 19 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 a b) (*.f64 y x)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 a b) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 b (*.f64 a 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 y (+.f64 x x)) (*.f64 a (+.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 a b) (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 a b) (*.f64 y x)) (+.f64 (*.f64 a b) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 a b) (*.f64 y x)) (+.f64 (*.f64 a b) (*.f64 y x))))))) |
| 1× | egg-herbie |
| 5892× | rational.json-simplify-51 |
| 1978× | rational.json-simplify-35 |
| 1704× | rational.json-simplify-2 |
| 1150× | rational.json-simplify-49 |
| 1148× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 57 | 464 |
| 1 | 118 | 464 |
| 2 | 288 | 464 |
| 3 | 705 | 464 |
| 4 | 1119 | 464 |
| 5 | 2449 | 464 |
| 6 | 3223 | 464 |
| 7 | 3279 | 464 |
| 8 | 3309 | 464 |
| 9 | 3335 | 464 |
| 10 | 3361 | 464 |
| 11 | 3387 | 464 |
| 12 | 3436 | 464 |
| 13 | 3462 | 464 |
| 14 | 3488 | 464 |
| 15 | 3514 | 464 |
| 16 | 3540 | 464 |
| 17 | 3566 | 464 |
| 18 | 3592 | 464 |
| 19 | 4438 | 464 |
| 20 | 4806 | 464 |
| 21 | 4838 | 464 |
| 22 | 4868 | 464 |
| 23 | 4897 | 464 |
| 24 | 4926 | 464 |
| 25 | 4955 | 464 |
| 26 | 4984 | 464 |
| 27 | 5013 | 464 |
| 28 | 5042 | 464 |
| 29 | 5071 | 464 |
| 30 | 5100 | 464 |
| 31 | 5129 | 464 |
| 32 | 5158 | 464 |
| 33 | 5187 | 464 |
| 34 | 5216 | 464 |
| 35 | 5245 | 464 |
| 36 | 5274 | 464 |
| 37 | 5303 | 464 |
| 38 | 5332 | 464 |
| 39 | 5361 | 464 |
| 40 | 5361 | 464 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y x) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 y x) |
(*.f64 y x) |
(-.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 0) |
(*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1) |
(*.f64 1 (+.f64 (*.f64 a b) (*.f64 y x))) |
(*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1/2)) |
(*.f64 2 (+.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 b (*.f64 a 1/2)))) |
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4)) |
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 2)) |
(*.f64 1/2 (+.f64 (*.f64 y (+.f64 x x)) (*.f64 a (+.f64 b b)))) |
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4)) |
(*.f64 (/.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4) 4) |
(/.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1) |
(/.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 2) 2) |
(/.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4) 4) |
(/.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8)))) 64) |
| Outputs |
|---|
(*.f64 y x) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 a b) |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 y x) |
(*.f64 y x) |
(-.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 0) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(*.f64 1 (+.f64 (*.f64 a b) (*.f64 y x))) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1/2)) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(*.f64 2 (+.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 b (*.f64 a 1/2)))) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 2) 1/2) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(*.f64 4 (/.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4)) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4) 1/4) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 2)) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(*.f64 1/2 (+.f64 (*.f64 y (+.f64 x x)) (*.f64 a (+.f64 b b)))) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1/2) 2) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4)) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(*.f64 (/.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4) 4) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(/.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(/.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 2) 2) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(/.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4) 4) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(/.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8) 8) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8)) 16) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8))) 32) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8)))) 64) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
Compiled 259 to 107 computations (58.7% saved)
7 alts after pruning (0 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 23 | 0 | 23 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 6 | 6 |
| Total | 23 | 7 | 30 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| ✓ | 19.7b | (+.f64 (*.f64 y x) (*.f64 t z)) |
| ✓ | 23.4b | (+.f64 (*.f64 a b) (*.f64 y x)) |
| ✓ | 21.2b | (+.f64 (*.f64 a b) (*.f64 t z)) |
| ✓ | 42.2b | (*.f64 y x) |
| ✓ | 40.2b | (*.f64 t z) |
| ✓ | 43.7b | (*.f64 a b) |
Compiled 83 to 59 computations (28.9% saved)
| Inputs |
|---|
(*.f64 a b) |
(*.f64 t z) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| Outputs |
|---|
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
11 calls:
| 46.0ms | t |
| 31.0ms | (*.f64 a b) |
| 6.0ms | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 5.0ms | (*.f64 x y) |
| 5.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 0.0b | 1 | x |
| 0.0b | 1 | y |
| 0.0b | 1 | z |
| 0.0b | 1 | t |
| 0.0b | 1 | a |
| 0.0b | 1 | b |
| 0.0b | 1 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 0.0b | 1 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 0.0b | 1 | (*.f64 x y) |
| 0.0b | 1 | (*.f64 z t) |
| 0.0b | 1 | (*.f64 a b) |
Compiled 146 to 93 computations (36.3% saved)
| Inputs |
|---|
(*.f64 a b) |
(*.f64 t z) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
| Outputs |
|---|
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
7 calls:
| 138.0ms | z |
| 92.0ms | (*.f64 a b) |
| 91.0ms | t |
| 85.0ms | a |
| 52.0ms | b |
| Error | Segments | Branch |
|---|---|---|
| 11.7b | 3 | x |
| 10.6b | 6 | y |
| 9.6b | 6 | z |
| 9.0b | 7 | t |
| 10.2b | 4 | a |
| 8.9b | 5 | b |
| 6.9b | 3 | (*.f64 a b) |
Compiled 87 to 55 computations (36.8% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 12.0ms | 9.693208416778917e+66 | 1.4175020226663462e+68 |
| 19.0ms | -89907283975105.61 | -0.05332162022506772 |
| 27.0ms | 256× | body | 256 | valid |
Compiled 442 to 323 computations (26.9% saved)
| Inputs |
|---|
(*.f64 a b) |
(*.f64 t z) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
| Outputs |
|---|
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
7 calls:
| 31.0ms | b |
| 26.0ms | t |
| 24.0ms | z |
| 24.0ms | x |
| 23.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 11.4b | 5 | x |
| 13.1b | 3 | y |
| 11.0b | 5 | z |
| 10.8b | 5 | t |
| 17.0b | 5 | a |
| 15.8b | 7 | b |
| 17.8b | 4 | (*.f64 a b) |
Compiled 80 to 54 computations (32.5% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 17.0ms | 1.2648898257443993e+69 | 4.247702661834207e+71 |
| 17.0ms | 4.752063739181849e-62 | 1.721513614276816e-56 |
| 16.0ms | 7.28903947162016e-92 | 5.106228497960987e-89 |
| 12.0ms | -6.661841787953166e-143 | -5.298797893603524e-144 |
| 56.0ms | 496× | body | 256 | valid |
| 1.0ms | 9× | body | 256 | infinite |
Compiled 894 to 639 computations (28.5% saved)
| Inputs |
|---|
(*.f64 a b) |
(*.f64 t z) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
| Outputs |
|---|
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 y x) |
7 calls:
| 30.0ms | b |
| 21.0ms | z |
| 21.0ms | x |
| 17.0ms | t |
| 16.0ms | (*.f64 a b) |
| Error | Segments | Branch |
|---|---|---|
| 15.9b | 5 | x |
| 17.6b | 4 | y |
| 17.5b | 5 | z |
| 17.6b | 5 | t |
| 19.8b | 3 | a |
| 17.4b | 7 | b |
| 19.2b | 3 | (*.f64 a b) |
Compiled 73 to 53 computations (27.4% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 17.0ms | 7.783742232689054e-112 | 1.9620134755406658e-105 |
| 16.0ms | -3.855829573547134e+109 | -1.8712368404356443e+108 |
| 20.0ms | -1.309537583963373e+122 | -1.9112690050884266e+117 |
| 25.0ms | -2.601744963584108e+262 | -1.1021902375761824e+260 |
| 56.0ms | 512× | body | 256 | valid |
| 17.0ms | 120× | body | 256 | infinite |
Compiled 794 to 595 computations (25.1% saved)
| Inputs |
|---|
(*.f64 a b) |
(*.f64 t z) |
(*.f64 y x) |
| Outputs |
|---|
(*.f64 a b) |
(*.f64 y x) |
(*.f64 t z) |
(*.f64 y x) |
(*.f64 t z) |
(*.f64 a b) |
7 calls:
| 38.0ms | x |
| 28.0ms | t |
| 24.0ms | a |
| 24.0ms | y |
| 20.0ms | (*.f64 a b) |
| Error | Segments | Branch |
|---|---|---|
| 25.7b | 12 | x |
| 27.8b | 7 | y |
| 27.9b | 6 | z |
| 25.9b | 9 | t |
| 29.3b | 8 | a |
| 29.1b | 6 | b |
| 25.1b | 6 | (*.f64 a b) |
Compiled 66 to 52 computations (21.2% saved)
| 5× | binary-search |
| Time | Left | Right |
|---|---|---|
| 16.0ms | 2.51459285835177e+61 | 9.693208416778917e+66 |
| 14.0ms | -3.8529157393352024e-188 | -1.2865693210333865e-188 |
| 17.0ms | -1.005385546154019e-135 | -4.491495034585384e-144 |
| 18.0ms | -5.837253527654902e-86 | -2.360345326138431e-98 |
| 14.0ms | -1632620787583395800.0 | -1386075571741054.3 |
| 73.0ms | 656× | body | 256 | valid |
Compiled 812 to 658 computations (19% saved)
Total -33.3b remaining (-116.4%)
Threshold costs -33.3b (-116.4%)
| Inputs |
|---|
(*.f64 a b) |
(*.f64 t z) |
| Outputs |
|---|
(*.f64 a b) |
(*.f64 t z) |
(*.f64 a b) |
7 calls:
| 17.0ms | x |
| 16.0ms | t |
| 14.0ms | y |
| 14.0ms | a |
| 11.0ms | b |
| Error | Segments | Branch |
|---|---|---|
| 33.7b | 6 | x |
| 35.5b | 5 | y |
| 33.1b | 3 | z |
| 32.1b | 5 | t |
| 32.2b | 5 | a |
| 32.3b | 3 | b |
| 28.6b | 3 | (*.f64 a b) |
Compiled 63 to 51 computations (19% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 19.0ms | 2.51459285835177e+61 | 9.693208416778917e+66 |
| 11.0ms | -1386075571741054.3 | -89907283975105.61 |
| 27.0ms | 240× | body | 256 | valid |
Compiled 296 to 244 computations (17.6% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 72 | 519 |
| 1× | done |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(if (<=.f64 (*.f64 a b) -47000) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 9999999999999999827367757839185598317239782875580932278577147150336) (+.f64 (*.f64 y x) (*.f64 t z)) (+.f64 (*.f64 a b) (*.f64 t z)))) |
(if (<=.f64 t -3569694783267917/54918381281044877719855206392651145738155482401146443275155707673484345467181248416980477125291636439818370491131846864296975903997733150500592226328920457216) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 t 331482221842315/8958978968711216842229769122273777112486581988938598139599956403855167484720643781523509973086428463104) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 t 7873862068137501/57896044618658097711785492504343953926634992332820282019728792003956564819968) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 t 208000000000000002826574440430970039374165660004003097797874734870822912) (+.f64 (*.f64 a b) (*.f64 y x)) (+.f64 (*.f64 a b) (*.f64 t z)))))) |
(if (<=.f64 x -189999999999999986467029698869683932006580470954199556324038481333279318117360223861471804873816272524070134056214037069832135692135213287763955728282432327649922347541702889082132454438209570802890012961801793770223719095213702755289278504587331340695463002112) (*.f64 y x) (if (<=.f64 x -509999999999999984068022317195863823624038410122256992284798166112991122116016551519735421593084124099889415567035072512) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 x -1900000000000000038524023757623944826157447155814465829196722919267979008131483831520128434152683708103000064) (*.f64 y x) (if (<=.f64 x 2453137384182563/1291124939043454294827959586001505937164852896414611756415329678270323811008420597314822676640068915717951585986373746688) (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 y x))))) |
(if (<=.f64 (*.f64 a b) -37000000000000000) (*.f64 a b) (if (<=.f64 (*.f64 a b) -4208588308330709/300613450595050653169853516389035139504087366260264943450533244356122755214669880763353471793250393988087676928) (*.f64 y x) (if (<=.f64 (*.f64 a b) -6703903964971299/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 t z) (if (<=.f64 (*.f64 a b) -2821756786938629/78382132970517478991165606422426233672355708521949855379734648809861125861064803929830588940942115354940041435601982738271645192059633193360683542052684438972998018132574030730004068581526319939960438784) (*.f64 y x) (if (<=.f64 (*.f64 a b) 25500000000000000493431565957837332430430409592710877342072832) (*.f64 t z) (*.f64 a b)))))) |
(if (<=.f64 (*.f64 a b) -540000000000000) (*.f64 a b) (if (<=.f64 (*.f64 a b) 16000000000000000925727359083631517238294059026800647010762358784) (*.f64 t z) (*.f64 a b))) |
(*.f64 a b) |
| Outputs |
|---|
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(if (<=.f64 (*.f64 a b) -47000) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 9999999999999999827367757839185598317239782875580932278577147150336) (+.f64 (*.f64 y x) (*.f64 t z)) (+.f64 (*.f64 a b) (*.f64 t z)))) |
(if (<=.f64 t -3569694783267917/54918381281044877719855206392651145738155482401146443275155707673484345467181248416980477125291636439818370491131846864296975903997733150500592226328920457216) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 t 331482221842315/8958978968711216842229769122273777112486581988938598139599956403855167484720643781523509973086428463104) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 t 7873862068137501/57896044618658097711785492504343953926634992332820282019728792003956564819968) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 t 208000000000000002826574440430970039374165660004003097797874734870822912) (+.f64 (*.f64 a b) (*.f64 y x)) (+.f64 (*.f64 a b) (*.f64 t z)))))) |
(if (<=.f64 x -189999999999999986467029698869683932006580470954199556324038481333279318117360223861471804873816272524070134056214037069832135692135213287763955728282432327649922347541702889082132454438209570802890012961801793770223719095213702755289278504587331340695463002112) (*.f64 y x) (if (<=.f64 x -509999999999999984068022317195863823624038410122256992284798166112991122116016551519735421593084124099889415567035072512) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 x -1900000000000000038524023757623944826157447155814465829196722919267979008131483831520128434152683708103000064) (*.f64 y x) (if (<=.f64 x 2453137384182563/1291124939043454294827959586001505937164852896414611756415329678270323811008420597314822676640068915717951585986373746688) (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 y x))))) |
(if (<=.f64 (*.f64 a b) -37000000000000000) (*.f64 a b) (if (<=.f64 (*.f64 a b) -4208588308330709/300613450595050653169853516389035139504087366260264943450533244356122755214669880763353471793250393988087676928) (*.f64 y x) (if (<=.f64 (*.f64 a b) -6703903964971299/13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096) (*.f64 t z) (if (<=.f64 (*.f64 a b) -2821756786938629/78382132970517478991165606422426233672355708521949855379734648809861125861064803929830588940942115354940041435601982738271645192059633193360683542052684438972998018132574030730004068581526319939960438784) (*.f64 y x) (if (<=.f64 (*.f64 a b) 25500000000000000493431565957837332430430409592710877342072832) (*.f64 t z) (*.f64 a b)))))) |
(if (<=.f64 (*.f64 a b) -540000000000000) (*.f64 a b) (if (<=.f64 (*.f64 a b) 16000000000000000925727359083631517238294059026800647010762358784) (*.f64 t z) (*.f64 a b))) |
(*.f64 a b) |
Compiled 248 to 119 computations (52% saved)
(sort a b)
(sort z t)
(sort x y)
Compiled 314 to 133 computations (57.6% saved)
Loading profile data...