Time bar (total: 15.3s)
| 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)
| 5.9s | 8256× | body | 256 | valid |
| 1.9s | 4141× | 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 | 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)) |
| 0.0ms | y | @ | 0 | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 1× | batch-egg-rewrite |
| 1856× | rational.json-simplify-1 |
| 1610× | rational.json-simplify-35 |
| 1510× | exponential.json-3 |
| 1510× | rational.json-1 |
| 1510× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 50 |
| 1 | 85 | 50 |
| 2 | 169 | 50 |
| 3 | 369 | 50 |
| 4 | 748 | 50 |
| 5 | 1930 | 50 |
| 6 | 3434 | 50 |
| 7 | 4602 | 50 |
| 8 | 6479 | 50 |
| 9 | 7738 | 50 |
| 10 | 7762 | 50 |
| 11 | 7762 | 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 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1))))) |
((#(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 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1))))) |
| 1× | egg-herbie |
| 3086× | rational.json-simplify-2 |
| 2986× | rational.json-simplify-51 |
| 2752× | rational.json-simplify-35 |
| 1492× | rational.json-simplify-49 |
| 1072× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 89 | 3640 |
| 1 | 196 | 3640 |
| 2 | 515 | 3640 |
| 3 | 1448 | 3640 |
| 4 | 2875 | 3640 |
| 5 | 3577 | 3640 |
| 6 | 3665 | 3640 |
| 7 | 3730 | 3640 |
| 8 | 3780 | 3640 |
| 9 | 3828 | 3640 |
| 10 | 3876 | 3640 |
| 11 | 3924 | 3640 |
| 12 | 3972 | 3640 |
| 13 | 4020 | 3640 |
| 14 | 4068 | 3640 |
| 15 | 4116 | 3640 |
| 16 | 4164 | 3640 |
| 17 | 4212 | 3640 |
| 18 | 4260 | 3640 |
| 19 | 5131 | 3640 |
| 20 | 6641 | 3640 |
| 21 | 6712 | 3640 |
| 22 | 6712 | 3640 |
| 23 | 6712 | 3640 |
| 24 | 6717 | 3640 |
| 25 | 6765 | 3640 |
| 26 | 6813 | 3640 |
| 27 | 6861 | 3640 |
| 28 | 6909 | 3640 |
| 29 | 6957 | 3640 |
| 30 | 7005 | 3640 |
| 31 | 7053 | 3640 |
| 32 | 7101 | 3640 |
| 33 | 7149 | 3640 |
| 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 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 0) |
(*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1) |
(*.f64 1 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b)))) |
(*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1/2)) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2)) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)) |
(*.f64 (/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 4) |
(/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1) |
(/.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2) 2) |
(/.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)))))) 128) |
(pow.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1) |
(-.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 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)))))) 128) |
(pow.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1) |
| 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 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 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 0) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 1 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b)))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1/2)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2) 1/2) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 4 (/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 1/4) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1/2) 2) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(*.f64 (/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 4) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(/.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2) 2) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(/.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 4) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)) 8) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))) 16) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)))) 32) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))))) 64) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)))))) 128) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(pow.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 0) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 1 (+.f64 (*.f64 x y) (*.f64 z t))) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 1/2) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 4 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 1/4) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2) 2) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(*.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 2) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)) 8) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))) 16) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)))) 32) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))))) 64) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)))))) 128) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(pow.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
Compiled 687 to 238 computations (65.4% saved)
7 alts after pruning (6 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 41 | 6 | 47 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 41 | 7 | 48 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 24.1b | (+.f64 (*.f64 y x) (*.f64 t z)) | |
| ▶ | 20.4b | (+.f64 (*.f64 a b) (*.f64 y x)) |
| ▶ | 19.7b | (+.f64 (*.f64 a b) (*.f64 t z)) |
| ▶ | 43.5b | (*.f64 y x) |
| ▶ | 43.3b | (*.f64 t z) |
| ▶ | 39.5b | (*.f64 a b) |
Compiled 149 to 107 computations (28.2% 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 | z | @ | 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)) |
| 0.0ms | t | @ | -inf | (+.f64 (*.f64 a b) (*.f64 t z)) |
| 1× | batch-egg-rewrite |
| 1826× | rational.json-simplify-35 |
| 1684× | rational.json-simplify-1 |
| 1376× | exponential.json-3 |
| 1376× | rational.json-1 |
| 1376× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 19 |
| 1 | 59 | 19 |
| 2 | 123 | 19 |
| 3 | 257 | 19 |
| 4 | 478 | 19 |
| 5 | 1097 | 19 |
| 6 | 2654 | 19 |
| 7 | 4704 | 19 |
| 8 | 5665 | 19 |
| 9 | 6860 | 19 |
| 10 | 7801 | 19 |
| 11 | 7801 | 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 (*.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)) 1/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 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8) 1/8)))) (#(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 (*.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)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8))))) (#(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 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1))))) |
| 1× | egg-herbie |
| 5982× | rational.json-simplify-51 |
| 3558× | rational.json-simplify-35 |
| 1370× | rational.json-simplify-49 |
| 1154× | rational.json-simplify-2 |
| 1124× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 55 | 521 |
| 1 | 124 | 521 |
| 2 | 429 | 521 |
| 3 | 1177 | 521 |
| 4 | 1893 | 521 |
| 5 | 2791 | 521 |
| 6 | 3279 | 521 |
| 7 | 3353 | 521 |
| 8 | 3401 | 521 |
| 9 | 3433 | 521 |
| 10 | 3465 | 521 |
| 11 | 3497 | 521 |
| 12 | 3529 | 521 |
| 13 | 3561 | 521 |
| 14 | 3593 | 521 |
| 15 | 3625 | 521 |
| 16 | 3657 | 521 |
| 17 | 3689 | 521 |
| 18 | 3721 | 521 |
| 19 | 4640 | 521 |
| 20 | 4897 | 521 |
| 21 | 4990 | 521 |
| 22 | 5079 | 521 |
| 23 | 5166 | 521 |
| 24 | 5252 | 521 |
| 25 | 5465 | 521 |
| 26 | 5465 | 521 |
| 27 | 5551 | 521 |
| 28 | 5637 | 521 |
| 29 | 5723 | 521 |
| 30 | 5809 | 521 |
| 31 | 5895 | 521 |
| 32 | 5981 | 521 |
| 33 | 6067 | 521 |
| 34 | 6153 | 521 |
| 35 | 6239 | 521 |
| 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 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 2) 1/2) |
(*.f64 4 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1/4)) |
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 4) 1/4) |
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8) 1/8) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 2)) |
(*.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)) 1/4) 4) |
(*.f64 1/8 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8)) |
(/.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 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8)))))) 256) |
(pow.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1) |
| 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 (*.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)) 1/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 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8) 1/8) |
(+.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 (*.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)) 1/4) 4) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(*.f64 1/8 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8)) |
(+.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 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8)))) 64) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8))))) 128) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 8)))))) 256) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(pow.f64 (+.f64 (*.f64 a b) (*.f64 t z)) 1) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
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 y x)) |
Compiled 23 to 9 computations (60.9% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | -inf | (+.f64 (*.f64 a b) (*.f64 y x)) |
| 0.0ms | a | @ | 0 | (+.f64 (*.f64 a b) (*.f64 y x)) |
| 0.0ms | y | @ | inf | (+.f64 (*.f64 a b) (*.f64 y x)) |
| 0.0ms | x | @ | inf | (+.f64 (*.f64 a b) (*.f64 y x)) |
| 0.0ms | x | @ | -inf | (+.f64 (*.f64 a b) (*.f64 y x)) |
| 1× | batch-egg-rewrite |
| 1826× | rational.json-simplify-35 |
| 1684× | rational.json-simplify-1 |
| 1376× | exponential.json-3 |
| 1376× | rational.json-1 |
| 1376× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 19 |
| 1 | 59 | 19 |
| 2 | 123 | 19 |
| 3 | 257 | 19 |
| 4 | 478 | 19 |
| 5 | 1097 | 19 |
| 6 | 2654 | 19 |
| 7 | 4704 | 19 |
| 8 | 5665 | 19 |
| 9 | 6860 | 19 |
| 10 | 7801 | 19 |
| 11 | 7801 | 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 (*.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)) 1/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 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8) 1/8)))) (#(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 (*.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)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8))))) (#(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 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1))))) |
| 1× | egg-herbie |
| 5982× | rational.json-simplify-51 |
| 3558× | rational.json-simplify-35 |
| 1370× | rational.json-simplify-49 |
| 1154× | rational.json-simplify-2 |
| 1124× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 55 | 521 |
| 1 | 124 | 521 |
| 2 | 429 | 521 |
| 3 | 1177 | 521 |
| 4 | 1893 | 521 |
| 5 | 2791 | 521 |
| 6 | 3279 | 521 |
| 7 | 3353 | 521 |
| 8 | 3401 | 521 |
| 9 | 3433 | 521 |
| 10 | 3465 | 521 |
| 11 | 3497 | 521 |
| 12 | 3529 | 521 |
| 13 | 3561 | 521 |
| 14 | 3593 | 521 |
| 15 | 3625 | 521 |
| 16 | 3657 | 521 |
| 17 | 3689 | 521 |
| 18 | 3721 | 521 |
| 19 | 4640 | 521 |
| 20 | 4897 | 521 |
| 21 | 4990 | 521 |
| 22 | 5079 | 521 |
| 23 | 5166 | 521 |
| 24 | 5252 | 521 |
| 25 | 5465 | 521 |
| 26 | 5465 | 521 |
| 27 | 5551 | 521 |
| 28 | 5637 | 521 |
| 29 | 5723 | 521 |
| 30 | 5809 | 521 |
| 31 | 5895 | 521 |
| 32 | 5981 | 521 |
| 33 | 6067 | 521 |
| 34 | 6153 | 521 |
| 35 | 6239 | 521 |
| 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 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 2) 1/2) |
(*.f64 4 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1/4)) |
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 4) 1/4) |
(*.f64 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8) 1/8) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 2)) |
(*.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)) 1/4) 4) |
(*.f64 1/8 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8)) |
(/.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 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8)))))) 256) |
(pow.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1) |
| 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 (*.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)) 1/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 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8) 1/8) |
(+.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 (*.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)) 1/4) 4) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(*.f64 1/8 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8)) |
(+.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 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8)))) 64) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8))))) 128) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 8)))))) 256) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(pow.f64 (+.f64 (*.f64 a b) (*.f64 y x)) 1) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
Compiled 578 to 237 computations (59% saved)
7 alts after pruning (1 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 52 | 0 | 52 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 5 | 5 |
| Total | 52 | 7 | 59 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| ▶ | 24.1b | (+.f64 (*.f64 y x) (*.f64 t z)) |
| ✓ | 20.4b | (+.f64 (*.f64 a b) (*.f64 y x)) |
| ✓ | 19.7b | (+.f64 (*.f64 a b) (*.f64 t z)) |
| ✓ | 43.5b | (*.f64 y x) |
| ✓ | 43.3b | (*.f64 t z) |
| ✓ | 39.5b | (*.f64 a b) |
Compiled 83 to 59 computations (28.9% 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 | @ | inf | (+.f64 (*.f64 y x) (*.f64 t z)) |
| 0.0ms | y | @ | 0 | (+.f64 (*.f64 y x) (*.f64 t z)) |
| 0.0ms | y | @ | inf | (+.f64 (*.f64 y x) (*.f64 t z)) |
| 0.0ms | y | @ | -inf | (+.f64 (*.f64 y x) (*.f64 t z)) |
| 0.0ms | t | @ | 0 | (+.f64 (*.f64 y x) (*.f64 t z)) |
| 1× | batch-egg-rewrite |
| 1826× | rational.json-simplify-35 |
| 1684× | rational.json-simplify-1 |
| 1376× | exponential.json-3 |
| 1376× | rational.json-1 |
| 1376× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 19 |
| 1 | 59 | 19 |
| 2 | 123 | 19 |
| 3 | 257 | 19 |
| 4 | 478 | 19 |
| 5 | 1097 | 19 |
| 6 | 2654 | 19 |
| 7 | 4704 | 19 |
| 8 | 5665 | 19 |
| 9 | 6860 | 19 |
| 10 | 7801 | 19 |
| 11 | 7801 | 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 (*.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)) 1/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 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8) 1/8)))) (#(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 (*.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)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8))))) (#(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 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1))))) |
| 1× | egg-herbie |
| 5982× | rational.json-simplify-51 |
| 3558× | rational.json-simplify-35 |
| 1370× | rational.json-simplify-49 |
| 1154× | rational.json-simplify-2 |
| 1124× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 55 | 521 |
| 1 | 124 | 521 |
| 2 | 429 | 521 |
| 3 | 1177 | 521 |
| 4 | 1893 | 521 |
| 5 | 2791 | 521 |
| 6 | 3279 | 521 |
| 7 | 3353 | 521 |
| 8 | 3401 | 521 |
| 9 | 3433 | 521 |
| 10 | 3465 | 521 |
| 11 | 3497 | 521 |
| 12 | 3529 | 521 |
| 13 | 3561 | 521 |
| 14 | 3593 | 521 |
| 15 | 3625 | 521 |
| 16 | 3657 | 521 |
| 17 | 3689 | 521 |
| 18 | 3721 | 521 |
| 19 | 4640 | 521 |
| 20 | 4897 | 521 |
| 21 | 4990 | 521 |
| 22 | 5079 | 521 |
| 23 | 5166 | 521 |
| 24 | 5252 | 521 |
| 25 | 5465 | 521 |
| 26 | 5465 | 521 |
| 27 | 5551 | 521 |
| 28 | 5637 | 521 |
| 29 | 5723 | 521 |
| 30 | 5809 | 521 |
| 31 | 5895 | 521 |
| 32 | 5981 | 521 |
| 33 | 6067 | 521 |
| 34 | 6153 | 521 |
| 35 | 6239 | 521 |
| 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 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 2) 1/2) |
(*.f64 4 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1/4)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 4) 1/4) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8) 1/8) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 2)) |
(*.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)) 1/4) 4) |
(*.f64 1/8 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8)) |
(/.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 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8)))))) 256) |
(pow.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1) |
| 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 (*.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)) 1/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 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8) 1/8) |
(+.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 (*.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)) 1/4) 4) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(*.f64 1/8 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8)) |
(+.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 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8)))) 64) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8))))) 128) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 8)))))) 256) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
(pow.f64 (+.f64 (*.f64 y x) (*.f64 t z)) 1) |
(+.f64 (*.f64 t z) (*.f64 y x)) |
Compiled 292 to 122 computations (58.2% saved)
7 alts after pruning (0 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 26 | 0 | 26 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 6 | 6 |
| Total | 26 | 7 | 33 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| ✓ | 24.1b | (+.f64 (*.f64 y x) (*.f64 t z)) |
| ✓ | 20.4b | (+.f64 (*.f64 a b) (*.f64 y x)) |
| ✓ | 19.7b | (+.f64 (*.f64 a b) (*.f64 t z)) |
| ✓ | 43.5b | (*.f64 y x) |
| ✓ | 43.3b | (*.f64 t z) |
| ✓ | 39.5b | (*.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:
| 6.0ms | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 6.0ms | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 6.0ms | y |
| 6.0ms | a |
| 5.0ms | (*.f64 a b) |
| 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:
| 158.0ms | t |
| 119.0ms | y |
| 78.0ms | z |
| 50.0ms | x |
| 23.0ms | a |
| Error | Segments | Branch |
|---|---|---|
| 9.3b | 5 | x |
| 11.3b | 5 | y |
| 9.9b | 6 | z |
| 6.9b | 7 | t |
| 8.8b | 5 | a |
| 10.3b | 3 | b |
| 6.5b | 3 | (*.f64 a b) |
Compiled 87 to 55 computations (36.8% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 13.0ms | 3.176860513625223e-95 | 9.459873564761e-94 |
| 59.0ms | -8.276446881267002e-66 | -1.7621989881575682e-79 |
| 69.0ms | 272× | body | 256 | valid |
Compiled 468 to 342 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)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
7 calls:
| 39.0ms | b |
| 34.0ms | a |
| 29.0ms | t |
| 20.0ms | z |
| 17.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 10.5b | 3 | x |
| 12.5b | 3 | y |
| 11.6b | 5 | z |
| 7.9b | 7 | t |
| 11.5b | 8 | a |
| 12.9b | 8 | b |
| 14.9b | 4 | (*.f64 a b) |
Compiled 80 to 54 computations (32.5% saved)
| 6× | binary-search |
| Time | Left | Right |
|---|---|---|
| 15.0ms | 8.818194966990114e+111 | 1.8002788411382342e+114 |
| 15.0ms | 7.259347346290409e+92 | 1.2161278655779131e+95 |
| 8.0ms | 3.40757563815287e-9 | 6.684364725641608e-9 |
| 19.0ms | 1.3472424605955955e-49 | 1.1827264788696607e-39 |
| 14.0ms | 1.19371430536701e-84 | 2.225140187571544e-83 |
| 17.0ms | -3.899727678455427e-117 | -3.382149190643198e-121 |
| 77.0ms | 688× | body | 256 | valid |
| 3.0ms | 30× | body | 256 | infinite |
Compiled 1230 to 879 computations (28.5% saved)
| Inputs |
|---|
(*.f64 a b) |
(*.f64 t z) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
| Outputs |
|---|
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.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:
| 36.0ms | a |
| 26.0ms | b |
| 22.0ms | y |
| 22.0ms | x |
| 18.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 14.2b | 6 | x |
| 14.3b | 6 | y |
| 18.2b | 3 | z |
| 16.1b | 5 | t |
| 14.3b | 7 | a |
| 15.4b | 7 | b |
| 17.3b | 5 | (*.f64 a b) |
Compiled 73 to 53 computations (27.4% saved)
| 5× | binary-search |
| Time | Left | Right |
|---|---|---|
| 18.0ms | 7.819390116375685e-24 | 5.316819171250036e-21 |
| 6.0ms | -4.331665773791369e+104 | -3.5180166385224604e+104 |
| 17.0ms | -9.499347323937661e+170 | -1.2096398933838748e+169 |
| 17.0ms | -1.9169871522385892e+178 | -3.132163856512535e+176 |
| 15.0ms | -2.8990939279808388e+252 | -1.0567734404871327e+252 |
| 55.0ms | 480× | body | 256 | valid |
| 13.0ms | 120× | body | 256 | infinite |
Compiled 746 to 559 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) |
(*.f64 t z) |
(*.f64 a b) |
7 calls:
| 39.0ms | b |
| 34.0ms | z |
| 32.0ms | t |
| 29.0ms | y |
| 28.0ms | (*.f64 a b) |
| Error | Segments | Branch |
|---|---|---|
| 29.2b | 6 | x |
| 28.6b | 8 | y |
| 27.6b | 11 | z |
| 24.8b | 9 | t |
| 27.6b | 7 | a |
| 25.0b | 10 | b |
| 23.3b | 8 | (*.f64 a b) |
Compiled 66 to 52 computations (21.2% saved)
| 7× | binary-search |
| Time | Left | Right |
|---|---|---|
| 17.0ms | 3.027910072237591 | 25675871.790916055 |
| 15.0ms | 4.504165140692233e-56 | 3.650742395002081e-53 |
| 16.0ms | 2.3125008511969043e-109 | 2.5434096585461175e-102 |
| 14.0ms | 6.505009747282186e-181 | 1.8799799740843182e-180 |
| 15.0ms | 7.577629158390502e-241 | 3.345126347701209e-238 |
| 9.0ms | -1.8746572720535217e-162 | -7.559622518304148e-163 |
| 17.0ms | -3.0778914387710727e-7 | -1.2225771178657764e-13 |
| 93.0ms | 848× | body | 256 | valid |
Compiled 1016 to 832 computations (18.1% saved)
Total -35.9b remaining (-136%)
Threshold costs -35.9b (-136%)
| Inputs |
|---|
(*.f64 a b) |
(*.f64 t z) |
| Outputs |
|---|
(*.f64 a b) |
(*.f64 t z) |
(*.f64 a b) |
(*.f64 t z) |
(*.f64 a b) |
7 calls:
| 19.0ms | y |
| 16.0ms | (*.f64 a b) |
| 14.0ms | z |
| 12.0ms | t |
| 11.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 36.6b | 3 | x |
| 34.3b | 7 | y |
| 31.3b | 5 | z |
| 29.7b | 3 | t |
| 31.6b | 3 | a |
| 31.0b | 3 | b |
| 26.4b | 5 | (*.f64 a b) |
Compiled 63 to 51 computations (19% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 17.0ms | 3.027910072237591 | 25675871.790916055 |
| 15.0ms | 4.504165140692233e-56 | 3.650742395002081e-53 |
| 16.0ms | 2.3125008511969043e-109 | 2.5434096585461175e-102 |
| 13.0ms | -1.7621989881575682e-79 | -7.370404675152482e-82 |
| 56.0ms | 528× | body | 256 | valid |
Compiled 620 to 514 computations (17.1% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 91 | 691 |
| 1× | done |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(if (<=.f64 (*.f64 a b) -2294517323743165/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 4039493242370993/4697085165547666455778961193578674054751365097816639741414581943064418050229216886927397996769537406063869952) (+.f64 (*.f64 y x) (*.f64 t z)) (+.f64 (*.f64 a b) (*.f64 t z)))) |
(if (<=.f64 t -6530191663593343/5678427533559428832416592249125035424637823130369672345949142181098744438385921275985867583701277855943457200048954515105739075223552) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 t 1161976947540975/68351585149469122636640694597425667667286544715412888638305331450311031224980497600734786781970432) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 t 8433210856271181/205688069665150755269371147819668813122841983204197482918576128) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 t 1450710983537555/302231454903657293676544) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 t 61999999999999998289293021408374110448300755816879738906830557644497808899772036577663146524672) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 t 9000000000000000011875523009946982274712510202116426024165663882478337833660304860051684962396994027708131311616) (+.f64 (*.f64 a b) (*.f64 y x)) (+.f64 (*.f64 a b) (*.f64 t z)))))))) |
(if (<=.f64 x -2000000000000000198304056105996818023840404684325430589176790601503084399959067474819558151731455507853638719703242991173154673528045310795668595749431124176653338683260558558115888674688541767725760824071926806374482120168847930635477150456215142137856) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 x -800000000000000005959184401659455913153595950866523097887714033050111881974252928210975901099125646726772482082227717026980347066247818546472455392892991069677231117888351371264) (*.f64 y x) (if (<=.f64 x -18000000000000000485464898268198179569448228671476733269931198375587783856038046122482967545918599149310749253657501847813691127952762986998265604590588358419105055768576) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 x -430000000000000016738083851979080105545092645422299448010302336792860067502562425644435446797585556176896) (*.f64 y x) (if (<=.f64 x 6911985578081563/1329227995784915872903807060280344576) (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 y x)))))) |
(if (<=.f64 (*.f64 a b) -8878048987794933/37778931862957161709568) (*.f64 a b) (if (<=.f64 (*.f64 a b) -1874170850202597/1013065324433836171511818326096474890383898005918563696288002277756507034036354527929615978746851512277392062160962106733983191180520452956027069051297354415786421338721071661056) (*.f64 y x) (if (<=.f64 (*.f64 a b) 2177179880353363/938439603600587528746394711938657107663969949193687942084737423845328945327403963493426274822541422606069252398088182827397836333287780407720182613329988145004965865323862822167078543736143176539997470989737828269291292380585577139908076735904949708259328) (*.f64 t z) (if (<=.f64 (*.f64 a b) 613192019008423/583992399055640987986069965529637289586333248927815671114136642291107221402710705472756839848623539171666215625420084135768154204336056063776340648924443416096255318318113913610607896607565283328) (*.f64 y x) (if (<=.f64 (*.f64 a b) 6304320991423117/2521728396569246669585858566409191283525103313309788586748690777871726193375821479130513040312634601011624191379636224) (*.f64 t z) (if (<=.f64 (*.f64 a b) 1984252074702287/862718293348820473429344482784628181556388621521298319395315527974912) (*.f64 a b) (if (<=.f64 (*.f64 a b) 800000) (*.f64 t z) (*.f64 a b)))))))) |
(if (<=.f64 (*.f64 a b) -3504353730807743/33374797436264220037422214158899251790667258161822699530422525122222183215322508594108782608384) (*.f64 a b) (if (<=.f64 (*.f64 a b) 6304320991423117/2521728396569246669585858566409191283525103313309788586748690777871726193375821479130513040312634601011624191379636224) (*.f64 t z) (if (<=.f64 (*.f64 a b) 8972270250827733/6901746346790563787434755862277025452451108972170386555162524223799296) (*.f64 a b) (if (<=.f64 (*.f64 a b) 14500) (*.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) -2294517323743165/1042962419883256876169444192465601618458351817556959360325703910069443225478828393565899456512) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 (*.f64 a b) 4039493242370993/4697085165547666455778961193578674054751365097816639741414581943064418050229216886927397996769537406063869952) (+.f64 (*.f64 y x) (*.f64 t z)) (+.f64 (*.f64 a b) (*.f64 t z)))) |
(if (<=.f64 t -6530191663593343/5678427533559428832416592249125035424637823130369672345949142181098744438385921275985867583701277855943457200048954515105739075223552) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 t 1161976947540975/68351585149469122636640694597425667667286544715412888638305331450311031224980497600734786781970432) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 t 8433210856271181/205688069665150755269371147819668813122841983204197482918576128) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 t 1450710983537555/302231454903657293676544) (+.f64 (*.f64 a b) (*.f64 y x)) (if (<=.f64 t 61999999999999998289293021408374110448300755816879738906830557644497808899772036577663146524672) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 t 9000000000000000011875523009946982274712510202116426024165663882478337833660304860051684962396994027708131311616) (+.f64 (*.f64 a b) (*.f64 y x)) (+.f64 (*.f64 a b) (*.f64 t z)))))))) |
(if (<=.f64 x -2000000000000000198304056105996818023840404684325430589176790601503084399959067474819558151731455507853638719703242991173154673528045310795668595749431124176653338683260558558115888674688541767725760824071926806374482120168847930635477150456215142137856) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 x -800000000000000005959184401659455913153595950866523097887714033050111881974252928210975901099125646726772482082227717026980347066247818546472455392892991069677231117888351371264) (*.f64 y x) (if (<=.f64 x -18000000000000000485464898268198179569448228671476733269931198375587783856038046122482967545918599149310749253657501847813691127952762986998265604590588358419105055768576) (+.f64 (*.f64 a b) (*.f64 t z)) (if (<=.f64 x -430000000000000016738083851979080105545092645422299448010302336792860067502562425644435446797585556176896) (*.f64 y x) (if (<=.f64 x 6911985578081563/1329227995784915872903807060280344576) (+.f64 (*.f64 a b) (*.f64 t z)) (*.f64 y x)))))) |
(if (<=.f64 (*.f64 a b) -8878048987794933/37778931862957161709568) (*.f64 a b) (if (<=.f64 (*.f64 a b) -1874170850202597/1013065324433836171511818326096474890383898005918563696288002277756507034036354527929615978746851512277392062160962106733983191180520452956027069051297354415786421338721071661056) (*.f64 y x) (if (<=.f64 (*.f64 a b) 2177179880353363/938439603600587528746394711938657107663969949193687942084737423845328945327403963493426274822541422606069252398088182827397836333287780407720182613329988145004965865323862822167078543736143176539997470989737828269291292380585577139908076735904949708259328) (*.f64 t z) (if (<=.f64 (*.f64 a b) 613192019008423/583992399055640987986069965529637289586333248927815671114136642291107221402710705472756839848623539171666215625420084135768154204336056063776340648924443416096255318318113913610607896607565283328) (*.f64 y x) (if (<=.f64 (*.f64 a b) 6304320991423117/2521728396569246669585858566409191283525103313309788586748690777871726193375821479130513040312634601011624191379636224) (*.f64 t z) (if (<=.f64 (*.f64 a b) 1984252074702287/862718293348820473429344482784628181556388621521298319395315527974912) (*.f64 a b) (if (<=.f64 (*.f64 a b) 800000) (*.f64 t z) (*.f64 a b)))))))) |
(if (<=.f64 (*.f64 a b) -3504353730807743/33374797436264220037422214158899251790667258161822699530422525122222183215322508594108782608384) (*.f64 a b) (if (<=.f64 (*.f64 a b) 6304320991423117/2521728396569246669585858566409191283525103313309788586748690777871726193375821479130513040312634601011624191379636224) (*.f64 t z) (if (<=.f64 (*.f64 a b) 8972270250827733/6901746346790563787434755862277025452451108972170386555162524223799296) (*.f64 a b) (if (<=.f64 (*.f64 a b) 14500) (*.f64 t z) (*.f64 a b))))) |
(*.f64 a b) |
Compiled 317 to 140 computations (55.8% saved)
(sort a b)
(sort z t)
(sort x y)
Compiled 383 to 154 computations (59.8% saved)
Loading profile data...