Time bar (total: 16.5s)
| 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)
| 4.5s | 8256× | body | 256 | valid |
| 2.6s | 4211× | 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 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| ✓ | 0.0b | (+.f64 (*.f64 x y) (*.f64 z t)) |
Compiled 39 to 11 computations (71.8% saved)
30 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | t | @ | inf | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 1.0ms | a | @ | inf | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 0.0ms | z | @ | 0 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 0.0ms | x | @ | 0 | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 0.0ms | a | @ | 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 x y) (*.f64 z t)) |
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| Outputs |
|---|
((#(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))))) |
((#(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))))) |
| 1× | egg-herbie |
| 3086× | rational.json-simplify-2 |
| 2982× | rational.json-simplify-51 |
| 2738× | rational.json-simplify-35 |
| 1472× | rational.json-simplify-49 |
| 1080× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 89 | 3640 |
| 1 | 196 | 3640 |
| 2 | 520 | 3640 |
| 3 | 1439 | 3640 |
| 4 | 2857 | 3640 |
| 5 | 3555 | 3640 |
| 6 | 3643 | 3640 |
| 7 | 3708 | 3640 |
| 8 | 3758 | 3640 |
| 9 | 3806 | 3640 |
| 10 | 3854 | 3640 |
| 11 | 3902 | 3640 |
| 12 | 3950 | 3640 |
| 13 | 3998 | 3640 |
| 14 | 4046 | 3640 |
| 15 | 4094 | 3640 |
| 16 | 4142 | 3640 |
| 17 | 4190 | 3640 |
| 18 | 4238 | 3640 |
| 19 | 5095 | 3640 |
| 20 | 6607 | 3640 |
| 21 | 6678 | 3640 |
| 22 | 6678 | 3640 |
| 23 | 6678 | 3640 |
| 24 | 6683 | 3640 |
| 25 | 6731 | 3640 |
| 26 | 6779 | 3640 |
| 27 | 6827 | 3640 |
| 28 | 6875 | 3640 |
| 29 | 6923 | 3640 |
| 30 | 6971 | 3640 |
| 31 | 7019 | 3640 |
| 32 | 7067 | 3640 |
| 33 | 7115 | 3640 |
| 1× | node limit |
| Inputs |
|---|
(*.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 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 (+.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) |
(-.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) |
| Outputs |
|---|
(*.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 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 y x) (*.f64 t z)) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.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)) |
(-.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 0) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 1 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b)))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1/2)) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2) 1/2) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 4 (/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 1/4) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2)) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1/2) 2) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(*.f64 (/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 4) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(/.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2) 2) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(/.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 4) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)) 8) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))) 16) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.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 y x) (+.f64 (*.f64 a b) (*.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 y x) (+.f64 (*.f64 a b) (*.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 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
(pow.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z))) |
Compiled 717 to 242 computations (66.2% saved)
4 alts after pruning (3 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 46 | 3 | 49 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 46 | 4 | 50 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| ▶ | 21.7b | (+.f64 (*.f64 y x) (*.f64 a b)) |
| ▶ | 19.4b | (+.f64 (*.f64 t z) (*.f64 a b)) |
| ▶ | 40.7b | (*.f64 a b) |
Compiled 52 to 36 computations (30.8% saved)
Compiled 11 to 7 computations (36.4% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 t z) (*.f64 a b)) |
Compiled 23 to 9 computations (60.9% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | t | @ | 0 | (+.f64 (*.f64 t z) (*.f64 a b)) |
| 0.0ms | z | @ | -inf | (+.f64 (*.f64 t z) (*.f64 a b)) |
| 0.0ms | t | @ | -inf | (+.f64 (*.f64 t z) (*.f64 a b)) |
| 0.0ms | t | @ | inf | (+.f64 (*.f64 t z) (*.f64 a b)) |
| 0.0ms | z | @ | inf | (+.f64 (*.f64 t z) (*.f64 a b)) |
| 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 t z) (*.f64 a b)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 t z) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1))))) |
| 1× | egg-herbie |
| 5456× | rational.json-simplify-51 |
| 3522× | rational.json-simplify-35 |
| 1350× | rational.json-simplify-49 |
| 1158× | rational.json-simplify-2 |
| 1142× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 56 | 1205 |
| 1 | 124 | 1205 |
| 2 | 427 | 1205 |
| 3 | 1176 | 1205 |
| 4 | 1882 | 1205 |
| 5 | 2740 | 1205 |
| 6 | 3236 | 1205 |
| 7 | 3310 | 1205 |
| 8 | 3358 | 1205 |
| 9 | 3390 | 1205 |
| 10 | 3422 | 1205 |
| 11 | 3454 | 1205 |
| 12 | 3486 | 1205 |
| 13 | 3518 | 1205 |
| 14 | 3550 | 1205 |
| 15 | 3582 | 1205 |
| 16 | 3614 | 1205 |
| 17 | 3646 | 1205 |
| 18 | 3678 | 1205 |
| 19 | 4577 | 1205 |
| 20 | 4836 | 1205 |
| 21 | 4929 | 1205 |
| 22 | 5018 | 1205 |
| 23 | 5105 | 1205 |
| 24 | 5191 | 1205 |
| 25 | 5404 | 1205 |
| 26 | 5404 | 1205 |
| 27 | 5490 | 1205 |
| 28 | 5576 | 1205 |
| 29 | 5662 | 1205 |
| 30 | 5748 | 1205 |
| 31 | 5834 | 1205 |
| 32 | 5920 | 1205 |
| 33 | 6006 | 1205 |
| 34 | 6092 | 1205 |
| 35 | 6178 | 1205 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(-.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 0) |
(*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1) |
(*.f64 1 (+.f64 (*.f64 t z) (*.f64 a b))) |
(*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1/2)) |
(*.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 2) 1/2) |
(*.f64 4 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1/4)) |
(*.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 4) 1/4) |
(*.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8) 1/8) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 2)) |
(*.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 4)) |
(*.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1/4) 4) |
(*.f64 1/8 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8)) |
(/.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1) |
(/.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 2) 2) |
(/.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 4) 4) |
(/.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8)))))) 256) |
(pow.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1) |
| Outputs |
|---|
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 t z) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(-.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 0) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 1 (+.f64 (*.f64 t z) (*.f64 a b))) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1/2)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 2) 1/2) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 4 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1/4)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 4) 1/4) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8) 1/8) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 2)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1/2) 2) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 4)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1/4) 4) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(*.f64 1/8 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8)) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(/.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(/.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 2) 2) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(/.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 4) 4) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(/.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8) 8) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8)) 16) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8))) 32) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8)))) 64) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8))))) 128) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8)))))) 256) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
(pow.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1) |
(+.f64 (*.f64 a b) (*.f64 t z)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 y x) (*.f64 a b)) |
Compiled 23 to 9 computations (60.9% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (+.f64 (*.f64 y x) (*.f64 a b)) |
| 0.0ms | x | @ | inf | (+.f64 (*.f64 y x) (*.f64 a b)) |
| 0.0ms | y | @ | inf | (+.f64 (*.f64 y x) (*.f64 a b)) |
| 0.0ms | y | @ | -inf | (+.f64 (*.f64 y x) (*.f64 a b)) |
| 0.0ms | x | @ | -inf | (+.f64 (*.f64 y x) (*.f64 a b)) |
| 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 a b)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 y x) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 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 a b)) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1))))) |
| 1× | egg-herbie |
| 5456× | rational.json-simplify-51 |
| 3522× | rational.json-simplify-35 |
| 1350× | rational.json-simplify-49 |
| 1158× | rational.json-simplify-2 |
| 1142× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 56 | 1205 |
| 1 | 124 | 1205 |
| 2 | 427 | 1205 |
| 3 | 1176 | 1205 |
| 4 | 1882 | 1205 |
| 5 | 2740 | 1205 |
| 6 | 3236 | 1205 |
| 7 | 3310 | 1205 |
| 8 | 3358 | 1205 |
| 9 | 3390 | 1205 |
| 10 | 3422 | 1205 |
| 11 | 3454 | 1205 |
| 12 | 3486 | 1205 |
| 13 | 3518 | 1205 |
| 14 | 3550 | 1205 |
| 15 | 3582 | 1205 |
| 16 | 3614 | 1205 |
| 17 | 3646 | 1205 |
| 18 | 3678 | 1205 |
| 19 | 4577 | 1205 |
| 20 | 4836 | 1205 |
| 21 | 4929 | 1205 |
| 22 | 5018 | 1205 |
| 23 | 5105 | 1205 |
| 24 | 5191 | 1205 |
| 25 | 5404 | 1205 |
| 26 | 5404 | 1205 |
| 27 | 5490 | 1205 |
| 28 | 5576 | 1205 |
| 29 | 5662 | 1205 |
| 30 | 5748 | 1205 |
| 31 | 5834 | 1205 |
| 32 | 5920 | 1205 |
| 33 | 6006 | 1205 |
| 34 | 6092 | 1205 |
| 35 | 6178 | 1205 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 0) |
(*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1) |
(*.f64 1 (+.f64 (*.f64 y x) (*.f64 a b))) |
(*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1/2)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 2) 1/2) |
(*.f64 4 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1/4)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 4) 1/4) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8) 1/8) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 2)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 4)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1/4) 4) |
(*.f64 1/8 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8)) |
(/.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 2) 2) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 4) 4) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8)))))) 256) |
(pow.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1) |
| Outputs |
|---|
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 a b) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 0) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 1 (+.f64 (*.f64 y x) (*.f64 a b))) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1/2)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 2) 1/2) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 4 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1/4)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 4) 1/4) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8) 1/8) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 2)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1/2) 2) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 4)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1/4) 4) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(*.f64 1/8 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8)) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(/.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 2) 2) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 4) 4) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8) 8) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8)) 16) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8))) 32) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8)))) 64) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8))))) 128) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8)))))) 256) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
(pow.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1) |
(+.f64 (*.f64 a b) (*.f64 y x)) |
Compiled 578 to 237 computations (59% saved)
6 alts after pruning (2 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 50 | 2 | 52 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 3 | 3 |
| Total | 50 | 6 | 56 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| ✓ | 21.7b | (+.f64 (*.f64 y x) (*.f64 a b)) |
| ✓ | 19.4b | (+.f64 (*.f64 t z) (*.f64 a b)) |
| ▶ | 43.8b | (*.f64 y x) |
| ▶ | 41.5b | (*.f64 t z) |
| ✓ | 40.7b | (*.f64 a b) |
Compiled 70 to 50 computations (28.6% saved)
Compiled 11 to 7 computations (36.4% saved)
Compiled 11 to 7 computations (36.4% saved)
Compiled 6 to 6 computations (0% saved)
6 alts after pruning (0 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 5 | 5 |
| Total | 0 | 6 | 6 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| ✓ | 21.7b | (+.f64 (*.f64 y x) (*.f64 a b)) |
| ✓ | 19.4b | (+.f64 (*.f64 t z) (*.f64 a b)) |
| ✓ | 43.8b | (*.f64 y x) |
| ✓ | 41.5b | (*.f64 t z) |
| ✓ | 40.7b | (*.f64 a b) |
Compiled 70 to 50 computations (28.6% saved)
| Inputs |
|---|
(*.f64 a b) |
(*.f64 t z) |
(*.f64 y x) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(+.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:
| 770.0ms | z |
| 202.0ms | (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
| 5.0ms | a |
| 5.0ms | (+.f64 (*.f64 x y) (*.f64 z t)) |
| 5.0ms | x |
| 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 139 to 92 computations (33.8% saved)
| Inputs |
|---|
(*.f64 a b) |
(*.f64 t z) |
(*.f64 y x) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
| Outputs |
|---|
(+.f64 (*.f64 t z) (*.f64 a b)) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(+.f64 (*.f64 y x) (*.f64 a b)) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
7 calls:
| 33.0ms | a |
| 23.0ms | (*.f64 a b) |
| 22.0ms | t |
| 21.0ms | z |
| 21.0ms | b |
| Error | Segments | Branch |
|---|---|---|
| 11.4b | 3 | x |
| 12.2b | 3 | y |
| 8.5b | 5 | z |
| 8.7b | 5 | t |
| 13.7b | 8 | a |
| 14.4b | 5 | b |
| 15.6b | 5 | (*.f64 a b) |
Compiled 80 to 54 computations (32.5% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 0.0ms | 1.540602254683493e-104 | 1.5873273802361234e-104 |
| 15.0ms | -4.271714563109692e-93 | -6.14408019845269e-97 |
| 11.0ms | -4.9489866768753115e-48 | -8.519348270695706e-49 |
| 16.0ms | -2.2497366346240505e+50 | -2.1403919134783494e+47 |
| 37.0ms | 352× | body | 256 | valid |
| 1.0ms | 11× | body | 256 | infinite |
Compiled 642 to 459 computations (28.5% saved)
| Inputs |
|---|
(*.f64 a b) |
(*.f64 t z) |
(*.f64 y x) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
| Outputs |
|---|
(*.f64 y x) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(*.f64 y x) |
(+.f64 (*.f64 t z) (*.f64 a b)) |
(*.f64 y x) |
7 calls:
| 29.0ms | z |
| 23.0ms | x |
| 20.0ms | y |
| 15.0ms | b |
| 14.0ms | (*.f64 a b) |
| Error | Segments | Branch |
|---|---|---|
| 13.3b | 5 | x |
| 14.9b | 4 | y |
| 14.2b | 7 | z |
| 18.0b | 3 | t |
| 17.7b | 3 | a |
| 17.2b | 3 | b |
| 16.9b | 3 | (*.f64 a b) |
Compiled 73 to 53 computations (27.4% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 13.0ms | 9.881478079312102e-94 | 7.156637911933004e-93 |
| 15.0ms | -2.256824450443143e+79 | -4.3511721830603996e+77 |
| 16.0ms | -1.0542151996332628e+112 | -5.632484161569761e+109 |
| 16.0ms | -5.190521675014361e+143 | -5.045532682358022e+141 |
| 50.0ms | 432× | body | 256 | valid |
| 4.0ms | 38× | body | 256 | infinite |
Compiled 674 to 505 computations (25.1% saved)
| Inputs |
|---|
(*.f64 a b) |
(*.f64 t z) |
(*.f64 y x) |
| Outputs |
|---|
(*.f64 t z) |
(*.f64 a b) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 y x) |
(*.f64 a b) |
(*.f64 t z) |
7 calls:
| 40.0ms | z |
| 33.0ms | (*.f64 a b) |
| 32.0ms | a |
| 30.0ms | y |
| 29.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 28.5b | 8 | x |
| 28.2b | 8 | y |
| 23.4b | 11 | z |
| 28.0b | 6 | t |
| 27.1b | 8 | a |
| 29.4b | 5 | b |
| 23.6b | 10 | (*.f64 a b) |
Compiled 66 to 52 computations (21.2% saved)
| 10× | binary-search |
| Time | Left | Right |
|---|---|---|
| 11.0ms | 1.4231474200328664e-98 | 1.05751197324545e-97 |
| 19.0ms | 7.015633400012796e-207 | 6.813485665450702e-190 |
| 18.0ms | 1.0904116236475455e-298 | 1.6000560080963753e-292 |
| 22.0ms | -1.879496843862151e-266 | -4.8823570767496547e-287 |
| 14.0ms | -5.6584341502135746e-254 | -2.425268817086224e-256 |
| 12.0ms | -2.4228242980520465e-211 | -3.800307457912788e-212 |
| 18.0ms | -1.636489839335843e-159 | -2.954836459504426e-166 |
| 18.0ms | -1833595500.6761835 | -88130104.18241411 |
| 12.0ms | -3.021133101932317e+29 | -5.487999806523793e+28 |
| 21.0ms | -2.1394793201422396e+119 | -4.5139981066399615e+112 |
| 147.0ms | 1280× | body | 256 | valid |
| 2.0ms | 21× | body | 256 | infinite |
Compiled 1626 to 1299 computations (20.1% saved)
Total -33.4b remaining (-116%)
Threshold costs -33.4b (-116%)
| Inputs |
|---|
(*.f64 a b) |
(*.f64 t z) |
| Outputs |
|---|
(*.f64 a b) |
(*.f64 t z) |
(*.f64 a b) |
7 calls:
| 17.0ms | y |
| 17.0ms | x |
| 12.0ms | b |
| 12.0ms | (*.f64 a b) |
| 11.0ms | t |
| Error | Segments | Branch |
|---|---|---|
| 35.1b | 6 | x |
| 34.8b | 6 | y |
| 29.9b | 3 | z |
| 31.3b | 3 | t |
| 31.1b | 3 | a |
| 33.3b | 3 | b |
| 28.8b | 3 | (*.f64 a b) |
Compiled 63 to 51 computations (19% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 16.0ms | 4.651102453278589e-34 | 2.6007814514741497e-27 |
| 15.0ms | -1.7083961089523791e+44 | -8.480036501272722e+39 |
| 28.0ms | 272× | body | 256 | valid |
Compiled 332 to 274 computations (17.5% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 80 | 482 |
| 1× | done |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(if (<=.f64 z -245000000000000014798713466774002436674791931904) (+.f64 (*.f64 t z) (*.f64 a b)) (if (<=.f64 z -1933467854852417/411376139330301510538742295639337626245683966408394965837152256) (+.f64 (*.f64 y x) (*.f64 a b)) (if (<=.f64 z -4659508484223285/300613450595050653169853516389035139504087366260264943450533244356122755214669880763353471793250393988087676928) (+.f64 (*.f64 t z) (*.f64 a b)) (if (<=.f64 z 5003109138793385/322781234760863573706989896500376484291213224103652939103832419567580952752105149328705669160017228929487896496593436672) (+.f64 (*.f64 y x) (*.f64 a b)) (+.f64 (*.f64 t z) (*.f64 a b)))))) |
(if (<=.f64 x -250000000000000005936358089662776339352164481957170546868366247167559357385505143142044407054020823532336492283460029018948353292472520393359360) (*.f64 y x) (if (<=.f64 x -7999999999999999654558181133134526067240835818067026254363169724983060860968891905231543447579458576357991120896) (+.f64 (*.f64 t z) (*.f64 a b)) (if (<=.f64 x -11999999999999999279171178543673414636301847816509874899372056415643631196569600) (*.f64 y x) (if (<=.f64 x 32108980623861/4586997231980143023221641790604173881593129978336562247475177678773845752176969616140037106220251373109248) (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 y x))))) |
(if (<=.f64 z -1100000000000000069609375137205813511635074987436080345182813979911015633499725827430355909691574349808143157507915776) (*.f64 t z) (if (<=.f64 z -269999999999999999739349172224) (*.f64 a b) (if (<=.f64 z -1100000000) (*.f64 y x) (if (<=.f64 z -272063441620415/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (*.f64 a b) (if (<=.f64 z -1847784594718251/47379092172262845921294540053176957863064148471578876072358765808900480733837185251796826441303908628860099203403658239934435426150964794660775368501012608007948455078761288621529091968737745508583465551566054344204493617364992) (*.f64 y x) (if (<=.f64 z -4057301999121909/8452712498170643941637436558664265704301557216577944354047371344426782440907597751590676094202515006314790319892114058862117560952042968596008623655407033230534186943984081346699704282822823056848387726531379014466368452684024987821414350380272583623832617294363807973376) (*.f64 a b) (if (<=.f64 z -1767989201857341/1339385758982834151185531311325002263201756014631917009304687985462938813906170153116497973519619822659493341146941433531483931607115392554498072196837321850491820971853028873177634325632796392734744272769130809372947742658424845944895692993259632864321399559710817770957553728956578048354650708508672) (*.f64 y x) (if (<=.f64 z 5982722752821787/92041888504950574475740425768398066361240421321846096523996201552759130012416493123946740389072658442813498306494153399121300361632981310716337884487410751681417161433531128461466736435838000189159978471467522953645133149359340995314643512596903545427635461470508184698852989920501614748075702440767602758254592) (*.f64 a b) (if (<=.f64 z 5365626521545613/2824013958708217496949108842204627863351353911851577524683401930862693830361198499905873920995229996970897865498283996578123296865878390947626553088486946106430796091482716120572632072492703527723757359478834530365734912) (*.f64 y x) (if (<=.f64 z 7849618421937963/76957043352332967211482500195592995713046365762627825523336510555167425334955489475418488779072100860950445293568) (*.f64 a b) (*.f64 t z))))))))))) |
(if (<=.f64 (*.f64 a b) -10999999999999999487916557539463611285504) (*.f64 a b) (if (<=.f64 (*.f64 a b) 5663318844657249/365375409332725729550921208179070754913983135744) (*.f64 t z) (*.f64 a b))) |
(*.f64 a b) |
| Outputs |
|---|
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) |
(if (<=.f64 z -245000000000000014798713466774002436674791931904) (+.f64 (*.f64 t z) (*.f64 a b)) (if (<=.f64 z -1933467854852417/411376139330301510538742295639337626245683966408394965837152256) (+.f64 (*.f64 y x) (*.f64 a b)) (if (<=.f64 z -4659508484223285/300613450595050653169853516389035139504087366260264943450533244356122755214669880763353471793250393988087676928) (+.f64 (*.f64 t z) (*.f64 a b)) (if (<=.f64 z 5003109138793385/322781234760863573706989896500376484291213224103652939103832419567580952752105149328705669160017228929487896496593436672) (+.f64 (*.f64 y x) (*.f64 a b)) (+.f64 (*.f64 t z) (*.f64 a b)))))) |
(if (<=.f64 x -250000000000000005936358089662776339352164481957170546868366247167559357385505143142044407054020823532336492283460029018948353292472520393359360) (*.f64 y x) (if (<=.f64 x -7999999999999999654558181133134526067240835818067026254363169724983060860968891905231543447579458576357991120896) (+.f64 (*.f64 t z) (*.f64 a b)) (if (<=.f64 x -11999999999999999279171178543673414636301847816509874899372056415643631196569600) (*.f64 y x) (if (<=.f64 x 32108980623861/4586997231980143023221641790604173881593129978336562247475177678773845752176969616140037106220251373109248) (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 y x))))) |
(if (<=.f64 z -1100000000000000069609375137205813511635074987436080345182813979911015633499725827430355909691574349808143157507915776) (*.f64 t z) (if (<=.f64 z -269999999999999999739349172224) (*.f64 a b) (if (<=.f64 z -1100000000) (*.f64 y x) (if (<=.f64 z -272063441620415/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (*.f64 a b) (if (<=.f64 z -1847784594718251/47379092172262845921294540053176957863064148471578876072358765808900480733837185251796826441303908628860099203403658239934435426150964794660775368501012608007948455078761288621529091968737745508583465551566054344204493617364992) (*.f64 y x) (if (<=.f64 z -4057301999121909/8452712498170643941637436558664265704301557216577944354047371344426782440907597751590676094202515006314790319892114058862117560952042968596008623655407033230534186943984081346699704282822823056848387726531379014466368452684024987821414350380272583623832617294363807973376) (*.f64 a b) (if (<=.f64 z -1767989201857341/1339385758982834151185531311325002263201756014631917009304687985462938813906170153116497973519619822659493341146941433531483931607115392554498072196837321850491820971853028873177634325632796392734744272769130809372947742658424845944895692993259632864321399559710817770957553728956578048354650708508672) (*.f64 y x) (if (<=.f64 z 5982722752821787/92041888504950574475740425768398066361240421321846096523996201552759130012416493123946740389072658442813498306494153399121300361632981310716337884487410751681417161433531128461466736435838000189159978471467522953645133149359340995314643512596903545427635461470508184698852989920501614748075702440767602758254592) (*.f64 a b) (if (<=.f64 z 5365626521545613/2824013958708217496949108842204627863351353911851577524683401930862693830361198499905873920995229996970897865498283996578123296865878390947626553088486946106430796091482716120572632072492703527723757359478834530365734912) (*.f64 y x) (if (<=.f64 z 7849618421937963/76957043352332967211482500195592995713046365762627825523336510555167425334955489475418488779072100860950445293568) (*.f64 a b) (*.f64 t z))))))))))) |
(if (<=.f64 (*.f64 a b) -10999999999999999487916557539463611285504) (*.f64 a b) (if (<=.f64 (*.f64 a b) 5663318844657249/365375409332725729550921208179070754913983135744) (*.f64 t z) (*.f64 a b))) |
(*.f64 a b) |
Compiled 234 to 116 computations (50.4% saved)
(sort a b)
(sort z t)
(sort x y)
Compiled 306 to 141 computations (53.9% saved)
Loading profile data...