Time bar (total: 16.4s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 4 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 5 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 6 |
| 12.5% | 12.5% | 87.4% | 0.1% | 0% | 0% | 0% | 7 |
| 18.8% | 18.7% | 81.1% | 0.1% | 0% | 0% | 0% | 8 |
| 28.1% | 28.1% | 71.8% | 0.1% | 0% | 0% | 0% | 9 |
| 42.2% | 42.1% | 57.7% | 0.1% | 0% | 0% | 0% | 10 |
| 49.2% | 49.1% | 50.7% | 0.1% | 0% | 0% | 0% | 11 |
| 57.4% | 57.3% | 42.5% | 0.1% | 0% | 0% | 0% | 12 |
Compiled 15 to 9 computations (40% saved)
| 2.0s | 7808× | body | 256 | valid |
| 40.0ms | 195× | body | 1024 | valid |
| 26.0ms | 176× | body | 512 | valid |
| 25.0ms | 77× | body | 2048 | valid |
| 1.0ms | 10× | body | 256 | infinite |
| 2× | egg-herbie |
| 474× | rational.json-simplify-41 |
| 386× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 25 | 124 |
| 1 | 45 | 124 |
| 2 | 85 | 124 |
| 3 | 137 | 124 |
| 4 | 267 | 124 |
| 5 | 428 | 124 |
| 6 | 487 | 124 |
| 7 | 496 | 124 |
| 8 | 496 | 124 |
| 0 | 3 | 3 |
| 1× | saturated |
| 1× | saturated |
| Inputs |
|---|
0 |
1 |
2 |
| Outputs |
|---|
0 |
1 |
2 |
| Inputs |
|---|
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x) |
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 y x) x) y) z) y) |
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 z y) y) z) x) z) |
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x z) z) x) y) x) |
| Outputs |
|---|
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x) |
(+.f64 x (+.f64 (+.f64 x (+.f64 y (+.f64 x y))) z)) |
(+.f64 x (+.f64 x (+.f64 (+.f64 x (+.f64 y y)) z))) |
(+.f64 x (+.f64 x (+.f64 x (+.f64 z (+.f64 y y))))) |
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 y x) x) y) z) y) |
(+.f64 y (+.f64 z (+.f64 y (+.f64 x (+.f64 x y))))) |
(+.f64 y (+.f64 x (+.f64 (+.f64 x (+.f64 y y)) z))) |
(+.f64 x (+.f64 (+.f64 (+.f64 x (+.f64 y y)) z) y)) |
(+.f64 x (+.f64 y (+.f64 x (+.f64 z (+.f64 y y))))) |
(+.f64 x (+.f64 x (+.f64 (+.f64 z (+.f64 y y)) y))) |
(+.f64 x (+.f64 x (+.f64 y (+.f64 z (+.f64 y y))))) |
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 z y) y) z) x) z) |
(+.f64 z (+.f64 x (+.f64 z (+.f64 y (+.f64 y z))))) |
(+.f64 z (+.f64 x (+.f64 z (+.f64 z (+.f64 y y))))) |
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x z) z) x) y) x) |
(+.f64 x (+.f64 y (+.f64 x (+.f64 z (+.f64 x z))))) |
(+.f64 x (+.f64 x (+.f64 (+.f64 x (+.f64 z z)) y))) |
(+.f64 x (+.f64 x (+.f64 y (+.f64 x (+.f64 z z))))) |
(+.f64 x (+.f64 x (+.f64 x (+.f64 (+.f64 z z) y)))) |
(+.f64 (+.f64 z z) (+.f64 x (+.f64 x (+.f64 x y)))) |
Compiled 17 to 11 computations (35.3% saved)
| 1× | egg-herbie |
| 164× | rational.json-simplify-41 |
| 152× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 31 |
| 1 | 15 | 31 |
| 2 | 28 | 31 |
| 3 | 44 | 31 |
| 4 | 81 | 31 |
| 5 | 137 | 31 |
| 6 | 179 | 31 |
| 7 | 186 | 31 |
| 8 | 186 | 31 |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x) |
| Outputs |
|---|
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x) |
(+.f64 x (+.f64 (+.f64 x (+.f64 y (+.f64 x y))) z)) |
(+.f64 x (+.f64 x (+.f64 (+.f64 x (+.f64 y y)) z))) |
(+.f64 (+.f64 x (+.f64 y y)) (+.f64 (+.f64 x z) x)) |
(+.f64 x (+.f64 x (+.f64 x (+.f64 (+.f64 y y) z)))) |
(+.f64 x (+.f64 x (+.f64 x (+.f64 z (+.f64 y y))))) |
(+.f64 x (+.f64 x (+.f64 x (+.f64 y (+.f64 y z))))) |
Compiled 80 to 33 computations (58.8% saved)
3 alts after pruning (3 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 5 | 2 | 7 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 5 | 3 | 8 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.0b | (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x) |
| ▶ | 0.0b | (+.f64 (+.f64 x (+.f64 y y)) (+.f64 (+.f64 x z) x)) |
Compiled 28 to 16 computations (42.9% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 x z) x) |
| ✓ | 0.0b | (+.f64 (+.f64 x (+.f64 y y)) (+.f64 (+.f64 x z) x)) |
Compiled 33 to 8 computations (75.8% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | inf | (+.f64 (+.f64 x (+.f64 y y)) (+.f64 (+.f64 x z) x)) |
| 0.0ms | x | @ | 0 | (+.f64 (+.f64 x (+.f64 y y)) (+.f64 (+.f64 x z) x)) |
| 0.0ms | y | @ | 0 | (+.f64 (+.f64 x (+.f64 y y)) (+.f64 (+.f64 x z) x)) |
| 0.0ms | y | @ | inf | (+.f64 (+.f64 x (+.f64 y y)) (+.f64 (+.f64 x z) x)) |
| 0.0ms | z | @ | 0 | (+.f64 (+.f64 x (+.f64 y y)) (+.f64 (+.f64 x z) x)) |
| 1× | batch-egg-rewrite |
| 2780× | rational.json-simplify-35 |
| 2102× | rational.json-simplify-2 |
| 1622× | rational.json-simplify-1 |
| 1176× | exponential.json-3 |
| 1176× | rational.json-1 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 44 |
| 1 | 70 | 44 |
| 2 | 166 | 44 |
| 3 | 415 | 38 |
| 4 | 1144 | 38 |
| 5 | 2442 | 38 |
| 6 | 3590 | 38 |
| 7 | 4670 | 38 |
| 8 | 5751 | 38 |
| 9 | 6398 | 38 |
| 10 | 6398 | 38 |
| 11 | 6782 | 38 |
| 12 | 7400 | 38 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (+.f64 x (+.f64 y y)) (+.f64 (+.f64 x z) x)) |
(+.f64 (+.f64 x z) x) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (+.f64 x y) (*.f64 (+.f64 x z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 x y) (*.f64 (+.f64 x z) 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z (+.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z (+.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 z (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 x (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z (+.f64 x x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 z (+.f64 x x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z (+.f64 x x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 z (+.f64 x x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 z 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 z (+.f64 x x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 z (+.f64 x x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 z (+.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 z (+.f64 x x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 z (+.f64 x x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 z (+.f64 x x)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 x x)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 x x)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 x x)) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 x x)) 4)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 x x)) 4)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 x x)) 4))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 z (+.f64 x x)) 1))))) |
| 1× | egg-herbie |
| 2808× | rational.json-simplify-35 |
| 2304× | rational.json-simplify-49 |
| 2240× | rational.json-simplify-51 |
| 2210× | rational.json-simplify-2 |
| 1068× | rational.json-simplify-1 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 103 | 1950 |
| 1 | 222 | 1950 |
| 2 | 533 | 1836 |
| 3 | 1409 | 1836 |
| 4 | 2693 | 1836 |
| 5 | 3316 | 1836 |
| 6 | 3409 | 1836 |
| 7 | 3476 | 1836 |
| 8 | 3528 | 1836 |
| 9 | 3578 | 1836 |
| 10 | 3628 | 1836 |
| 11 | 3678 | 1836 |
| 12 | 3728 | 1836 |
| 13 | 3778 | 1836 |
| 14 | 3828 | 1836 |
| 15 | 3878 | 1836 |
| 16 | 3928 | 1836 |
| 17 | 3978 | 1836 |
| 18 | 4028 | 1836 |
| 19 | 4078 | 1836 |
| 20 | 5220 | 1836 |
| 21 | 5359 | 1836 |
| 22 | 5411 | 1836 |
| 23 | 5411 | 1836 |
| 24 | 5411 | 1836 |
| 25 | 6067 | 1836 |
| 26 | 6073 | 1836 |
| 27 | 6123 | 1836 |
| 28 | 6167 | 1836 |
| 29 | 6211 | 1836 |
| 30 | 6255 | 1836 |
| 31 | 6299 | 1836 |
| 32 | 6343 | 1836 |
| 33 | 6387 | 1836 |
| 34 | 6431 | 1836 |
| 35 | 6475 | 1836 |
| 36 | 6519 | 1836 |
| 37 | 6563 | 1836 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 2 y) z) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(*.f64 3 x) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(*.f64 3 x) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (*.f64 2 x) (+.f64 z x)) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(*.f64 2 y) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(*.f64 2 y) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) x)) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
z |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
z |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
z |
(+.f64 (*.f64 2 x) z) |
(+.f64 (*.f64 2 x) z) |
(+.f64 (*.f64 2 x) z) |
(*.f64 2 x) |
(+.f64 (*.f64 2 x) z) |
(+.f64 (*.f64 2 x) z) |
(+.f64 (*.f64 2 x) z) |
(*.f64 2 x) |
(+.f64 (*.f64 2 x) z) |
(+.f64 (*.f64 2 x) z) |
(+.f64 (*.f64 2 x) z) |
(*.f64 2 x) |
(+.f64 (*.f64 2 x) z) |
(+.f64 (*.f64 2 x) z) |
(+.f64 (*.f64 2 x) z) |
z |
(+.f64 (*.f64 2 x) z) |
(+.f64 (*.f64 2 x) z) |
(+.f64 (*.f64 2 x) z) |
z |
(+.f64 (*.f64 2 x) z) |
(+.f64 (*.f64 2 x) z) |
(+.f64 (*.f64 2 x) z) |
(-.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 0) |
(*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 1) |
(*.f64 1 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3))))) |
(*.f64 2 (+.f64 (+.f64 x y) (*.f64 (+.f64 x z) 1/2))) |
(*.f64 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4)) |
(*.f64 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 2)) |
(*.f64 (+.f64 (+.f64 x y) (*.f64 (+.f64 x z) 1/2)) 2) |
(*.f64 1/4 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4)) |
(*.f64 (/.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4) 4) |
(/.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 1) |
(/.f64 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 2) 2) |
(/.f64 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4)))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4))))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4)))))) 128) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4))))))) 256) |
(pow.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 1) |
(-.f64 (+.f64 z (+.f64 x x)) 0) |
(*.f64 (+.f64 z (+.f64 x x)) 1) |
(*.f64 1 (+.f64 z (+.f64 x x))) |
(*.f64 2 (+.f64 x (*.f64 z 1/2))) |
(*.f64 (*.f64 (+.f64 z (+.f64 x x)) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 z (+.f64 x x)) 4)) |
(*.f64 (*.f64 (+.f64 z (+.f64 x x)) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 z (+.f64 x x)) 2)) |
(*.f64 (+.f64 x (*.f64 z 1/2)) 2) |
(*.f64 1/4 (*.f64 (+.f64 z (+.f64 x x)) 4)) |
(*.f64 (/.f64 (+.f64 z (+.f64 x x)) 4) 4) |
(/.f64 (+.f64 z (+.f64 x x)) 1) |
(/.f64 (*.f64 (+.f64 z (+.f64 x x)) 2) 2) |
(/.f64 (*.f64 (+.f64 z (+.f64 x x)) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (+.f64 z (+.f64 x x)) 4)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 x x)) 4))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 x x)) 4)))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 x x)) 4))))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 x x)) 4)))))) 128) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 x x)) 4)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 x x)) 4))))))) 256) |
(pow.f64 (+.f64 z (+.f64 x x)) 1) |
| Outputs |
|---|
(+.f64 (*.f64 2 y) z) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (+.f64 (*.f64 2 y) z) (*.f64 3 x)) |
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x))) |
(+.f64 (*.f64 2 y) (+.f64 z (*.f64 3 x))) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (+.f64 (*.f64 2 y) z) (*.f64 3 x)) |
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x))) |
(+.f64 (*.f64 2 y) (+.f64 z (*.f64 3 x))) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (+.f64 (*.f64 2 y) z) (*.f64 3 x)) |
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x))) |
(+.f64 (*.f64 2 y) (+.f64 z (*.f64 3 x))) |
(*.f64 3 x) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (+.f64 (*.f64 2 y) z) (*.f64 3 x)) |
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x))) |
(+.f64 (*.f64 2 y) (+.f64 z (*.f64 3 x))) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (+.f64 (*.f64 2 y) z) (*.f64 3 x)) |
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x))) |
(+.f64 (*.f64 2 y) (+.f64 z (*.f64 3 x))) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (+.f64 (*.f64 2 y) z) (*.f64 3 x)) |
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x))) |
(+.f64 (*.f64 2 y) (+.f64 z (*.f64 3 x))) |
(*.f64 3 x) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (+.f64 (*.f64 2 y) z) (*.f64 3 x)) |
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x))) |
(+.f64 (*.f64 2 y) (+.f64 z (*.f64 3 x))) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (+.f64 (*.f64 2 y) z) (*.f64 3 x)) |
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x))) |
(+.f64 (*.f64 2 y) (+.f64 z (*.f64 3 x))) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (+.f64 (*.f64 2 y) z) (*.f64 3 x)) |
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 3 x))) |
(+.f64 (*.f64 2 y) (+.f64 z (*.f64 3 x))) |
(+.f64 (*.f64 2 x) (+.f64 z x)) |
(+.f64 x (+.f64 z (*.f64 2 x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 z (+.f64 x (*.f64 2 (+.f64 y x)))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 z (+.f64 x (*.f64 2 (+.f64 y x)))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 z (+.f64 x (*.f64 2 (+.f64 y x)))) |
(*.f64 2 y) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 z (+.f64 x (*.f64 2 (+.f64 y x)))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 z (+.f64 x (*.f64 2 (+.f64 y x)))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 z (+.f64 x (*.f64 2 (+.f64 y x)))) |
(*.f64 2 y) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 z (+.f64 x (*.f64 2 (+.f64 y x)))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 z (+.f64 x (*.f64 2 (+.f64 y x)))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 z (+.f64 x (*.f64 2 (+.f64 y x)))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) x)) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 z (+.f64 x (*.f64 2 (+.f64 y x)))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 z (+.f64 x (*.f64 2 (+.f64 y x)))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 z (+.f64 x (*.f64 2 (+.f64 y x)))) |
z |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 z (+.f64 x (*.f64 2 (+.f64 y x)))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 z (+.f64 x (*.f64 2 (+.f64 y x)))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 z (+.f64 x (*.f64 2 (+.f64 y x)))) |
z |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 z (+.f64 x (*.f64 2 (+.f64 y x)))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 z (+.f64 x (*.f64 2 (+.f64 y x)))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 z (+.f64 x (*.f64 2 (+.f64 y x)))) |
z |
(+.f64 (*.f64 2 x) z) |
(+.f64 z (*.f64 2 x)) |
(+.f64 (*.f64 2 x) z) |
(+.f64 z (*.f64 2 x)) |
(+.f64 (*.f64 2 x) z) |
(+.f64 z (*.f64 2 x)) |
(*.f64 2 x) |
(+.f64 (*.f64 2 x) z) |
(+.f64 z (*.f64 2 x)) |
(+.f64 (*.f64 2 x) z) |
(+.f64 z (*.f64 2 x)) |
(+.f64 (*.f64 2 x) z) |
(+.f64 z (*.f64 2 x)) |
(*.f64 2 x) |
(+.f64 (*.f64 2 x) z) |
(+.f64 z (*.f64 2 x)) |
(+.f64 (*.f64 2 x) z) |
(+.f64 z (*.f64 2 x)) |
(+.f64 (*.f64 2 x) z) |
(+.f64 z (*.f64 2 x)) |
(*.f64 2 x) |
(+.f64 (*.f64 2 x) z) |
(+.f64 z (*.f64 2 x)) |
(+.f64 (*.f64 2 x) z) |
(+.f64 z (*.f64 2 x)) |
(+.f64 (*.f64 2 x) z) |
(+.f64 z (*.f64 2 x)) |
z |
(+.f64 (*.f64 2 x) z) |
(+.f64 z (*.f64 2 x)) |
(+.f64 (*.f64 2 x) z) |
(+.f64 z (*.f64 2 x)) |
(+.f64 (*.f64 2 x) z) |
(+.f64 z (*.f64 2 x)) |
z |
(+.f64 (*.f64 2 x) z) |
(+.f64 z (*.f64 2 x)) |
(+.f64 (*.f64 2 x) z) |
(+.f64 z (*.f64 2 x)) |
(+.f64 (*.f64 2 x) z) |
(+.f64 z (*.f64 2 x)) |
(-.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 0) |
(+.f64 y (+.f64 y (+.f64 z (*.f64 3 x)))) |
(+.f64 y (+.f64 (*.f64 3 x) (+.f64 z y))) |
(+.f64 y (+.f64 z (+.f64 y (*.f64 3 x)))) |
(*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 1) |
(+.f64 y (+.f64 y (+.f64 z (*.f64 3 x)))) |
(+.f64 y (+.f64 (*.f64 3 x) (+.f64 z y))) |
(+.f64 y (+.f64 z (+.f64 y (*.f64 3 x)))) |
(*.f64 1 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3))))) |
(+.f64 y (+.f64 y (+.f64 z (*.f64 3 x)))) |
(+.f64 y (+.f64 (*.f64 3 x) (+.f64 z y))) |
(+.f64 y (+.f64 z (+.f64 y (*.f64 3 x)))) |
(*.f64 2 (+.f64 (+.f64 x y) (*.f64 (+.f64 x z) 1/2))) |
(*.f64 2 (+.f64 (+.f64 y x) (*.f64 (+.f64 z x) 1/2))) |
(*.f64 2 (+.f64 x (+.f64 y (*.f64 (+.f64 z x) 1/2)))) |
(*.f64 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 2) 1/2) |
(+.f64 y (+.f64 y (+.f64 z (*.f64 3 x)))) |
(+.f64 y (+.f64 (*.f64 3 x) (+.f64 z y))) |
(+.f64 y (+.f64 z (+.f64 y (*.f64 3 x)))) |
(*.f64 4 (/.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4)) |
(+.f64 y (+.f64 y (+.f64 z (*.f64 3 x)))) |
(+.f64 y (+.f64 (*.f64 3 x) (+.f64 z y))) |
(+.f64 y (+.f64 z (+.f64 y (*.f64 3 x)))) |
(*.f64 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4) 1/4) |
(+.f64 y (+.f64 y (+.f64 z (*.f64 3 x)))) |
(+.f64 y (+.f64 (*.f64 3 x) (+.f64 z y))) |
(+.f64 y (+.f64 z (+.f64 y (*.f64 3 x)))) |
(*.f64 1/2 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 2)) |
(+.f64 y (+.f64 y (+.f64 z (*.f64 3 x)))) |
(+.f64 y (+.f64 (*.f64 3 x) (+.f64 z y))) |
(+.f64 y (+.f64 z (+.f64 y (*.f64 3 x)))) |
(*.f64 (+.f64 (+.f64 x y) (*.f64 (+.f64 x z) 1/2)) 2) |
(*.f64 2 (+.f64 (+.f64 y x) (*.f64 (+.f64 z x) 1/2))) |
(*.f64 2 (+.f64 x (+.f64 y (*.f64 (+.f64 z x) 1/2)))) |
(*.f64 1/4 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4)) |
(+.f64 y (+.f64 y (+.f64 z (*.f64 3 x)))) |
(+.f64 y (+.f64 (*.f64 3 x) (+.f64 z y))) |
(+.f64 y (+.f64 z (+.f64 y (*.f64 3 x)))) |
(*.f64 (/.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4) 4) |
(+.f64 y (+.f64 y (+.f64 z (*.f64 3 x)))) |
(+.f64 y (+.f64 (*.f64 3 x) (+.f64 z y))) |
(+.f64 y (+.f64 z (+.f64 y (*.f64 3 x)))) |
(/.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 1) |
(+.f64 y (+.f64 y (+.f64 z (*.f64 3 x)))) |
(+.f64 y (+.f64 (*.f64 3 x) (+.f64 z y))) |
(+.f64 y (+.f64 z (+.f64 y (*.f64 3 x)))) |
(/.f64 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 2) 2) |
(+.f64 y (+.f64 y (+.f64 z (*.f64 3 x)))) |
(+.f64 y (+.f64 (*.f64 3 x) (+.f64 z y))) |
(+.f64 y (+.f64 z (+.f64 y (*.f64 3 x)))) |
(/.f64 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4) 4) |
(+.f64 y (+.f64 y (+.f64 z (*.f64 3 x)))) |
(+.f64 y (+.f64 (*.f64 3 x) (+.f64 z y))) |
(+.f64 y (+.f64 z (+.f64 y (*.f64 3 x)))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4)) 8) |
(+.f64 y (+.f64 y (+.f64 z (*.f64 3 x)))) |
(+.f64 y (+.f64 (*.f64 3 x) (+.f64 z y))) |
(+.f64 y (+.f64 z (+.f64 y (*.f64 3 x)))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4))) 16) |
(+.f64 y (+.f64 y (+.f64 z (*.f64 3 x)))) |
(+.f64 y (+.f64 (*.f64 3 x) (+.f64 z y))) |
(+.f64 y (+.f64 z (+.f64 y (*.f64 3 x)))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4)))) 32) |
(+.f64 y (+.f64 y (+.f64 z (*.f64 3 x)))) |
(+.f64 y (+.f64 (*.f64 3 x) (+.f64 z y))) |
(+.f64 y (+.f64 z (+.f64 y (*.f64 3 x)))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4))))) 64) |
(+.f64 y (+.f64 y (+.f64 z (*.f64 3 x)))) |
(+.f64 y (+.f64 (*.f64 3 x) (+.f64 z y))) |
(+.f64 y (+.f64 z (+.f64 y (*.f64 3 x)))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4)))))) 128) |
(+.f64 y (+.f64 y (+.f64 z (*.f64 3 x)))) |
(+.f64 y (+.f64 (*.f64 3 x) (+.f64 z y))) |
(+.f64 y (+.f64 z (+.f64 y (*.f64 3 x)))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 4))))))) 256) |
(+.f64 y (+.f64 y (+.f64 z (*.f64 3 x)))) |
(+.f64 y (+.f64 (*.f64 3 x) (+.f64 z y))) |
(+.f64 y (+.f64 z (+.f64 y (*.f64 3 x)))) |
(pow.f64 (+.f64 y (+.f64 y (+.f64 z (*.f64 x 3)))) 1) |
(+.f64 y (+.f64 y (+.f64 z (*.f64 3 x)))) |
(+.f64 y (+.f64 (*.f64 3 x) (+.f64 z y))) |
(+.f64 y (+.f64 z (+.f64 y (*.f64 3 x)))) |
(-.f64 (+.f64 z (+.f64 x x)) 0) |
(+.f64 z (+.f64 x x)) |
(+.f64 x (+.f64 z x)) |
(*.f64 (+.f64 z (+.f64 x x)) 1) |
(+.f64 z (+.f64 x x)) |
(+.f64 x (+.f64 z x)) |
(*.f64 1 (+.f64 z (+.f64 x x))) |
(+.f64 z (+.f64 x x)) |
(+.f64 x (+.f64 z x)) |
(*.f64 2 (+.f64 x (*.f64 z 1/2))) |
(*.f64 (*.f64 (+.f64 z (+.f64 x x)) 2) 1/2) |
(+.f64 z (+.f64 x x)) |
(+.f64 x (+.f64 z x)) |
(*.f64 4 (/.f64 (+.f64 z (+.f64 x x)) 4)) |
(+.f64 z (+.f64 x x)) |
(+.f64 x (+.f64 z x)) |
(*.f64 (*.f64 (+.f64 z (+.f64 x x)) 4) 1/4) |
(+.f64 z (+.f64 x x)) |
(+.f64 x (+.f64 z x)) |
(*.f64 1/2 (*.f64 (+.f64 z (+.f64 x x)) 2)) |
(+.f64 z (+.f64 x x)) |
(+.f64 x (+.f64 z x)) |
(*.f64 (+.f64 x (*.f64 z 1/2)) 2) |
(*.f64 2 (+.f64 x (*.f64 z 1/2))) |
(*.f64 1/4 (*.f64 (+.f64 z (+.f64 x x)) 4)) |
(+.f64 z (+.f64 x x)) |
(+.f64 x (+.f64 z x)) |
(*.f64 (/.f64 (+.f64 z (+.f64 x x)) 4) 4) |
(+.f64 z (+.f64 x x)) |
(+.f64 x (+.f64 z x)) |
(/.f64 (+.f64 z (+.f64 x x)) 1) |
(+.f64 z (+.f64 x x)) |
(+.f64 x (+.f64 z x)) |
(/.f64 (*.f64 (+.f64 z (+.f64 x x)) 2) 2) |
(+.f64 z (+.f64 x x)) |
(+.f64 x (+.f64 z x)) |
(/.f64 (*.f64 (+.f64 z (+.f64 x x)) 4) 4) |
(+.f64 z (+.f64 x x)) |
(+.f64 x (+.f64 z x)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 z (+.f64 x x)) 4)) 8) |
(+.f64 z (+.f64 x x)) |
(+.f64 x (+.f64 z x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 x x)) 4))) 16) |
(+.f64 z (+.f64 x x)) |
(+.f64 x (+.f64 z x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 x x)) 4)))) 32) |
(+.f64 z (+.f64 x x)) |
(+.f64 x (+.f64 z x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 x x)) 4))))) 64) |
(+.f64 z (+.f64 x x)) |
(+.f64 x (+.f64 z x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 x x)) 4)))))) 128) |
(+.f64 z (+.f64 x x)) |
(+.f64 x (+.f64 z x)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 x x)) 4)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 x x)) 4))))))) 256) |
(+.f64 z (+.f64 x x)) |
(+.f64 x (+.f64 z x)) |
(pow.f64 (+.f64 z (+.f64 x x)) 1) |
(+.f64 z (+.f64 x x)) |
(+.f64 x (+.f64 z x)) |
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x) |
| ✓ | 0.0b | (+.f64 (+.f64 (+.f64 x y) y) x) |
| ✓ | 0.0b | (+.f64 (+.f64 x y) y) |
Compiled 41 to 8 computations (80.5% saved)
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | inf | (+.f64 (+.f64 x y) y) |
| 0.0ms | x | @ | 0 | (+.f64 (+.f64 x y) y) |
| 0.0ms | x | @ | -inf | (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x) |
| 0.0ms | x | @ | -inf | (+.f64 (+.f64 (+.f64 x y) y) x) |
| 0.0ms | z | @ | -inf | (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x) |
| 1× | batch-egg-rewrite |
| 3452× | rational.json-simplify-35 |
| 1866× | rational.json-simplify-2 |
| 1240× | rational.json-simplify-1 |
| 1190× | exponential.json-3 |
| 1190× | rational.json-1 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 63 |
| 1 | 67 | 63 |
| 2 | 147 | 51 |
| 3 | 355 | 51 |
| 4 | 902 | 51 |
| 5 | 1978 | 51 |
| 6 | 2958 | 51 |
| 7 | 3982 | 51 |
| 8 | 5123 | 51 |
| 9 | 5704 | 51 |
| 10 | 5704 | 51 |
| 11 | 5982 | 51 |
| 12 | 5982 | 51 |
| 13 | 6946 | 51 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (+.f64 x y) y) |
(+.f64 (+.f64 (+.f64 x y) y) x) |
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (+.f64 y y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 y (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 x (*.f64 y 4))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (+.f64 y y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (+.f64 y y)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 x (+.f64 x (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (*.f64 x 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (+.f64 y y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (+.f64 y y)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 y y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 x (*.f64 y 4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (+.f64 y y)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 y y)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 y y)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 y y)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 y y)) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 y y)) 4)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 y y)) 4))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 y y)) 4))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 y y)) 4)))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (+.f64 y y)) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 x y) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x y) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (+.f64 x y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 x y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) 8) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x y) 1/2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x y) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x y) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x y) 4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x y) 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x y) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x y) 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x y) 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x y) 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x y) 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x y) 8))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x y) 8))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x y) 8)))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 x y) 2) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4)))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 1))))) |
| 1× | egg-herbie |
| 3826× | rational.json-simplify-1 |
| 2708× | rational.json-simplify-41 |
| 2272× | rational.json-simplify-35 |
| 2104× | rational.json-simplify-2 |
| 1420× | rational.json-simplify-51 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 140 | 2946 |
| 1 | 313 | 2460 |
| 2 | 740 | 2460 |
| 3 | 2244 | 2460 |
| 4 | 2971 | 2460 |
| 5 | 3222 | 2460 |
| 6 | 3335 | 2460 |
| 7 | 3401 | 2460 |
| 8 | 3465 | 2460 |
| 9 | 6331 | 2460 |
| 10 | 6537 | 2460 |
| 11 | 6656 | 2460 |
| 12 | 6734 | 2460 |
| 13 | 6795 | 2460 |
| 14 | 6856 | 2460 |
| 15 | 7469 | 2460 |
| 16 | 7530 | 2460 |
| 17 | 7530 | 2460 |
| 18 | 7530 | 2460 |
| 19 | 7591 | 2460 |
| 20 | 7652 | 2460 |
| 21 | 7713 | 2460 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 2 y) |
(+.f64 (*.f64 2 y) x) |
(+.f64 (*.f64 2 y) x) |
(+.f64 (*.f64 2 y) x) |
x |
(+.f64 (*.f64 2 y) x) |
(+.f64 (*.f64 2 y) x) |
(+.f64 (*.f64 2 y) x) |
x |
(+.f64 (*.f64 2 y) x) |
(+.f64 (*.f64 2 y) x) |
(+.f64 (*.f64 2 y) x) |
x |
(+.f64 (*.f64 2 y) x) |
(+.f64 (*.f64 2 y) x) |
(+.f64 (*.f64 2 y) x) |
(*.f64 2 y) |
(+.f64 (*.f64 2 y) x) |
(+.f64 (*.f64 2 y) x) |
(+.f64 (*.f64 2 y) x) |
(*.f64 2 y) |
(+.f64 (*.f64 2 y) x) |
(+.f64 (*.f64 2 y) x) |
(+.f64 (*.f64 2 y) x) |
(*.f64 2 y) |
(+.f64 (*.f64 2 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 x) (*.f64 2 y)) |
(*.f64 2 x) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 x) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 x) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 y) |
(+.f64 (*.f64 2 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 x) (*.f64 2 y)) |
(*.f64 2 y) |
(+.f64 (*.f64 2 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) z) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(*.f64 3 x) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(*.f64 3 x) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (*.f64 2 x) (+.f64 z x)) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(*.f64 2 y) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(*.f64 2 y) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) x)) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
z |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
z |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(-.f64 (+.f64 x (+.f64 y y)) 0) |
(*.f64 (+.f64 x (+.f64 y y)) 1) |
(*.f64 1 (+.f64 x (+.f64 y y))) |
(*.f64 2 (+.f64 y (*.f64 x 1/2))) |
(*.f64 (+.f64 x (+.f64 x (*.f64 y 4))) 1/2) |
(*.f64 4 (/.f64 (+.f64 x (+.f64 y y)) 4)) |
(*.f64 (*.f64 (+.f64 x (+.f64 y y)) 4) 1/4) |
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 y 4)))) |
(*.f64 (+.f64 y (*.f64 x 1/2)) 2) |
(*.f64 1/4 (*.f64 (+.f64 x (+.f64 y y)) 4)) |
(*.f64 (/.f64 (+.f64 x (+.f64 y y)) 4) 4) |
(/.f64 (+.f64 x (+.f64 y y)) 1) |
(/.f64 (+.f64 x (+.f64 x (*.f64 y 4))) 2) |
(/.f64 (*.f64 (+.f64 x (+.f64 y y)) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 y y)) 4)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 y y)) 4))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 y y)) 4)))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 y y)) 4))))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 y y)) 4)))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 y y)) 4))))))) 256) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 y y)) 4))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 y y)) 4)))))))) 512) |
(pow.f64 (+.f64 x (+.f64 y y)) 1) |
(-.f64 (*.f64 (+.f64 x y) 2) 0) |
(*.f64 (+.f64 x y) 2) |
(*.f64 (*.f64 (+.f64 x y) 2) 1) |
(*.f64 1 (*.f64 (+.f64 x y) 2)) |
(*.f64 2 (+.f64 x y)) |
(*.f64 (*.f64 (+.f64 x y) 4) 1/2) |
(*.f64 4 (*.f64 (+.f64 x y) 1/2)) |
(*.f64 (*.f64 (+.f64 x y) 8) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 x y) 4)) |
(*.f64 (*.f64 (+.f64 x y) 1/2) 4) |
(*.f64 1/4 (*.f64 (+.f64 x y) 8)) |
(/.f64 (*.f64 (+.f64 x y) 2) 1) |
(/.f64 (*.f64 (+.f64 x y) 4) 2) |
(/.f64 (*.f64 (+.f64 x y) 8) 4) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x y) 8)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x y) 8))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x y) 8)))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x y) 8))))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x y) 8)))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x y) 8))))))) 256) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x y) 8))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x y) 8)))))))) 512) |
(pow.f64 (*.f64 (+.f64 x y) 2) 1) |
(-.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 0) |
(*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 1) |
(*.f64 1 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z))) |
(*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 1/2)) |
(*.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4)) |
(*.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 2)) |
(*.f64 1/4 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4)) |
(*.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 1/2) 2) |
(*.f64 (/.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4) 4) |
(/.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 1) |
(/.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 2) 2) |
(/.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4)))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4))))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4)))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4))))))) 256) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4)))))))) 512) |
(pow.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 1) |
| Outputs |
|---|
(*.f64 2 y) |
(+.f64 (*.f64 2 y) x) |
(+.f64 (*.f64 2 y) x) |
(+.f64 (*.f64 2 y) x) |
x |
(+.f64 (*.f64 2 y) x) |
(+.f64 (*.f64 2 y) x) |
(+.f64 (*.f64 2 y) x) |
x |
(+.f64 (*.f64 2 y) x) |
(+.f64 (*.f64 2 y) x) |
(+.f64 (*.f64 2 y) x) |
x |
(+.f64 (*.f64 2 y) x) |
(+.f64 (*.f64 2 y) x) |
(+.f64 (*.f64 2 y) x) |
(*.f64 2 y) |
(+.f64 (*.f64 2 y) x) |
(+.f64 (*.f64 2 y) x) |
(+.f64 (*.f64 2 y) x) |
(*.f64 2 y) |
(+.f64 (*.f64 2 y) x) |
(+.f64 (*.f64 2 y) x) |
(+.f64 (*.f64 2 y) x) |
(*.f64 2 y) |
(+.f64 (*.f64 2 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(+.f64 (*.f64 2 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(+.f64 (*.f64 2 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(*.f64 2 x) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(*.f64 2 x) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(*.f64 2 x) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(*.f64 2 y) |
(+.f64 (*.f64 2 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(+.f64 (*.f64 2 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(+.f64 (*.f64 2 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(*.f64 2 y) |
(+.f64 (*.f64 2 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(+.f64 (*.f64 2 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(+.f64 (*.f64 2 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(+.f64 (*.f64 2 y) z) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (*.f64 2 y) (+.f64 z (*.f64 x 3))) |
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 x 3))) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (*.f64 2 y) (+.f64 z (*.f64 x 3))) |
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 x 3))) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (*.f64 2 y) (+.f64 z (*.f64 x 3))) |
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 x 3))) |
(*.f64 3 x) |
(*.f64 x 3) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (*.f64 2 y) (+.f64 z (*.f64 x 3))) |
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 x 3))) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (*.f64 2 y) (+.f64 z (*.f64 x 3))) |
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 x 3))) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (*.f64 2 y) (+.f64 z (*.f64 x 3))) |
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 x 3))) |
(*.f64 3 x) |
(*.f64 x 3) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (*.f64 2 y) (+.f64 z (*.f64 x 3))) |
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 x 3))) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (*.f64 2 y) (+.f64 z (*.f64 x 3))) |
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 x 3))) |
(+.f64 (*.f64 3 x) (+.f64 (*.f64 2 y) z)) |
(+.f64 (*.f64 2 y) (+.f64 z (*.f64 x 3))) |
(+.f64 z (+.f64 (*.f64 2 y) (*.f64 x 3))) |
(+.f64 (*.f64 2 x) (+.f64 z x)) |
(+.f64 (*.f64 2 x) (+.f64 x z)) |
(+.f64 x (+.f64 (*.f64 2 x) z)) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(*.f64 2 y) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(*.f64 2 y) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) x)) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
z |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
z |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) (+.f64 z x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(-.f64 (+.f64 x (+.f64 y y)) 0) |
(+.f64 x (+.f64 y y)) |
(+.f64 y (+.f64 y x)) |
(*.f64 (+.f64 x (+.f64 y y)) 1) |
(+.f64 x (+.f64 y y)) |
(+.f64 y (+.f64 y x)) |
(*.f64 1 (+.f64 x (+.f64 y y))) |
(+.f64 x (+.f64 y y)) |
(+.f64 y (+.f64 y x)) |
(*.f64 2 (+.f64 y (*.f64 x 1/2))) |
(*.f64 (+.f64 x (+.f64 x (*.f64 y 4))) 1/2) |
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 y 4)))) |
(*.f64 1/2 (+.f64 (*.f64 y 4) (+.f64 x x))) |
(*.f64 4 (/.f64 (+.f64 x (+.f64 y y)) 4)) |
(+.f64 x (+.f64 y y)) |
(+.f64 y (+.f64 y x)) |
(*.f64 (*.f64 (+.f64 x (+.f64 y y)) 4) 1/4) |
(+.f64 x (+.f64 y y)) |
(+.f64 y (+.f64 y x)) |
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 y 4)))) |
(*.f64 1/2 (+.f64 (*.f64 y 4) (+.f64 x x))) |
(*.f64 (+.f64 y (*.f64 x 1/2)) 2) |
(*.f64 2 (+.f64 y (*.f64 x 1/2))) |
(*.f64 1/4 (*.f64 (+.f64 x (+.f64 y y)) 4)) |
(+.f64 x (+.f64 y y)) |
(+.f64 y (+.f64 y x)) |
(*.f64 (/.f64 (+.f64 x (+.f64 y y)) 4) 4) |
(+.f64 x (+.f64 y y)) |
(+.f64 y (+.f64 y x)) |
(/.f64 (+.f64 x (+.f64 y y)) 1) |
(+.f64 x (+.f64 y y)) |
(+.f64 y (+.f64 y x)) |
(/.f64 (+.f64 x (+.f64 x (*.f64 y 4))) 2) |
(/.f64 (+.f64 (*.f64 y 4) (+.f64 x x)) 2) |
(/.f64 (*.f64 (+.f64 x (+.f64 y y)) 4) 4) |
(+.f64 x (+.f64 y y)) |
(+.f64 y (+.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 y y)) 4)) 8) |
(+.f64 x (+.f64 y y)) |
(+.f64 y (+.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 y y)) 4))) 16) |
(+.f64 x (+.f64 y y)) |
(+.f64 y (+.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 y y)) 4)))) 32) |
(+.f64 x (+.f64 y y)) |
(+.f64 y (+.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 y y)) 4))))) 64) |
(+.f64 x (+.f64 y y)) |
(+.f64 y (+.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 y y)) 4)))))) 128) |
(+.f64 x (+.f64 y y)) |
(+.f64 y (+.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 y y)) 4))))))) 256) |
(+.f64 x (+.f64 y y)) |
(+.f64 y (+.f64 y x)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 y y)) 4))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 y y)) 4)))))))) 512) |
(+.f64 x (+.f64 y y)) |
(+.f64 y (+.f64 y x)) |
(pow.f64 (+.f64 x (+.f64 y y)) 1) |
(+.f64 x (+.f64 y y)) |
(+.f64 y (+.f64 y x)) |
(-.f64 (*.f64 (+.f64 x y) 2) 0) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(*.f64 (+.f64 x y) 2) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(*.f64 (*.f64 (+.f64 x y) 2) 1) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(*.f64 1 (*.f64 (+.f64 x y) 2)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(*.f64 2 (+.f64 x y)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(*.f64 (*.f64 (+.f64 x y) 4) 1/2) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(*.f64 4 (*.f64 (+.f64 x y) 1/2)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(*.f64 (*.f64 (+.f64 x y) 8) 1/4) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(*.f64 1/2 (*.f64 (+.f64 x y) 4)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(*.f64 (*.f64 (+.f64 x y) 1/2) 4) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(*.f64 1/4 (*.f64 (+.f64 x y) 8)) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(/.f64 (*.f64 (+.f64 x y) 2) 1) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(/.f64 (*.f64 (+.f64 x y) 4) 2) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(/.f64 (*.f64 (+.f64 x y) 8) 4) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x y) 8)) 8) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x y) 8))) 16) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x y) 8)))) 32) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x y) 8))))) 64) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x y) 8)))))) 128) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x y) 8))))))) 256) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x y) 8))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x y) 8)))))))) 512) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(pow.f64 (*.f64 (+.f64 x y) 2) 1) |
(+.f64 (*.f64 2 y) (*.f64 2 x)) |
(*.f64 2 (+.f64 y x)) |
(-.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 0) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 1) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(*.f64 1 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 1/2)) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(*.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 2) 1/2) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(*.f64 4 (/.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4)) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(*.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4) 1/4) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(*.f64 1/2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 2)) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(*.f64 1/4 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4)) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(*.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 1/2) 2) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(*.f64 (/.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4) 4) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(/.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 1) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(/.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 2) 2) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(/.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4) 4) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4)) 8) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4))) 16) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4)))) 32) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4))))) 64) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4)))))) 128) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4))))))) 256) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 4)))))))) 512) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
(pow.f64 (+.f64 x (+.f64 (*.f64 (+.f64 x y) 2) z)) 1) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 x z))) |
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))) |
(+.f64 (+.f64 x z) (*.f64 2 (+.f64 y x))) |
Compiled 2210 to 1289 computations (41.7% saved)
6 alts after pruning (6 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 157 | 6 | 163 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 0 | 1 |
| Total | 159 | 6 | 165 |
| Status | Error | Program |
|---|---|---|
| ▶ | 20.3b | (+.f64 (*.f64 2 y) z) |
| ▶ | 23.4b | (+.f64 (*.f64 2 x) (+.f64 z x)) |
| ▶ | 20.0b | (+.f64 x (*.f64 2 (+.f64 y x))) |
| ▶ | 42.7b | (*.f64 x 3) |
| ▶ | 39.9b | (*.f64 2 y) |
| 43.6b | z |
Compiled 84 to 63 computations (25% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 x (*.f64 2 (+.f64 y x))) |
Compiled 21 to 10 computations (52.4% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (+.f64 x (*.f64 2 (+.f64 y x))) |
| 0.0ms | x | @ | 0 | (+.f64 x (*.f64 2 (+.f64 y x))) |
| 0.0ms | x | @ | inf | (+.f64 x (*.f64 2 (+.f64 y x))) |
| 0.0ms | x | @ | -inf | (+.f64 x (*.f64 2 (+.f64 y x))) |
| 0.0ms | y | @ | inf | (+.f64 x (*.f64 2 (+.f64 y x))) |
| 1× | batch-egg-rewrite |
| 3162× | rational.json-simplify-35 |
| 1982× | rational.json-simplify-2 |
| 1206× | rational.json-simplify-1 |
| 1140× | exponential.json-3 |
| 1140× | rational.json-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 19 |
| 1 | 53 | 19 |
| 2 | 109 | 19 |
| 3 | 215 | 19 |
| 4 | 418 | 19 |
| 5 | 1005 | 19 |
| 6 | 2339 | 19 |
| 7 | 3824 | 19 |
| 8 | 4581 | 19 |
| 9 | 5405 | 19 |
| 10 | 5896 | 19 |
| 11 | 5896 | 19 |
| 12 | 6416 | 19 |
| 13 | 6630 | 19 |
| 14 | 7125 | 19 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 x (*.f64 2 (+.f64 y x))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 x (+.f64 y (*.f64 x 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 2 (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 x (*.f64 (+.f64 x y) 4))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (+.f64 (*.f64 (+.f64 x y) 1/2) (*.f64 x 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 x (+.f64 x (*.f64 (+.f64 x y) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (+.f64 x y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y (*.f64 x 1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (+.f64 x y) 1/2) (*.f64 x 1/4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 x x) (*.f64 (+.f64 x y) 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 x (*.f64 (+.f64 x y) 4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8)))))))) 1024)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 1))))) |
| 1× | egg-herbie |
| 4462× | rational.json-simplify-41 |
| 1618× | rational.json-simplify-51 |
| 1610× | rational.json-simplify-2 |
| 1350× | rational.json-simplify-35 |
| 582× | rational.json-simplify-1 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 81 | 1181 |
| 1 | 172 | 1181 |
| 2 | 395 | 977 |
| 3 | 1266 | 977 |
| 4 | 2409 | 977 |
| 5 | 2900 | 977 |
| 6 | 2971 | 977 |
| 7 | 3021 | 977 |
| 8 | 3061 | 977 |
| 9 | 3100 | 977 |
| 10 | 4023 | 977 |
| 11 | 4100 | 977 |
| 12 | 4137 | 977 |
| 13 | 4171 | 977 |
| 14 | 4201 | 977 |
| 15 | 4231 | 977 |
| 16 | 4696 | 977 |
| 17 | 4729 | 977 |
| 18 | 4762 | 977 |
| 19 | 4792 | 977 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 2 y) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(*.f64 3 x) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(*.f64 3 x) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 x) x) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) x)) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) x)) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) x)) |
(*.f64 2 y) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) x)) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) x)) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) x)) |
(*.f64 2 y) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) x)) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) x)) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) x)) |
(-.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 0) |
(*.f64 2 (+.f64 x (+.f64 y (*.f64 x 1/2)))) |
(*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 1) |
(*.f64 1 (+.f64 x (*.f64 2 (+.f64 x y)))) |
(*.f64 (+.f64 x (+.f64 x (*.f64 (+.f64 x y) 4))) 1/2) |
(*.f64 4 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 1/4)) |
(*.f64 4 (+.f64 (*.f64 (+.f64 x y) 1/2) (*.f64 x 1/4))) |
(*.f64 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 4) 1/4) |
(*.f64 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8) 1/8) |
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 (+.f64 x y) 4)))) |
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (+.f64 x y) 4))) |
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 4)) |
(*.f64 (+.f64 x (+.f64 y (*.f64 x 1/2))) 2) |
(*.f64 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 1/4) 4) |
(*.f64 1/8 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8)) |
(*.f64 (+.f64 (*.f64 (+.f64 x y) 1/2) (*.f64 x 1/4)) 4) |
(*.f64 (+.f64 (+.f64 x x) (*.f64 (+.f64 x y) 4)) 1/2) |
(/.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 1) |
(/.f64 (+.f64 x (+.f64 x (*.f64 (+.f64 x y) 4))) 2) |
(/.f64 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 4) 4) |
(/.f64 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8)))))) 256) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8))))))) 512) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8)))))))) 1024) |
(pow.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 1) |
| Outputs |
|---|
(*.f64 2 y) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(*.f64 3 x) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(*.f64 3 x) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(+.f64 (*.f64 2 x) x) |
(+.f64 x (*.f64 2 x)) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) x)) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) x)) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) x)) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 2 y) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) x)) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) x)) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) x)) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 2 y) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) x)) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) x)) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 y) x)) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(-.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 0) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 2 (+.f64 x (+.f64 y (*.f64 x 1/2)))) |
(*.f64 2 (+.f64 y (+.f64 x (*.f64 x 1/2)))) |
(*.f64 2 (+.f64 (+.f64 y x) (*.f64 x 1/2))) |
(*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 1) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 1 (+.f64 x (*.f64 2 (+.f64 x y)))) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 (+.f64 x (+.f64 x (*.f64 (+.f64 x y) 4))) 1/2) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 4 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 1/4)) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 4 (+.f64 (*.f64 (+.f64 x y) 1/2) (*.f64 x 1/4))) |
(*.f64 4 (+.f64 (*.f64 (+.f64 y x) 1/2) (*.f64 x 1/4))) |
(*.f64 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 4) 1/4) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8) 1/8) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 (+.f64 x y) 4)))) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (+.f64 x y) 4))) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 4)) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 (+.f64 x (+.f64 y (*.f64 x 1/2))) 2) |
(*.f64 2 (+.f64 x (+.f64 y (*.f64 x 1/2)))) |
(*.f64 2 (+.f64 y (+.f64 x (*.f64 x 1/2)))) |
(*.f64 2 (+.f64 (+.f64 y x) (*.f64 x 1/2))) |
(*.f64 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 1/4) 4) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 1/8 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8)) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 (+.f64 (*.f64 (+.f64 x y) 1/2) (*.f64 x 1/4)) 4) |
(*.f64 4 (+.f64 (*.f64 (+.f64 y x) 1/2) (*.f64 x 1/4))) |
(*.f64 (+.f64 (+.f64 x x) (*.f64 (+.f64 x y) 4)) 1/2) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(/.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 1) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(/.f64 (+.f64 x (+.f64 x (*.f64 (+.f64 x y) 4))) 2) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(/.f64 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 4) 4) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(/.f64 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8) 8) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8)) 16) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8))) 32) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8)))) 64) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8))))) 128) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8)))))) 256) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8))))))) 512) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 8)))))))) 1024) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(pow.f64 (+.f64 x (*.f64 2 (+.f64 x y))) 1) |
(+.f64 (*.f64 2 y) (+.f64 x (*.f64 2 x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
Compiled 8 to 6 computations (25% saved)
Compiled 8 to 6 computations (25% saved)
Compiled 14 to 9 computations (35.7% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 2 x) (+.f64 z x)) |
Compiled 19 to 10 computations (47.4% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | inf | (+.f64 (*.f64 2 x) (+.f64 z x)) |
| 0.0ms | x | @ | -inf | (+.f64 (*.f64 2 x) (+.f64 z x)) |
| 0.0ms | z | @ | -inf | (+.f64 (*.f64 2 x) (+.f64 z x)) |
| 0.0ms | x | @ | 0 | (+.f64 (*.f64 2 x) (+.f64 z x)) |
| 0.0ms | z | @ | inf | (+.f64 (*.f64 2 x) (+.f64 z x)) |
| 1× | batch-egg-rewrite |
| 2242× | rational.json-simplify-2 |
| 2240× | rational.json-simplify-35 |
| 1580× | rational.json-simplify-1 |
| 1214× | exponential.json-3 |
| 1214× | rational.json-1 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 19 |
| 1 | 55 | 19 |
| 2 | 122 | 13 |
| 3 | 254 | 13 |
| 4 | 544 | 13 |
| 5 | 1356 | 13 |
| 6 | 3208 | 13 |
| 7 | 5263 | 13 |
| 8 | 6248 | 13 |
| 9 | 7003 | 13 |
| 10 | 7003 | 13 |
| 11 | 7003 | 13 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 2 x) (+.f64 z x)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z (*.f64 x 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 z 1/2) (*.f64 x 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z (*.f64 x 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 z (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z (+.f64 z (*.f64 x 6))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 z (*.f64 x 3)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (+.f64 (*.f64 x 1/2) (*.f64 (+.f64 x z) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z (*.f64 x 3)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z (*.f64 x 3)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 z (+.f64 z (*.f64 x 6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 z z) (*.f64 x 6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 x 4) (*.f64 2 (+.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 z 1/2) (*.f64 x 3/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 z (*.f64 x 3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z (*.f64 x 3)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 z (*.f64 x 3)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 z z) (*.f64 x 6)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 1/2) (*.f64 (+.f64 x z) 1/4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 4) (*.f64 2 (+.f64 x z))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 z (*.f64 x 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 z (+.f64 z (*.f64 x 6))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 z (*.f64 x 3)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 z (*.f64 x 3)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 z (*.f64 x 3)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (*.f64 x 3)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (*.f64 x 3)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (*.f64 x 3)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (*.f64 x 3)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (*.f64 x 3)) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 z (*.f64 x 3)) 1))))) |
| 1× | egg-herbie |
| 3180× | rational.json-simplify-1 |
| 2580× | rational.json-simplify-41 |
| 2008× | rational.json-simplify-35 |
| 1522× | rational.json-simplify-49 |
| 1484× | rational.json-simplify-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 78 | 620 |
| 1 | 150 | 620 |
| 2 | 351 | 620 |
| 3 | 1089 | 620 |
| 4 | 1942 | 620 |
| 5 | 2277 | 620 |
| 6 | 2342 | 620 |
| 7 | 2390 | 620 |
| 8 | 2428 | 620 |
| 9 | 2465 | 620 |
| 10 | 5015 | 620 |
| 11 | 5508 | 620 |
| 12 | 5556 | 620 |
| 13 | 5591 | 620 |
| 14 | 5622 | 620 |
| 15 | 5651 | 620 |
| 16 | 5680 | 620 |
| 17 | 5719 | 620 |
| 18 | 5747 | 620 |
| 19 | 5775 | 620 |
| 20 | 5803 | 620 |
| 21 | 5831 | 620 |
| 22 | 5859 | 620 |
| 23 | 5887 | 620 |
| 24 | 5915 | 620 |
| 25 | 5943 | 620 |
| 26 | 7340 | 620 |
| 27 | 7396 | 620 |
| 28 | 7448 | 620 |
| 29 | 7476 | 620 |
| 30 | 7504 | 620 |
| 31 | 7532 | 620 |
| 32 | 7560 | 620 |
| 33 | 7588 | 620 |
| 34 | 7616 | 620 |
| 35 | 7644 | 620 |
| 36 | 7672 | 620 |
| 37 | 7700 | 620 |
| 38 | 7728 | 620 |
| 1× | node limit |
| Inputs |
|---|
z |
(+.f64 (*.f64 3 x) z) |
(+.f64 (*.f64 3 x) z) |
(+.f64 (*.f64 3 x) z) |
(*.f64 3 x) |
(+.f64 (*.f64 3 x) z) |
(+.f64 (*.f64 3 x) z) |
(+.f64 (*.f64 3 x) z) |
(*.f64 3 x) |
(+.f64 (*.f64 3 x) z) |
(+.f64 (*.f64 3 x) z) |
(+.f64 (*.f64 3 x) z) |
(+.f64 (*.f64 2 x) x) |
z |
z |
(-.f64 (+.f64 z (*.f64 x 3)) 0) |
(*.f64 2 (+.f64 (*.f64 z 1/2) (*.f64 x 3/2))) |
(*.f64 (+.f64 z (*.f64 x 3)) 1) |
(*.f64 1 (+.f64 z (*.f64 x 3))) |
(*.f64 (+.f64 z (+.f64 z (*.f64 x 6))) 1/2) |
(*.f64 4 (*.f64 (+.f64 z (*.f64 x 3)) 1/4)) |
(*.f64 4 (+.f64 (*.f64 x 1/2) (*.f64 (+.f64 x z) 1/4))) |
(*.f64 (*.f64 (+.f64 z (*.f64 x 3)) 4) 1/4) |
(*.f64 (*.f64 (+.f64 z (*.f64 x 3)) 8) 1/8) |
(*.f64 1/2 (+.f64 z (+.f64 z (*.f64 x 6)))) |
(*.f64 1/2 (+.f64 (+.f64 z z) (*.f64 x 6))) |
(*.f64 1/2 (+.f64 (*.f64 x 4) (*.f64 2 (+.f64 x z)))) |
(*.f64 (+.f64 (*.f64 z 1/2) (*.f64 x 3/2)) 2) |
(*.f64 1/4 (*.f64 (+.f64 z (*.f64 x 3)) 4)) |
(*.f64 (*.f64 (+.f64 z (*.f64 x 3)) 1/4) 4) |
(*.f64 1/8 (*.f64 (+.f64 z (*.f64 x 3)) 8)) |
(*.f64 (+.f64 (+.f64 z z) (*.f64 x 6)) 1/2) |
(*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (+.f64 x z) 1/4)) 4) |
(*.f64 (+.f64 (*.f64 x 4) (*.f64 2 (+.f64 x z))) 1/2) |
(/.f64 (+.f64 z (*.f64 x 3)) 1) |
(/.f64 (+.f64 z (+.f64 z (*.f64 x 6))) 2) |
(/.f64 (*.f64 (+.f64 z (*.f64 x 3)) 4) 4) |
(/.f64 (*.f64 (+.f64 z (*.f64 x 3)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 z (*.f64 x 3)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (*.f64 x 3)) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (*.f64 x 3)) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (*.f64 x 3)) 8))))) 128) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (*.f64 x 3)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (*.f64 x 3)) 8)))))) 256) |
(pow.f64 (+.f64 z (*.f64 x 3)) 1) |
| Outputs |
|---|
z |
(+.f64 (*.f64 3 x) z) |
(+.f64 z (*.f64 3 x)) |
(+.f64 (*.f64 3 x) z) |
(+.f64 z (*.f64 3 x)) |
(+.f64 (*.f64 3 x) z) |
(+.f64 z (*.f64 3 x)) |
(*.f64 3 x) |
(+.f64 (*.f64 3 x) z) |
(+.f64 z (*.f64 3 x)) |
(+.f64 (*.f64 3 x) z) |
(+.f64 z (*.f64 3 x)) |
(+.f64 (*.f64 3 x) z) |
(+.f64 z (*.f64 3 x)) |
(*.f64 3 x) |
(+.f64 (*.f64 3 x) z) |
(+.f64 z (*.f64 3 x)) |
(+.f64 (*.f64 3 x) z) |
(+.f64 z (*.f64 3 x)) |
(+.f64 (*.f64 3 x) z) |
(+.f64 z (*.f64 3 x)) |
(+.f64 (*.f64 2 x) x) |
(+.f64 x (*.f64 x 2)) |
z |
z |
(-.f64 (+.f64 z (*.f64 x 3)) 0) |
(+.f64 z (*.f64 3 x)) |
(*.f64 2 (+.f64 (*.f64 z 1/2) (*.f64 x 3/2))) |
(*.f64 (+.f64 z (*.f64 x 3)) 1) |
(+.f64 z (*.f64 3 x)) |
(*.f64 1 (+.f64 z (*.f64 x 3))) |
(+.f64 z (*.f64 3 x)) |
(*.f64 (+.f64 z (+.f64 z (*.f64 x 6))) 1/2) |
(+.f64 z (*.f64 3 x)) |
(*.f64 4 (*.f64 (+.f64 z (*.f64 x 3)) 1/4)) |
(+.f64 z (*.f64 3 x)) |
(*.f64 4 (+.f64 (*.f64 x 1/2) (*.f64 (+.f64 x z) 1/4))) |
(*.f64 4 (+.f64 (*.f64 x 1/2) (*.f64 1/4 (+.f64 z x)))) |
(*.f64 (*.f64 (+.f64 z (*.f64 x 3)) 4) 1/4) |
(+.f64 z (*.f64 3 x)) |
(*.f64 (*.f64 (+.f64 z (*.f64 x 3)) 8) 1/8) |
(+.f64 z (*.f64 3 x)) |
(*.f64 1/2 (+.f64 z (+.f64 z (*.f64 x 6)))) |
(+.f64 z (*.f64 3 x)) |
(*.f64 1/2 (+.f64 (+.f64 z z) (*.f64 x 6))) |
(+.f64 z (*.f64 3 x)) |
(*.f64 1/2 (+.f64 (*.f64 x 4) (*.f64 2 (+.f64 x z)))) |
(*.f64 1/2 (+.f64 (*.f64 x 4) (*.f64 2 (+.f64 z x)))) |
(*.f64 (+.f64 (*.f64 z 1/2) (*.f64 x 3/2)) 2) |
(*.f64 2 (+.f64 (*.f64 z 1/2) (*.f64 x 3/2))) |
(*.f64 1/4 (*.f64 (+.f64 z (*.f64 x 3)) 4)) |
(+.f64 z (*.f64 3 x)) |
(*.f64 (*.f64 (+.f64 z (*.f64 x 3)) 1/4) 4) |
(+.f64 z (*.f64 3 x)) |
(*.f64 1/8 (*.f64 (+.f64 z (*.f64 x 3)) 8)) |
(+.f64 z (*.f64 3 x)) |
(*.f64 (+.f64 (+.f64 z z) (*.f64 x 6)) 1/2) |
(+.f64 z (*.f64 3 x)) |
(*.f64 (+.f64 (*.f64 x 1/2) (*.f64 (+.f64 x z) 1/4)) 4) |
(*.f64 4 (+.f64 (*.f64 x 1/2) (*.f64 1/4 (+.f64 z x)))) |
(*.f64 (+.f64 (*.f64 x 4) (*.f64 2 (+.f64 x z))) 1/2) |
(*.f64 1/2 (+.f64 (*.f64 x 4) (*.f64 2 (+.f64 z x)))) |
(/.f64 (+.f64 z (*.f64 x 3)) 1) |
(+.f64 z (*.f64 3 x)) |
(/.f64 (+.f64 z (+.f64 z (*.f64 x 6))) 2) |
(+.f64 z (*.f64 3 x)) |
(/.f64 (*.f64 (+.f64 z (*.f64 x 3)) 4) 4) |
(+.f64 z (*.f64 3 x)) |
(/.f64 (*.f64 (+.f64 z (*.f64 x 3)) 8) 8) |
(+.f64 z (*.f64 3 x)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 z (*.f64 x 3)) 8)) 16) |
(+.f64 z (*.f64 3 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (*.f64 x 3)) 8))) 32) |
(+.f64 z (*.f64 3 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (*.f64 x 3)) 8)))) 64) |
(+.f64 z (*.f64 3 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (*.f64 x 3)) 8))))) 128) |
(+.f64 z (*.f64 3 x)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (*.f64 x 3)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (*.f64 x 3)) 8)))))) 256) |
(+.f64 z (*.f64 3 x)) |
(pow.f64 (+.f64 z (*.f64 x 3)) 1) |
(+.f64 z (*.f64 3 x)) |
Compiled 826 to 580 computations (29.8% saved)
7 alts after pruning (3 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 77 | 2 | 79 |
| Fresh | 0 | 1 | 1 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 4 | 4 |
| Total | 78 | 7 | 85 |
| Status | Error | Program |
|---|---|---|
| ▶ | 20.8b | (/.f64 (+.f64 x (+.f64 x (*.f64 (+.f64 x y) 4))) 2) |
| ▶ | 23.4b | (+.f64 (*.f64 3 x) z) |
| ✓ | 20.3b | (+.f64 (*.f64 2 y) z) |
| ✓ | 20.0b | (+.f64 x (*.f64 2 (+.f64 y x))) |
| ✓ | 42.7b | (*.f64 x 3) |
| ✓ | 39.9b | (*.f64 2 y) |
| 43.6b | z |
Compiled 56 to 42 computations (25% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 3 x) z) |
Compiled 14 to 9 computations (35.7% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | z | @ | 0 | (+.f64 (*.f64 3 x) z) |
| 0.0ms | x | @ | 0 | (+.f64 (*.f64 3 x) z) |
| 0.0ms | x | @ | inf | (+.f64 (*.f64 3 x) z) |
| 0.0ms | z | @ | inf | (+.f64 (*.f64 3 x) z) |
| 0.0ms | z | @ | -inf | (+.f64 (*.f64 3 x) z) |
| 1× | batch-egg-rewrite |
| 2280× | rational.json-simplify-35 |
| 2072× | rational.json-simplify-2 |
| 1304× | rational.json-1 |
| 1304× | rational.json-2 |
| 1304× | rational.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 46 | 13 |
| 2 | 99 | 13 |
| 3 | 203 | 13 |
| 4 | 379 | 13 |
| 5 | 842 | 13 |
| 6 | 2164 | 13 |
| 7 | 3839 | 13 |
| 8 | 4521 | 13 |
| 9 | 5558 | 13 |
| 10 | 6241 | 13 |
| 11 | 6241 | 13 |
| 12 | 7159 | 13 |
| 13 | 7159 | 13 |
| 14 | 7736 | 13 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 3 x) z) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 3 x) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 3 x) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 3 x) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 z 1/2) (*.f64 x 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 z z) (*.f64 x 6)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (*.f64 3 x) z) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 3 x) z) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 3 x) z) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 z z) (*.f64 x 6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 z 1/2) (*.f64 x 3/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 3 x) z) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 3 x) z) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 (*.f64 3 x) z) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 3 x) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 z z) (*.f64 x 6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 3 x) z) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 3 x) z) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) z) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) z) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) z) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) z) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) z) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) z) 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) z) 8))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 3 x) z) 1))))) |
| 1× | egg-herbie |
| 3240× | rational.json-simplify-1 |
| 2518× | rational.json-simplify-41 |
| 2034× | rational.json-simplify-35 |
| 1570× | rational.json-simplify-2 |
| 1366× | rational.json-simplify-51 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 62 | 360 |
| 1 | 130 | 360 |
| 2 | 338 | 360 |
| 3 | 1138 | 360 |
| 4 | 2108 | 360 |
| 5 | 2476 | 360 |
| 6 | 2543 | 360 |
| 7 | 2592 | 360 |
| 8 | 2631 | 360 |
| 9 | 2669 | 360 |
| 10 | 5252 | 360 |
| 11 | 5344 | 360 |
| 12 | 5393 | 360 |
| 13 | 5430 | 360 |
| 14 | 5462 | 360 |
| 15 | 5492 | 360 |
| 16 | 5950 | 360 |
| 17 | 5980 | 360 |
| 18 | 6009 | 360 |
| 19 | 6038 | 360 |
| 20 | 6067 | 360 |
| 21 | 6096 | 360 |
| 22 | 6125 | 360 |
| 23 | 6154 | 360 |
| 24 | 6183 | 360 |
| 25 | 6212 | 360 |
| 26 | 7632 | 360 |
| 27 | 7691 | 360 |
| 28 | 7746 | 360 |
| 29 | 7775 | 360 |
| 30 | 7804 | 360 |
| 31 | 7833 | 360 |
| 32 | 7862 | 360 |
| 33 | 7891 | 360 |
| 34 | 7920 | 360 |
| 35 | 7949 | 360 |
| 36 | 7978 | 360 |
| 1× | node limit |
| Inputs |
|---|
z |
(*.f64 3 x) |
(*.f64 3 x) |
(*.f64 3 x) |
z |
z |
(-.f64 (+.f64 (*.f64 3 x) z) 0) |
(*.f64 (+.f64 (*.f64 3 x) z) 1) |
(*.f64 1 (+.f64 (*.f64 3 x) z)) |
(*.f64 2 (+.f64 (*.f64 z 1/2) (*.f64 x 3/2))) |
(*.f64 (+.f64 (+.f64 z z) (*.f64 x 6)) 1/2) |
(*.f64 4 (*.f64 (+.f64 (*.f64 3 x) z) 1/4)) |
(*.f64 (*.f64 (+.f64 (*.f64 3 x) z) 4) 1/4) |
(*.f64 (*.f64 (+.f64 (*.f64 3 x) z) 8) 1/8) |
(*.f64 1/2 (+.f64 (+.f64 z z) (*.f64 x 6))) |
(*.f64 (+.f64 (*.f64 z 1/2) (*.f64 x 3/2)) 2) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 3 x) z) 4)) |
(*.f64 (*.f64 (+.f64 (*.f64 3 x) z) 1/4) 4) |
(*.f64 1/8 (*.f64 (+.f64 (*.f64 3 x) z) 8)) |
(/.f64 (+.f64 (*.f64 3 x) z) 1) |
(/.f64 (+.f64 (+.f64 z z) (*.f64 x 6)) 2) |
(/.f64 (*.f64 (+.f64 (*.f64 3 x) z) 4) 4) |
(/.f64 (*.f64 (+.f64 (*.f64 3 x) z) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) z) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) z) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) z) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) z) 8))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) z) 8)))))) 256) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) z) 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) z) 8))))))) 512) |
(pow.f64 (+.f64 (*.f64 3 x) z) 1) |
| Outputs |
|---|
z |
(*.f64 3 x) |
(*.f64 3 x) |
(*.f64 3 x) |
z |
z |
(-.f64 (+.f64 (*.f64 3 x) z) 0) |
(+.f64 z (*.f64 3 x)) |
(*.f64 (+.f64 (*.f64 3 x) z) 1) |
(+.f64 z (*.f64 3 x)) |
(*.f64 1 (+.f64 (*.f64 3 x) z)) |
(+.f64 z (*.f64 3 x)) |
(*.f64 2 (+.f64 (*.f64 z 1/2) (*.f64 x 3/2))) |
(*.f64 (+.f64 (+.f64 z z) (*.f64 x 6)) 1/2) |
(+.f64 z (*.f64 3 x)) |
(*.f64 4 (*.f64 (+.f64 (*.f64 3 x) z) 1/4)) |
(+.f64 z (*.f64 3 x)) |
(*.f64 (*.f64 (+.f64 (*.f64 3 x) z) 4) 1/4) |
(+.f64 z (*.f64 3 x)) |
(*.f64 (*.f64 (+.f64 (*.f64 3 x) z) 8) 1/8) |
(+.f64 z (*.f64 3 x)) |
(*.f64 1/2 (+.f64 (+.f64 z z) (*.f64 x 6))) |
(+.f64 z (*.f64 3 x)) |
(*.f64 (+.f64 (*.f64 z 1/2) (*.f64 x 3/2)) 2) |
(*.f64 2 (+.f64 (*.f64 z 1/2) (*.f64 x 3/2))) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 3 x) z) 4)) |
(+.f64 z (*.f64 3 x)) |
(*.f64 (*.f64 (+.f64 (*.f64 3 x) z) 1/4) 4) |
(+.f64 z (*.f64 3 x)) |
(*.f64 1/8 (*.f64 (+.f64 (*.f64 3 x) z) 8)) |
(+.f64 z (*.f64 3 x)) |
(/.f64 (+.f64 (*.f64 3 x) z) 1) |
(+.f64 z (*.f64 3 x)) |
(/.f64 (+.f64 (+.f64 z z) (*.f64 x 6)) 2) |
(+.f64 z (*.f64 3 x)) |
(/.f64 (*.f64 (+.f64 (*.f64 3 x) z) 4) 4) |
(+.f64 z (*.f64 3 x)) |
(/.f64 (*.f64 (+.f64 (*.f64 3 x) z) 8) 8) |
(+.f64 z (*.f64 3 x)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) z) 8)) 16) |
(+.f64 z (*.f64 3 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) z) 8))) 32) |
(+.f64 z (*.f64 3 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) z) 8)))) 64) |
(+.f64 z (*.f64 3 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) z) 8))))) 128) |
(+.f64 z (*.f64 3 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) z) 8)))))) 256) |
(+.f64 z (*.f64 3 x)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) z) 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) z) 8))))))) 512) |
(+.f64 z (*.f64 3 x)) |
(pow.f64 (+.f64 (*.f64 3 x) z) 1) |
(+.f64 z (*.f64 3 x)) |
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 x (*.f64 (+.f64 x y) 4)) |
| ✓ | 0.2b | (+.f64 x (+.f64 x (*.f64 (+.f64 x y) 4))) |
| ✓ | 0.6b | (/.f64 (+.f64 x (+.f64 x (*.f64 (+.f64 x y) 4))) 2) |
Compiled 42 to 21 computations (50% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | 0 | (/.f64 (+.f64 x (+.f64 x (*.f64 (+.f64 x y) 4))) 2) |
| 0.0ms | x | @ | inf | (/.f64 (+.f64 x (+.f64 x (*.f64 (+.f64 x y) 4))) 2) |
| 0.0ms | y | @ | inf | (/.f64 (+.f64 x (+.f64 x (*.f64 (+.f64 x y) 4))) 2) |
| 0.0ms | y | @ | 0 | (/.f64 (+.f64 x (+.f64 x (*.f64 (+.f64 x y) 4))) 2) |
| 0.0ms | y | @ | -inf | (/.f64 (+.f64 x (+.f64 x (*.f64 (+.f64 x y) 4))) 2) |
| 1× | batch-egg-rewrite |
| 2572× | rational.json-simplify-35 |
| 2196× | rational.json-simplify-2 |
| 1868× | rational.json-simplify-1 |
| 1262× | exponential.json-3 |
| 1262× | rational.json-1 |
Useful iterations: 6 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 75 |
| 1 | 75 | 75 |
| 2 | 157 | 75 |
| 3 | 340 | 75 |
| 4 | 707 | 75 |
| 5 | 1874 | 75 |
| 6 | 3573 | 63 |
| 7 | 4423 | 63 |
| 8 | 5845 | 63 |
| 9 | 6756 | 63 |
| 10 | 6756 | 63 |
| 11 | 7247 | 63 |
| 12 | 7247 | 63 |
| 1× | node limit |
| Inputs |
|---|
(/.f64 (+.f64 x (+.f64 x (*.f64 (+.f64 x y) 4))) 2) |
(+.f64 x (+.f64 x (*.f64 (+.f64 x y) 4))) |
(+.f64 x (*.f64 (+.f64 x y) 4)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 (+.f64 x y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 x (*.f64 (+.f64 x y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x y) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 1/2) (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 (+.f64 x y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 2))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8) 1/16)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/16 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 x (*.f64 (+.f64 x y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 8) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 1/2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 (+.f64 x y) 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (*.f64 (+.f64 x y) 4)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 (+.f64 x y) 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (+.f64 x y) 2) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 (+.f64 x y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 x x) (*.f64 (+.f64 x y) 8)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (+.f64 x y) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (+.f64 x y) 2) (*.f64 x 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 (+.f64 x y) 4)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 (+.f64 x y) 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 x x) (*.f64 (+.f64 x y) 8)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4)))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4))))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4)))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4)))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4))))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (*.f64 (+.f64 x y) 4)) 1))))) |
| 1× | egg-herbie |
| 3424× | rational.json-simplify-51 |
| 2350× | rational.json-simplify-35 |
| 1594× | rational.json-simplify-1 |
| 1364× | rational.json-simplify-2 |
| 812× | rational.json-simplify-41 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 131 | 2723 |
| 1 | 265 | 2555 |
| 2 | 577 | 2555 |
| 3 | 1713 | 2555 |
| 4 | 4148 | 2555 |
| 5 | 5060 | 2555 |
| 6 | 5195 | 2555 |
| 7 | 5269 | 2555 |
| 8 | 5331 | 2555 |
| 9 | 5391 | 2555 |
| 10 | 5451 | 2555 |
| 11 | 5511 | 2555 |
| 12 | 5571 | 2555 |
| 13 | 5631 | 2555 |
| 14 | 5691 | 2555 |
| 15 | 5751 | 2555 |
| 16 | 5811 | 2555 |
| 17 | 5871 | 2555 |
| 18 | 5931 | 2555 |
| 19 | 5931 | 2555 |
| 20 | 7744 | 2555 |
| 21 | 7848 | 2555 |
| 22 | 7858 | 2555 |
| 23 | 7916 | 2555 |
| 24 | 7968 | 2555 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 2 y) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(*.f64 3 x) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(*.f64 3 x) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(*.f64 1/2 (+.f64 (*.f64 2 x) (*.f64 4 x))) |
(+.f64 (*.f64 2 y) (*.f64 1/2 (+.f64 (*.f64 2 x) (*.f64 4 x)))) |
(+.f64 (*.f64 2 y) (*.f64 1/2 (+.f64 (*.f64 2 x) (*.f64 4 x)))) |
(+.f64 (*.f64 2 y) (*.f64 1/2 (+.f64 (*.f64 2 x) (*.f64 4 x)))) |
(*.f64 2 y) |
(+.f64 (*.f64 2 y) (*.f64 1/2 (+.f64 (*.f64 2 x) (*.f64 4 x)))) |
(+.f64 (*.f64 2 y) (*.f64 1/2 (+.f64 (*.f64 2 x) (*.f64 4 x)))) |
(+.f64 (*.f64 2 y) (*.f64 1/2 (+.f64 (*.f64 2 x) (*.f64 4 x)))) |
(*.f64 2 y) |
(+.f64 (*.f64 2 y) (*.f64 1/2 (+.f64 (*.f64 2 x) (*.f64 4 x)))) |
(+.f64 (*.f64 2 y) (*.f64 1/2 (+.f64 (*.f64 2 x) (*.f64 4 x)))) |
(+.f64 (*.f64 2 y) (*.f64 1/2 (+.f64 (*.f64 2 x) (*.f64 4 x)))) |
(*.f64 4 y) |
(+.f64 (*.f64 6 x) (*.f64 4 y)) |
(+.f64 (*.f64 6 x) (*.f64 4 y)) |
(+.f64 (*.f64 6 x) (*.f64 4 y)) |
(*.f64 6 x) |
(+.f64 (*.f64 6 x) (*.f64 4 y)) |
(+.f64 (*.f64 6 x) (*.f64 4 y)) |
(+.f64 (*.f64 6 x) (*.f64 4 y)) |
(*.f64 6 x) |
(+.f64 (*.f64 6 x) (*.f64 4 y)) |
(+.f64 (*.f64 6 x) (*.f64 4 y)) |
(+.f64 (*.f64 6 x) (*.f64 4 y)) |
(+.f64 (*.f64 2 x) (*.f64 4 x)) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 4 y) (*.f64 4 x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 4 y) (*.f64 4 x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 4 y) (*.f64 4 x))) |
(*.f64 4 y) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 4 y) (*.f64 4 x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 4 y) (*.f64 4 x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 4 y) (*.f64 4 x))) |
(*.f64 4 y) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 4 y) (*.f64 4 x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 4 y) (*.f64 4 x))) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 4 y) (*.f64 4 x))) |
(*.f64 4 y) |
(+.f64 (*.f64 5 x) (*.f64 4 y)) |
(+.f64 (*.f64 5 x) (*.f64 4 y)) |
(+.f64 (*.f64 5 x) (*.f64 4 y)) |
(*.f64 5 x) |
(+.f64 (*.f64 5 x) (*.f64 4 y)) |
(+.f64 (*.f64 5 x) (*.f64 4 y)) |
(+.f64 (*.f64 5 x) (*.f64 4 y)) |
(*.f64 5 x) |
(+.f64 (*.f64 5 x) (*.f64 4 y)) |
(+.f64 (*.f64 5 x) (*.f64 4 y)) |
(+.f64 (*.f64 5 x) (*.f64 4 y)) |
(+.f64 (*.f64 4 x) x) |
(+.f64 (*.f64 4 y) (+.f64 (*.f64 4 x) x)) |
(+.f64 (*.f64 4 y) (+.f64 (*.f64 4 x) x)) |
(+.f64 (*.f64 4 y) (+.f64 (*.f64 4 x) x)) |
(*.f64 4 y) |
(+.f64 (*.f64 4 y) (+.f64 (*.f64 4 x) x)) |
(+.f64 (*.f64 4 y) (+.f64 (*.f64 4 x) x)) |
(+.f64 (*.f64 4 y) (+.f64 (*.f64 4 x) x)) |
(*.f64 4 y) |
(+.f64 (*.f64 4 y) (+.f64 (*.f64 4 x) x)) |
(+.f64 (*.f64 4 y) (+.f64 (*.f64 4 x) x)) |
(+.f64 (*.f64 4 y) (+.f64 (*.f64 4 x) x)) |
(+.f64 x (*.f64 (+.f64 x y) 2)) |
(+.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 0) |
(+.f64 0 (+.f64 x (*.f64 (+.f64 x y) 2))) |
(+.f64 (*.f64 (+.f64 x y) 2) x) |
(+.f64 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 1/2) (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 1/2)) |
(-.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 0) |
(*.f64 4 (/.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 4)) |
(*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 1/2) |
(*.f64 2 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 1/2)) |
(*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 1) |
(*.f64 1 (+.f64 x (*.f64 (+.f64 x y) 2))) |
(*.f64 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 2))) 1/4) |
(*.f64 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 8) 1/8) |
(*.f64 1/2 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x))) |
(*.f64 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8) 1/16) |
(*.f64 1/4 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 2)))) |
(*.f64 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 1/2) 2) |
(*.f64 1/8 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 8)) |
(*.f64 (/.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 4) 4) |
(*.f64 1/16 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8)) |
(pow.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 1) |
(-.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 0) |
(*.f64 4 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 1/2)) |
(*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 1) |
(*.f64 2 (+.f64 x (*.f64 (+.f64 x y) 2))) |
(*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 2) |
(*.f64 1 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x))) |
(*.f64 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 2))) 1/2) |
(*.f64 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 8) 1/4) |
(*.f64 1/2 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 2)))) |
(*.f64 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8) 1/8) |
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 8)) |
(*.f64 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 1/2) 4) |
(*.f64 1/8 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8)) |
(/.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 1) |
(/.f64 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 2))) 2) |
(/.f64 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 8) 4) |
(/.f64 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8)))))) 256) |
(pow.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 1) |
(-.f64 (+.f64 x (*.f64 (+.f64 x y) 4)) 0) |
(*.f64 4 (/.f64 (+.f64 x (*.f64 (+.f64 x y) 4)) 4)) |
(*.f64 (+.f64 x (*.f64 (+.f64 x y) 4)) 1) |
(*.f64 2 (+.f64 (*.f64 (+.f64 x y) 2) (*.f64 x 1/2))) |
(*.f64 1 (+.f64 x (*.f64 (+.f64 x y) 4))) |
(*.f64 (+.f64 (+.f64 x x) (*.f64 (+.f64 x y) 8)) 1/2) |
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (+.f64 x y) 8))) |
(*.f64 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4))) 1/4) |
(*.f64 1/4 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4)))) |
(*.f64 (+.f64 (*.f64 (+.f64 x y) 2) (*.f64 x 1/2)) 2) |
(*.f64 (/.f64 (+.f64 x (*.f64 (+.f64 x y) 4)) 4) 4) |
(/.f64 (+.f64 x (*.f64 (+.f64 x y) 4)) 1) |
(/.f64 (+.f64 (+.f64 x x) (*.f64 (+.f64 x y) 8)) 2) |
(/.f64 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4))) 4) |
(/.f64 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4)))) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4))))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4)))))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4))))))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4)))))))) 128) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4)))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4))))))))) 256) |
(pow.f64 (+.f64 x (*.f64 (+.f64 x y) 4)) 1) |
| Outputs |
|---|
(*.f64 2 y) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(*.f64 3 x) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(*.f64 3 x) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(+.f64 (*.f64 3 x) (*.f64 2 y)) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(*.f64 1/2 (+.f64 (*.f64 2 x) (*.f64 4 x))) |
(*.f64 3 x) |
(+.f64 (*.f64 2 y) (*.f64 1/2 (+.f64 (*.f64 2 x) (*.f64 4 x)))) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(+.f64 (*.f64 2 y) (*.f64 1/2 (+.f64 (*.f64 2 x) (*.f64 4 x)))) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(+.f64 (*.f64 2 y) (*.f64 1/2 (+.f64 (*.f64 2 x) (*.f64 4 x)))) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(*.f64 2 y) |
(+.f64 (*.f64 2 y) (*.f64 1/2 (+.f64 (*.f64 2 x) (*.f64 4 x)))) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(+.f64 (*.f64 2 y) (*.f64 1/2 (+.f64 (*.f64 2 x) (*.f64 4 x)))) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(+.f64 (*.f64 2 y) (*.f64 1/2 (+.f64 (*.f64 2 x) (*.f64 4 x)))) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(*.f64 2 y) |
(+.f64 (*.f64 2 y) (*.f64 1/2 (+.f64 (*.f64 2 x) (*.f64 4 x)))) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(+.f64 (*.f64 2 y) (*.f64 1/2 (+.f64 (*.f64 2 x) (*.f64 4 x)))) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(+.f64 (*.f64 2 y) (*.f64 1/2 (+.f64 (*.f64 2 x) (*.f64 4 x)))) |
(+.f64 (*.f64 2 y) (*.f64 3 x)) |
(*.f64 4 y) |
(*.f64 y 4) |
(+.f64 (*.f64 6 x) (*.f64 4 y)) |
(+.f64 (*.f64 y 4) (*.f64 x 6)) |
(+.f64 (*.f64 x 6) (*.f64 y 4)) |
(+.f64 (*.f64 6 x) (*.f64 4 y)) |
(+.f64 (*.f64 y 4) (*.f64 x 6)) |
(+.f64 (*.f64 x 6) (*.f64 y 4)) |
(+.f64 (*.f64 6 x) (*.f64 4 y)) |
(+.f64 (*.f64 y 4) (*.f64 x 6)) |
(+.f64 (*.f64 x 6) (*.f64 y 4)) |
(*.f64 6 x) |
(*.f64 x 6) |
(+.f64 (*.f64 6 x) (*.f64 4 y)) |
(+.f64 (*.f64 y 4) (*.f64 x 6)) |
(+.f64 (*.f64 x 6) (*.f64 y 4)) |
(+.f64 (*.f64 6 x) (*.f64 4 y)) |
(+.f64 (*.f64 y 4) (*.f64 x 6)) |
(+.f64 (*.f64 x 6) (*.f64 y 4)) |
(+.f64 (*.f64 6 x) (*.f64 4 y)) |
(+.f64 (*.f64 y 4) (*.f64 x 6)) |
(+.f64 (*.f64 x 6) (*.f64 y 4)) |
(*.f64 6 x) |
(*.f64 x 6) |
(+.f64 (*.f64 6 x) (*.f64 4 y)) |
(+.f64 (*.f64 y 4) (*.f64 x 6)) |
(+.f64 (*.f64 x 6) (*.f64 y 4)) |
(+.f64 (*.f64 6 x) (*.f64 4 y)) |
(+.f64 (*.f64 y 4) (*.f64 x 6)) |
(+.f64 (*.f64 x 6) (*.f64 y 4)) |
(+.f64 (*.f64 6 x) (*.f64 4 y)) |
(+.f64 (*.f64 y 4) (*.f64 x 6)) |
(+.f64 (*.f64 x 6) (*.f64 y 4)) |
(+.f64 (*.f64 2 x) (*.f64 4 x)) |
(*.f64 x 6) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 4 y) (*.f64 4 x))) |
(+.f64 (*.f64 y 4) (*.f64 x 6)) |
(+.f64 (*.f64 x 6) (*.f64 y 4)) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 4 y) (*.f64 4 x))) |
(+.f64 (*.f64 y 4) (*.f64 x 6)) |
(+.f64 (*.f64 x 6) (*.f64 y 4)) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 4 y) (*.f64 4 x))) |
(+.f64 (*.f64 y 4) (*.f64 x 6)) |
(+.f64 (*.f64 x 6) (*.f64 y 4)) |
(*.f64 4 y) |
(*.f64 y 4) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 4 y) (*.f64 4 x))) |
(+.f64 (*.f64 y 4) (*.f64 x 6)) |
(+.f64 (*.f64 x 6) (*.f64 y 4)) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 4 y) (*.f64 4 x))) |
(+.f64 (*.f64 y 4) (*.f64 x 6)) |
(+.f64 (*.f64 x 6) (*.f64 y 4)) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 4 y) (*.f64 4 x))) |
(+.f64 (*.f64 y 4) (*.f64 x 6)) |
(+.f64 (*.f64 x 6) (*.f64 y 4)) |
(*.f64 4 y) |
(*.f64 y 4) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 4 y) (*.f64 4 x))) |
(+.f64 (*.f64 y 4) (*.f64 x 6)) |
(+.f64 (*.f64 x 6) (*.f64 y 4)) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 4 y) (*.f64 4 x))) |
(+.f64 (*.f64 y 4) (*.f64 x 6)) |
(+.f64 (*.f64 x 6) (*.f64 y 4)) |
(+.f64 (*.f64 2 x) (+.f64 (*.f64 4 y) (*.f64 4 x))) |
(+.f64 (*.f64 y 4) (*.f64 x 6)) |
(+.f64 (*.f64 x 6) (*.f64 y 4)) |
(*.f64 4 y) |
(*.f64 y 4) |
(+.f64 (*.f64 5 x) (*.f64 4 y)) |
(+.f64 (*.f64 y 4) (*.f64 x 5)) |
(+.f64 (*.f64 5 x) (*.f64 4 y)) |
(+.f64 (*.f64 y 4) (*.f64 x 5)) |
(+.f64 (*.f64 5 x) (*.f64 4 y)) |
(+.f64 (*.f64 y 4) (*.f64 x 5)) |
(*.f64 5 x) |
(*.f64 x 5) |
(+.f64 (*.f64 5 x) (*.f64 4 y)) |
(+.f64 (*.f64 y 4) (*.f64 x 5)) |
(+.f64 (*.f64 5 x) (*.f64 4 y)) |
(+.f64 (*.f64 y 4) (*.f64 x 5)) |
(+.f64 (*.f64 5 x) (*.f64 4 y)) |
(+.f64 (*.f64 y 4) (*.f64 x 5)) |
(*.f64 5 x) |
(*.f64 x 5) |
(+.f64 (*.f64 5 x) (*.f64 4 y)) |
(+.f64 (*.f64 y 4) (*.f64 x 5)) |
(+.f64 (*.f64 5 x) (*.f64 4 y)) |
(+.f64 (*.f64 y 4) (*.f64 x 5)) |
(+.f64 (*.f64 5 x) (*.f64 4 y)) |
(+.f64 (*.f64 y 4) (*.f64 x 5)) |
(+.f64 (*.f64 4 x) x) |
(+.f64 x (*.f64 x 4)) |
(+.f64 (*.f64 4 y) (+.f64 (*.f64 4 x) x)) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(+.f64 (*.f64 4 y) (+.f64 (*.f64 4 x) x)) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(+.f64 (*.f64 4 y) (+.f64 (*.f64 4 x) x)) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(*.f64 4 y) |
(*.f64 y 4) |
(+.f64 (*.f64 4 y) (+.f64 (*.f64 4 x) x)) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(+.f64 (*.f64 4 y) (+.f64 (*.f64 4 x) x)) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(+.f64 (*.f64 4 y) (+.f64 (*.f64 4 x) x)) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(*.f64 4 y) |
(*.f64 y 4) |
(+.f64 (*.f64 4 y) (+.f64 (*.f64 4 x) x)) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(+.f64 (*.f64 4 y) (+.f64 (*.f64 4 x) x)) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(+.f64 (*.f64 4 y) (+.f64 (*.f64 4 x) x)) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(+.f64 x (*.f64 (+.f64 x y) 2)) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(+.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 0) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(+.f64 0 (+.f64 x (*.f64 (+.f64 x y) 2))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 (+.f64 x y) 2) x) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 1/2) (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 1/2)) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(-.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 0) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 4 (/.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 4)) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 1/2) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 2 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 1/2)) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 1) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 1 (+.f64 x (*.f64 (+.f64 x y) 2))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 2))) 1/4) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 8) 1/8) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 1/2 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8) 1/16) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 1/4 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 2)))) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 1/2) 2) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 1/8 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 8)) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 (/.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 4) 4) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(*.f64 1/16 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8)) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(pow.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 1) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(-.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 0) |
(+.f64 (*.f64 4 (+.f64 y x)) (+.f64 x x)) |
(*.f64 4 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 1/2)) |
(+.f64 (*.f64 4 (+.f64 y x)) (+.f64 x x)) |
(*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 1) |
(+.f64 (*.f64 4 (+.f64 y x)) (+.f64 x x)) |
(*.f64 2 (+.f64 x (*.f64 (+.f64 x y) 2))) |
(+.f64 (*.f64 4 (+.f64 y x)) (+.f64 x x)) |
(*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 2) |
(+.f64 (*.f64 4 (+.f64 y x)) (+.f64 x x)) |
(*.f64 1 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x))) |
(+.f64 (*.f64 4 (+.f64 y x)) (+.f64 x x)) |
(*.f64 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 2))) 1/2) |
(+.f64 (*.f64 4 (+.f64 y x)) (+.f64 x x)) |
(*.f64 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 8) 1/4) |
(+.f64 (*.f64 4 (+.f64 y x)) (+.f64 x x)) |
(*.f64 1/2 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 2)))) |
(+.f64 (*.f64 4 (+.f64 y x)) (+.f64 x x)) |
(*.f64 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8) 1/8) |
(+.f64 (*.f64 4 (+.f64 y x)) (+.f64 x x)) |
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 8)) |
(+.f64 (*.f64 4 (+.f64 y x)) (+.f64 x x)) |
(*.f64 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 1/2) 4) |
(+.f64 (*.f64 4 (+.f64 y x)) (+.f64 x x)) |
(*.f64 1/8 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8)) |
(+.f64 (*.f64 4 (+.f64 y x)) (+.f64 x x)) |
(/.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 1) |
(+.f64 (*.f64 4 (+.f64 y x)) (+.f64 x x)) |
(/.f64 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 2))) 2) |
(+.f64 (*.f64 4 (+.f64 y x)) (+.f64 x x)) |
(/.f64 (*.f64 (+.f64 x (*.f64 (+.f64 x y) 2)) 8) 4) |
(+.f64 (*.f64 4 (+.f64 y x)) (+.f64 x x)) |
(/.f64 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8) 8) |
(+.f64 (*.f64 4 (+.f64 y x)) (+.f64 x x)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8)) 16) |
(+.f64 (*.f64 4 (+.f64 y x)) (+.f64 x x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8))) 32) |
(+.f64 (*.f64 4 (+.f64 y x)) (+.f64 x x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8)))) 64) |
(+.f64 (*.f64 4 (+.f64 y x)) (+.f64 x x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8))))) 128) |
(+.f64 (*.f64 4 (+.f64 y x)) (+.f64 x x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 8)))))) 256) |
(+.f64 (*.f64 4 (+.f64 y x)) (+.f64 x x)) |
(pow.f64 (+.f64 (*.f64 (+.f64 x y) 4) (+.f64 x x)) 1) |
(+.f64 (*.f64 4 (+.f64 y x)) (+.f64 x x)) |
(-.f64 (+.f64 x (*.f64 (+.f64 x y) 4)) 0) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(*.f64 4 (/.f64 (+.f64 x (*.f64 (+.f64 x y) 4)) 4)) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(*.f64 (+.f64 x (*.f64 (+.f64 x y) 4)) 1) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(*.f64 2 (+.f64 (*.f64 (+.f64 x y) 2) (*.f64 x 1/2))) |
(*.f64 2 (+.f64 (*.f64 2 (+.f64 y x)) (*.f64 x 1/2))) |
(*.f64 1 (+.f64 x (*.f64 (+.f64 x y) 4))) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(*.f64 (+.f64 (+.f64 x x) (*.f64 (+.f64 x y) 8)) 1/2) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (+.f64 x y) 8))) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(*.f64 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4))) 1/4) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(*.f64 1/4 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4)))) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(*.f64 (+.f64 (*.f64 (+.f64 x y) 2) (*.f64 x 1/2)) 2) |
(*.f64 2 (+.f64 (*.f64 2 (+.f64 y x)) (*.f64 x 1/2))) |
(*.f64 (/.f64 (+.f64 x (*.f64 (+.f64 x y) 4)) 4) 4) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(/.f64 (+.f64 x (*.f64 (+.f64 x y) 4)) 1) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(/.f64 (+.f64 (+.f64 x x) (*.f64 (+.f64 x y) 8)) 2) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(/.f64 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4))) 4) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(/.f64 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4)))) 8) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4))))) 16) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4)))))) 32) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4))))))) 64) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4)))))))) 128) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4)))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (*.f64 (+.f64 x y) 4))))))))) 256) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
(pow.f64 (+.f64 x (*.f64 (+.f64 x y) 4)) 1) |
(+.f64 (*.f64 y 4) (+.f64 x (*.f64 x 4))) |
(+.f64 x (*.f64 4 (+.f64 y x))) |
Compiled 1440 to 985 computations (31.6% saved)
8 alts after pruning (2 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 118 | 1 | 119 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 5 | 5 |
| Total | 118 | 8 | 126 |
| Status | Error | Program |
|---|---|---|
| ✓ | 20.8b | (/.f64 (+.f64 x (+.f64 x (*.f64 (+.f64 x y) 4))) 2) |
| ▶ | 42.8b | (/.f64 (+.f64 x (*.f64 x 5)) 2) |
| ✓ | 23.4b | (+.f64 (*.f64 3 x) z) |
| ✓ | 20.3b | (+.f64 (*.f64 2 y) z) |
| ✓ | 20.0b | (+.f64 x (*.f64 2 (+.f64 y x))) |
| ✓ | 42.7b | (*.f64 x 3) |
| ✓ | 39.9b | (*.f64 2 y) |
| 43.6b | z |
Compiled 66 to 50 computations (24.2% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.5b | (+.f64 x (*.f64 x 5)) |
Compiled 21 to 15 computations (28.6% saved)
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | inf | (+.f64 x (*.f64 x 5)) |
| 0.0ms | x | @ | 0 | (+.f64 x (*.f64 x 5)) |
| 0.0ms | x | @ | -inf | (+.f64 x (*.f64 x 5)) |
| 1× | batch-egg-rewrite |
| 2570× | rational.json-simplify-35 |
| 2114× | rational.json-simplify-2 |
| 1252× | rational.json-simplify-1 |
| 1222× | rational.json-1 |
| 1052× | exponential.json-3 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 6 | 13 |
| 1 | 40 | 7 |
| 2 | 92 | 7 |
| 3 | 194 | 7 |
| 4 | 364 | 7 |
| 5 | 827 | 7 |
| 6 | 2170 | 7 |
| 7 | 3689 | 7 |
| 8 | 4262 | 7 |
| 9 | 5089 | 7 |
| 10 | 5967 | 7 |
| 11 | 6482 | 7 |
| 12 | 6482 | 7 |
| 13 | 7412 | 7 |
| 14 | 7412 | 7 |
| 15 | 7945 | 7 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 x (*.f64 x 5)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x 6)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x 6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 x 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 12) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) 3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 6 x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 x 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 24) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 48) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 12 (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 x 12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) 12)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 24 (/.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 x 24))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 4) 24)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 3/2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3/2 (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 x 48))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 12) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 24) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 48) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x 48)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 x 48))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 48)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 48))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 48)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 48))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 48))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 48)))))))) 1024)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x 6) 1))))) |
| 1× | egg-herbie |
| 3296× | rational.json-simplify-51 |
| 2196× | rational.json-simplify-35 |
| 2038× | rational.json-simplify-49 |
| 1168× | rational.json-simplify-1 |
| 1070× | rational.json-simplify-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 75 | 329 |
| 1 | 157 | 329 |
| 2 | 358 | 329 |
| 3 | 1002 | 329 |
| 4 | 2222 | 329 |
| 5 | 3248 | 329 |
| 6 | 3765 | 329 |
| 7 | 3895 | 329 |
| 8 | 3991 | 329 |
| 9 | 4056 | 329 |
| 10 | 4116 | 329 |
| 11 | 4175 | 329 |
| 12 | 4235 | 329 |
| 13 | 4293 | 329 |
| 14 | 4351 | 329 |
| 15 | 4409 | 329 |
| 16 | 4467 | 329 |
| 17 | 4525 | 329 |
| 18 | 4583 | 329 |
| 19 | 4641 | 329 |
| 20 | 7809 | 329 |
| 21 | 7897 | 329 |
| 22 | 7954 | 329 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 6 x) |
(*.f64 6 x) |
(*.f64 6 x) |
(*.f64 6 x) |
(*.f64 6 x) |
(*.f64 6 x) |
(*.f64 6 x) |
(*.f64 6 x) |
(*.f64 6 x) |
(*.f64 6 x) |
(*.f64 6 x) |
(*.f64 6 x) |
(-.f64 (*.f64 x 6) 0) |
(*.f64 x 6) |
(*.f64 (*.f64 x 6) 1) |
(*.f64 1 (*.f64 x 6)) |
(*.f64 2 (*.f64 x 3)) |
(*.f64 (*.f64 x 12) 1/2) |
(*.f64 (+.f64 x x) 3) |
(*.f64 6 x) |
(*.f64 4 (*.f64 x 3/2)) |
(*.f64 (*.f64 x 24) 1/4) |
(*.f64 (*.f64 x 4) 3/2) |
(*.f64 (*.f64 x 48) 1/8) |
(*.f64 12 (*.f64 x 1/2)) |
(*.f64 1/2 (*.f64 x 12)) |
(*.f64 (*.f64 x 3) 2) |
(*.f64 (*.f64 x 1/2) 12) |
(*.f64 3 (+.f64 x x)) |
(*.f64 24 (/.f64 x 4)) |
(*.f64 1/4 (*.f64 x 24)) |
(*.f64 (/.f64 x 4) 24) |
(*.f64 (*.f64 x 3/2) 4) |
(*.f64 3/2 (*.f64 x 4)) |
(*.f64 1/8 (*.f64 x 48)) |
(/.f64 (*.f64 x 6) 1) |
(/.f64 (*.f64 x 12) 2) |
(/.f64 (*.f64 x 24) 4) |
(/.f64 (*.f64 x 48) 8) |
(/.f64 (*.f64 2 (*.f64 x 48)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x 48))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 48)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 48))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 48)))))) 256) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 48))))))) 512) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 48))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 48)))))))) 1024) |
(pow.f64 (*.f64 x 6) 1) |
| Outputs |
|---|
(*.f64 6 x) |
(*.f64 6 x) |
(*.f64 6 x) |
(*.f64 6 x) |
(*.f64 6 x) |
(*.f64 6 x) |
(*.f64 6 x) |
(*.f64 6 x) |
(*.f64 6 x) |
(*.f64 6 x) |
(*.f64 6 x) |
(*.f64 6 x) |
(-.f64 (*.f64 x 6) 0) |
(*.f64 6 x) |
(*.f64 x 6) |
(*.f64 6 x) |
(*.f64 (*.f64 x 6) 1) |
(*.f64 6 x) |
(*.f64 1 (*.f64 x 6)) |
(*.f64 6 x) |
(*.f64 2 (*.f64 x 3)) |
(*.f64 6 x) |
(*.f64 (*.f64 x 12) 1/2) |
(*.f64 6 x) |
(*.f64 (+.f64 x x) 3) |
(*.f64 6 x) |
(*.f64 6 x) |
(*.f64 4 (*.f64 x 3/2)) |
(*.f64 6 x) |
(*.f64 (*.f64 x 24) 1/4) |
(*.f64 6 x) |
(*.f64 (*.f64 x 4) 3/2) |
(*.f64 6 x) |
(*.f64 (*.f64 x 48) 1/8) |
(*.f64 6 x) |
(*.f64 12 (*.f64 x 1/2)) |
(*.f64 6 x) |
(*.f64 1/2 (*.f64 x 12)) |
(*.f64 6 x) |
(*.f64 (*.f64 x 3) 2) |
(*.f64 6 x) |
(*.f64 (*.f64 x 1/2) 12) |
(*.f64 6 x) |
(*.f64 3 (+.f64 x x)) |
(*.f64 6 x) |
(*.f64 24 (/.f64 x 4)) |
(*.f64 6 x) |
(*.f64 1/4 (*.f64 x 24)) |
(*.f64 6 x) |
(*.f64 (/.f64 x 4) 24) |
(*.f64 6 x) |
(*.f64 (*.f64 x 3/2) 4) |
(*.f64 6 x) |
(*.f64 3/2 (*.f64 x 4)) |
(*.f64 6 x) |
(*.f64 1/8 (*.f64 x 48)) |
(*.f64 6 x) |
(/.f64 (*.f64 x 6) 1) |
(*.f64 6 x) |
(/.f64 (*.f64 x 12) 2) |
(*.f64 6 x) |
(/.f64 (*.f64 x 24) 4) |
(*.f64 6 x) |
(/.f64 (*.f64 x 48) 8) |
(*.f64 6 x) |
(/.f64 (*.f64 2 (*.f64 x 48)) 16) |
(*.f64 6 x) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x 48))) 32) |
(*.f64 6 x) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 48)))) 64) |
(*.f64 6 x) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 48))))) 128) |
(*.f64 6 x) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 48)))))) 256) |
(*.f64 6 x) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 48))))))) 512) |
(*.f64 6 x) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 48))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x 48)))))))) 1024) |
(*.f64 6 x) |
(pow.f64 (*.f64 x 6) 1) |
(*.f64 6 x) |
Compiled 314 to 275 computations (12.4% saved)
8 alts after pruning (1 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 35 | 0 | 35 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 6 | 6 |
| Total | 35 | 8 | 43 |
| Status | Error | Program |
|---|---|---|
| ✓ | 20.8b | (/.f64 (+.f64 x (+.f64 x (*.f64 (+.f64 x y) 4))) 2) |
| ✓ | 42.8b | (/.f64 (+.f64 x (*.f64 x 5)) 2) |
| ✓ | 23.4b | (+.f64 (*.f64 3 x) z) |
| ✓ | 20.3b | (+.f64 (*.f64 2 y) z) |
| ✓ | 20.0b | (+.f64 x (*.f64 2 (+.f64 y x))) |
| ✓ | 42.7b | (*.f64 x 3) |
| ✓ | 39.9b | (*.f64 2 y) |
| 43.6b | z |
Compiled 66 to 50 computations (24.2% saved)
| Inputs |
|---|
z |
(*.f64 2 y) |
(*.f64 x 3) |
(+.f64 (*.f64 2 y) z) |
(+.f64 (*.f64 3 x) z) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 2 x) (+.f64 z x)) |
(/.f64 (+.f64 x (*.f64 x 5)) 2) |
(+.f64 (+.f64 x (+.f64 y y)) (+.f64 (+.f64 x z) x)) |
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x) |
(/.f64 (+.f64 x (+.f64 x (*.f64 (+.f64 x y) 4))) 2) |
| Outputs |
|---|
(+.f64 (+.f64 x (+.f64 y y)) (+.f64 (+.f64 x z) x)) |
4 calls:
| 143.0ms | (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x) |
| 7.0ms | y |
| 7.0ms | z |
| 7.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 0.0b | 1 | x |
| 0.0b | 1 | y |
| 0.0b | 1 | z |
| 0.0b | 1 | (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 x y) y) x) z) x) |
Compiled 100 to 59 computations (41% saved)
| Inputs |
|---|
z |
(*.f64 2 y) |
(*.f64 x 3) |
(+.f64 (*.f64 2 y) z) |
(+.f64 (*.f64 3 x) z) |
(+.f64 x (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 2 x) (+.f64 z x)) |
(/.f64 (+.f64 x (*.f64 x 5)) 2) |
| Outputs |
|---|
(+.f64 x (*.f64 2 (+.f64 y x))) |
(+.f64 (*.f64 3 x) z) |
(+.f64 (*.f64 2 y) z) |
3 calls:
| 416.0ms | z |
| 70.0ms | y |
| 15.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 7.7b | 3 | x |
| 6.1b | 3 | y |
| 6.2b | 3 | z |
Compiled 53 to 35 computations (34% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 14.0ms | 3.381825269513324e+64 | 3.1220843741148646e+68 |
| 13.0ms | -1.7656043891361137e+70 | -2.263294063546162e+68 |
| 23.0ms | 230× | body | 256 | valid |
| 1.0ms | 7× | body | 512 | valid |
| 1.0ms | 3× | body | 1024 | valid |
Compiled 304 to 230 computations (24.3% saved)
| Inputs |
|---|
z |
(*.f64 2 y) |
(*.f64 x 3) |
(+.f64 (*.f64 2 y) z) |
(+.f64 (*.f64 3 x) z) |
| Outputs |
|---|
(+.f64 (*.f64 2 y) z) |
(+.f64 (*.f64 3 x) z) |
(+.f64 (*.f64 2 y) z) |
3 calls:
| 108.0ms | x |
| 29.0ms | z |
| 13.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 9.0b | 3 | x |
| 6.3b | 3 | y |
| 15.5b | 7 | z |
Compiled 32 to 22 computations (31.3% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 421.0ms | 3.381825269513324e+64 | 3.1220843741148646e+68 |
| 15.0ms | -8.946140277652645e+49 | -5.167556333794975e+40 |
| 431.0ms | 258× | body | 256 | valid |
| 2.0ms | 11× | body | 512 | valid |
| 1.0ms | 3× | body | 1024 | valid |
Compiled 326 to 251 computations (23% saved)
| Inputs |
|---|
z |
(*.f64 2 y) |
(*.f64 x 3) |
(+.f64 (*.f64 2 y) z) |
| Outputs |
|---|
(*.f64 x 3) |
(+.f64 (*.f64 2 y) z) |
(*.f64 x 3) |
3 calls:
| 382.0ms | z |
| 224.0ms | x |
| 34.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 11.2b | 3 | x |
| 13.3b | 9 | y |
| 17.1b | 5 | z |
Compiled 27 to 19 computations (29.6% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 17.0ms | 4.36282172941893e+135 | 3.925845163113811e+149 |
| 4.0ms | -1.4876883133918651e+148 | -1.3103609824576167e+148 |
| 16.0ms | 176× | body | 256 | valid |
| 2.0ms | 10× | body | 1024 | valid |
| 1.0ms | 4× | body | 512 | valid |
| 1.0ms | 2× | body | 2048 | valid |
Compiled 212 to 169 computations (20.3% saved)
| Inputs |
|---|
z |
(*.f64 2 y) |
(*.f64 x 3) |
| Outputs |
|---|
(*.f64 2 y) |
(*.f64 x 3) |
z |
(*.f64 x 3) |
z |
(*.f64 x 3) |
z |
(*.f64 x 3) |
z |
(*.f64 x 3) |
(*.f64 2 y) |
3 calls:
| 876.0ms | z |
| 133.0ms | y |
| 25.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 25.0b | 8 | x |
| 19.2b | 11 | y |
| 23.6b | 10 | z |
Compiled 22 to 16 computations (27.3% saved)
| 10× | binary-search |
| Time | Left | Right |
|---|---|---|
| 16.0ms | 3.381825269513324e+64 | 3.1220843741148646e+68 |
| 9.0ms | 2633523038784555.5 | 10480325321003948.0 |
| 336.0ms | 4.7433322665467455e-130 | 3.013201151006628e-124 |
| 16.0ms | 3.6569804150260564e-194 | 1.5881890316747337e-188 |
| 11.0ms | 1.4079324170686796e-266 | 3.7713992138684185e-266 |
| 14.0ms | -8.884537449922653e-290 | -1.5966218175071417e-292 |
| 226.0ms | -6.4069249124837e-200 | -1.5146268667151483e-202 |
| 13.0ms | -5.854775186102824e-161 | -3.4567560441176893e-162 |
| 86.0ms | -6.334059111157491e-77 | -1.8918692538111783e-77 |
| 12.0ms | -5.167556333794975e+40 | -2.5839111670095296e+38 |
| 627.0ms | 1028× | body | 256 | valid |
| 87.0ms | 49× | body | 1024 | valid |
| 7.0ms | 45× | body | 512 | valid |
| 4.0ms | 14× | body | 2048 | valid |
Compiled 902 to 753 computations (16.5% saved)
Total -34.8b remaining (-126.6%)
Threshold costs -34.8b (-126.6%)
| Inputs |
|---|
z |
(*.f64 2 y) |
| Outputs |
|---|
(*.f64 2 y) |
z |
(*.f64 2 y) |
3 calls:
| 50.0ms | y |
| 14.0ms | x |
| 8.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 36.7b | 5 | x |
| 27.5b | 3 | y |
| 28.4b | 3 | z |
Compiled 19 to 14 computations (26.3% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 13.0ms | 8.807431170624359e+44 | 3.402890025148657e+46 |
| 12.0ms | -1.7656043891361137e+70 | -2.263294063546162e+68 |
| 21.0ms | 218× | body | 256 | valid |
| 1.0ms | 6× | body | 512 | valid |
Compiled 188 to 153 computations (18.6% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 77 | 373 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (+.f64 x (+.f64 y y)) (+.f64 (+.f64 x z) x)) |
(if (<=.f64 y -12200000000000000118635753421712239359958654222532976047952602805043200) (+.f64 x (*.f64 2 (+.f64 y x))) (if (<=.f64 y 102000000000000004805385686159973733741361001758641859951660630016) (+.f64 (*.f64 3 x) z) (+.f64 (*.f64 2 y) z))) |
(if (<=.f64 y -2899999999999999883764029586900927241071722758144) (+.f64 (*.f64 2 y) z) (if (<=.f64 y 165000000000000011556128141879941534049974128698770824325394071552) (+.f64 (*.f64 3 x) z) (+.f64 (*.f64 2 y) z))) |
(if (<=.f64 x -13999999999999998982145911984278638389033503311919787051083654133360651905564732256633909893685487697343307795157787091631588046174921661317709299712) (*.f64 x 3) (if (<=.f64 x 14000000000000001079521845589727026623238777209757413576301778246636101175941277507371447702830070488690177854213593642717840142338359296) (+.f64 (*.f64 2 y) z) (*.f64 x 3))) |
(if (<=.f64 y -3599999999999999843399289918502901645312) (*.f64 2 y) (if (<=.f64 y -3650368469591399/65185151242703554760590262029100101153646988597309960020356494379340201592426774597868716032) (*.f64 x 3) (if (<=.f64 y -3495075369296735/253266331108459042877954581524118722595974501479640924072000569439126758509088631982403994686712878069348015540240526683495797795130113239006767262824338603946605334680267915264) z (if (<=.f64 y -775638599498717/86182066610968551542636378241108028056376767329454880514019834315878107616003372189510312530372009184902888961739623919010110377987011442493486117202360415845666384627768436296772219009176743399772868636439042064384) (*.f64 x 3) (if (<=.f64 y -6179570151089211/5617791046444737211654078721215702292556178059194708039794690036179146118921905097897139916325235500660003558745981042426837180275450519452901482207483566386805246669527046414884444362538940441232908842252656430276192208823201965046059784704400851161354703458893321819998351435577491134526104885300757004288) z (if (<=.f64 y 290432989937067/9076030935533343889148330677184451660957398691768765008885326289770145612551296225251271450782204288267814476258502032778653474399077793626653018683486295323382390383590453332169716856898789897889643528945016096228440849041002686084943230837088977557446564364344140092918489677824) (*.f64 x 3) (if (<=.f64 y 3862912302699587/41094811730846668025320233460001005199612029709556045777330319555224469955445943922763019814668659775210804444188892325882964314454560967680686052895717819140275184930690973423372373108471271228681978529185792) z (if (<=.f64 y 5306972535537187/780437137578998057845399307448291576437149535666242787714789239906342934704941405030076525765872992789956732780351655723861993919822071326572544) (*.f64 x 3) (if (<=.f64 y 7000000000000000) z (if (<=.f64 y 3199999999999999974689236041076283226328195894215374571698185568256) (*.f64 x 3) (*.f64 2 y))))))))))) |
(if (<=.f64 y -229999999999999997526036106928113349537088274839835254534949308465152) (*.f64 2 y) (if (<=.f64 y 10599999999999999825870033762780073604782489600) z (*.f64 2 y))) |
z |
| Outputs |
|---|
(+.f64 (+.f64 x (+.f64 y y)) (+.f64 (+.f64 x z) x)) |
(if (<=.f64 y -12200000000000000118635753421712239359958654222532976047952602805043200) (+.f64 x (*.f64 2 (+.f64 y x))) (if (<=.f64 y 102000000000000004805385686159973733741361001758641859951660630016) (+.f64 (*.f64 3 x) z) (+.f64 (*.f64 2 y) z))) |
(if (<=.f64 y -2899999999999999883764029586900927241071722758144) (+.f64 (*.f64 2 y) z) (if (<=.f64 y 165000000000000011556128141879941534049974128698770824325394071552) (+.f64 (*.f64 3 x) z) (+.f64 (*.f64 2 y) z))) |
(if (<=.f64 x -13999999999999998982145911984278638389033503311919787051083654133360651905564732256633909893685487697343307795157787091631588046174921661317709299712) (*.f64 x 3) (if (<=.f64 x 14000000000000001079521845589727026623238777209757413576301778246636101175941277507371447702830070488690177854213593642717840142338359296) (+.f64 (*.f64 2 y) z) (*.f64 x 3))) |
(if (<=.f64 y -3599999999999999843399289918502901645312) (*.f64 2 y) (if (<=.f64 y -3650368469591399/65185151242703554760590262029100101153646988597309960020356494379340201592426774597868716032) (*.f64 x 3) (if (<=.f64 y -3495075369296735/253266331108459042877954581524118722595974501479640924072000569439126758509088631982403994686712878069348015540240526683495797795130113239006767262824338603946605334680267915264) z (if (<=.f64 y -775638599498717/86182066610968551542636378241108028056376767329454880514019834315878107616003372189510312530372009184902888961739623919010110377987011442493486117202360415845666384627768436296772219009176743399772868636439042064384) (*.f64 x 3) (if (<=.f64 y -6179570151089211/5617791046444737211654078721215702292556178059194708039794690036179146118921905097897139916325235500660003558745981042426837180275450519452901482207483566386805246669527046414884444362538940441232908842252656430276192208823201965046059784704400851161354703458893321819998351435577491134526104885300757004288) z (if (<=.f64 y 290432989937067/9076030935533343889148330677184451660957398691768765008885326289770145612551296225251271450782204288267814476258502032778653474399077793626653018683486295323382390383590453332169716856898789897889643528945016096228440849041002686084943230837088977557446564364344140092918489677824) (*.f64 x 3) (if (<=.f64 y 3862912302699587/41094811730846668025320233460001005199612029709556045777330319555224469955445943922763019814668659775210804444188892325882964314454560967680686052895717819140275184930690973423372373108471271228681978529185792) z (if (<=.f64 y 5306972535537187/780437137578998057845399307448291576437149535666242787714789239906342934704941405030076525765872992789956732780351655723861993919822071326572544) (*.f64 x 3) (if (<=.f64 y 7000000000000000) z (if (<=.f64 y 3199999999999999974689236041076283226328195894215374571698185568256) (*.f64 x 3) (*.f64 2 y))))))))))) |
(if (<=.f64 y -229999999999999997526036106928113349537088274839835254534949308465152) (*.f64 2 y) (if (<=.f64 y 10599999999999999825870033762780073604782489600) z (*.f64 2 y))) |
z |
Compiled 180 to 124 computations (31.1% saved)
| 1× | egg-herbie |
| 164× | rational.json-simplify-41 |
| 152× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 31 |
| 1 | 15 | 31 |
| 2 | 28 | 31 |
| 3 | 44 | 31 |
| 4 | 81 | 31 |
| 5 | 137 | 31 |
| 6 | 179 | 31 |
| 7 | 186 | 31 |
| 8 | 186 | 31 |
| 1× | saturated |
Compiled 102 to 24 computations (76.5% saved)
Compiled 162 to 106 computations (34.6% saved)
Loading profile data...