Time bar (total: 11.9s)
| 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 |
| 25% | 25% | 74.9% | 0.1% | 0% | 0% | 0% | 5 |
| 37.5% | 37.5% | 62.4% | 0.1% | 0% | 0% | 0% | 6 |
| 53.3% | 50% | 43.7% | 0.1% | 6.2% | 0% | 0% | 7 |
| 63.3% | 59.3% | 34.3% | 0.1% | 6.2% | 0% | 0% | 8 |
| 74.1% | 67.1% | 23.4% | 0.1% | 9.4% | 0% | 0% | 9 |
| 80.2% | 72.6% | 18% | 0.1% | 9.4% | 0% | 0% | 10 |
| 86.4% | 76.9% | 12.1% | 0.1% | 10.9% | 0% | 0% | 11 |
| 89.7% | 79.8% | 9.2% | 0.1% | 10.9% | 0% | 0% | 12 |
Compiled 12 to 10 computations (16.7% saved)
| 1.4s | 8256× | body | 256 | valid |
| 12.0ms | 136× | body | 256 | infinite |
| 2× | egg-herbie |
| 24× | rational.json-simplify-2 |
| 8× | rational.json-simplify-43 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 38 |
| 1 | 19 | 38 |
| 2 | 27 | 38 |
| 3 | 35 | 38 |
| 0 | 2 | 2 |
| 1× | saturated |
| 1× | saturated |
| Inputs |
|---|
0 |
1 |
| Outputs |
|---|
0 |
1 |
| Inputs |
|---|
(*.f64 (*.f64 (-.f64 x (/.f64 16 116)) 3) y) |
(*.f64 (*.f64 (-.f64 y (/.f64 16 116)) 3) x) |
| Outputs |
|---|
(*.f64 (*.f64 (-.f64 x (/.f64 16 116)) 3) y) |
(*.f64 (*.f64 (-.f64 x 4/29) 3) y) |
(*.f64 (-.f64 x 4/29) (*.f64 3 y)) |
(*.f64 (*.f64 (-.f64 y (/.f64 16 116)) 3) x) |
(*.f64 x (*.f64 3 (-.f64 y 4/29))) |
(*.f64 3 (*.f64 (-.f64 y 4/29) x)) |
(*.f64 3 (*.f64 x (-.f64 y 4/29))) |
Compiled 13 to 11 computations (15.4% saved)
| 1× | egg-herbie |
| 12× | rational.json-simplify-2 |
| 4× | rational.json-simplify-43 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 19 |
| 1 | 14 | 19 |
| 2 | 18 | 19 |
| 3 | 22 | 19 |
| 1× | saturated |
| Inputs |
|---|
(*.f64 (*.f64 (-.f64 x (/.f64 16 116)) 3) y) |
| Outputs |
|---|
(*.f64 (*.f64 (-.f64 x (/.f64 16 116)) 3) y) |
(*.f64 (*.f64 (-.f64 x 4/29) 3) y) |
(*.f64 (-.f64 x 4/29) (*.f64 3 y)) |
Compiled 25 to 19 computations (24% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 1 | 2 | 3 |
| Fresh | 1 | 0 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 2 | 2 | 4 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.3b | (*.f64 (-.f64 x 4/29) (*.f64 3 y)) |
| ▶ | 0.2b | (*.f64 (*.f64 (-.f64 x 4/29) 3) y) |
Compiled 18 to 14 computations (22.2% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 x 4/29) |
| ✓ | 0.0b | (*.f64 (-.f64 x 4/29) 3) |
| ✓ | 0.2b | (*.f64 (*.f64 (-.f64 x 4/29) 3) y) |
Compiled 21 to 15 computations (28.6% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | 0 | (*.f64 (*.f64 (-.f64 x 4/29) 3) y) |
| 0.0ms | x | @ | inf | (*.f64 (*.f64 (-.f64 x 4/29) 3) y) |
| 0.0ms | y | @ | inf | (*.f64 (*.f64 (-.f64 x 4/29) 3) y) |
| 0.0ms | x | @ | 0 | (*.f64 (*.f64 (-.f64 x 4/29) 3) y) |
| 0.0ms | x | @ | -inf | (*.f64 (*.f64 (-.f64 x 4/29) 3) y) |
| 1× | batch-egg-rewrite |
| 2600× | rational.json-simplify-35 |
| 1430× | rational.json-simplify-1 |
| 1250× | exponential.json-3 |
| 1250× | rational.json-1 |
| 1250× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 39 |
| 1 | 58 | 39 |
| 2 | 119 | 39 |
| 3 | 252 | 39 |
| 4 | 463 | 39 |
| 5 | 1072 | 39 |
| 6 | 2418 | 39 |
| 7 | 4240 | 39 |
| 8 | 5291 | 39 |
| 9 | 6316 | 39 |
| 10 | 7270 | 39 |
| 11 | 7270 | 39 |
| 12 | 7270 | 39 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (*.f64 (-.f64 x 4/29) 3) y) |
(*.f64 (-.f64 x 4/29) 3) |
(-.f64 x 4/29) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x -4/29) (*.f64 3 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 x -4/29) (*.f64 3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x -4/29) y) (*.f64 (+.f64 x -4/29) (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x -4/29) (+.f64 y y)) (*.f64 (+.f64 x -4/29) y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x -4/29) (*.f64 y 3/2)) (*.f64 (+.f64 x -4/29) (*.f64 y 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 x -4/29) (*.f64 3 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x -4/29) (*.f64 3 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x -4/29) (*.f64 y 6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x -4/29) (*.f64 y 12)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 24 (*.f64 (+.f64 x -4/29) y)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y)))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 x -4/29) (*.f64 3 y)) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (+.f64 x (+.f64 -4/29 (+.f64 x -8/29))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x -4/29) (+.f64 x (+.f64 x -8/29)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x -4/29) 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 x -4/29) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (+.f64 x -8/29)) (+.f64 x -4/29))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -4/29 (+.f64 x (+.f64 x (+.f64 x -8/29))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -4/29 (+.f64 (+.f64 x -4/29) (+.f64 (+.f64 x x) -4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x -8/29) (+.f64 (+.f64 x x) -4/29))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x -4/29) 3/2) (*.f64 (+.f64 x -4/29) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (+.f64 x x) -4/29) (+.f64 x -8/29))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (+.f64 -4/29 (+.f64 x -8/29))) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (+.f64 x (+.f64 x -8/29))) -4/29)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (+.f64 x -4/29) (+.f64 (+.f64 x x) -4/29)) -4/29)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 x -4/29) 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x -4/29) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x -4/29) 6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x -4/29) 12) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 x -4/29) 3) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 3) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 3) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 3) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 3) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 3) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 3) 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 3) 8))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 x -4/29) 3) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x -4/29)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x -4/29) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 x -4/29))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -4/29 x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 1/2) (+.f64 -4/29 (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x -4/29) 1/2) (*.f64 (+.f64 x -4/29) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -4/29 (*.f64 x 1/2)) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x -4/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x -4/29))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x -4/29) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 x -8/29)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 x -4/29) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x -4/29) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x -4/29) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 x (+.f64 x -8/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x -4/29) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x -4/29) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x -4/29) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 x -4/29) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x -4/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 x -8/29)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x -4/29) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x -4/29) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x -4/29) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x -4/29) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x -4/29) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x -4/29) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x -4/29) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x -4/29) 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x -4/29) 8))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x -4/29) 1))))) |
| 1× | egg-herbie |
| 3002× | rational.json-simplify-53 |
| 2846× | rational.json-simplify-2 |
| 2210× | rational.json-simplify-35 |
| 1378× | exponential.json-simplify-26 |
| 1314× | rational.json-simplify-1 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 158 | 1629 |
| 1 | 349 | 1575 |
| 2 | 1077 | 1425 |
| 3 | 2639 | 1425 |
| 4 | 3804 | 1425 |
| 5 | 4437 | 1425 |
| 6 | 4573 | 1425 |
| 7 | 4659 | 1425 |
| 8 | 4740 | 1425 |
| 9 | 5973 | 1425 |
| 10 | 6661 | 1425 |
| 11 | 6741 | 1425 |
| 12 | 6820 | 1425 |
| 13 | 6899 | 1425 |
| 14 | 6899 | 1425 |
| 15 | 6978 | 1425 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -12/29 y) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(*.f64 3 (*.f64 y x)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(*.f64 3 (*.f64 y x)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
-12/29 |
(-.f64 (*.f64 3 x) 12/29) |
(-.f64 (*.f64 3 x) 12/29) |
(-.f64 (*.f64 3 x) 12/29) |
(*.f64 3 x) |
(-.f64 (*.f64 3 x) 12/29) |
(-.f64 (*.f64 3 x) 12/29) |
(-.f64 (*.f64 3 x) 12/29) |
(*.f64 3 x) |
(-.f64 (*.f64 3 x) 12/29) |
(-.f64 (*.f64 3 x) 12/29) |
(-.f64 (*.f64 3 x) 12/29) |
-4/29 |
x |
x |
(+.f64 (*.f64 (+.f64 x -4/29) (*.f64 3 y)) 0) |
(+.f64 0 (*.f64 (+.f64 x -4/29) (*.f64 3 y))) |
(+.f64 (*.f64 (+.f64 x -4/29) y) (*.f64 (+.f64 x -4/29) (+.f64 y y))) |
(+.f64 (*.f64 (+.f64 x -4/29) (+.f64 y y)) (*.f64 (+.f64 x -4/29) y)) |
(+.f64 (*.f64 (+.f64 x -4/29) (*.f64 y 3/2)) (*.f64 (+.f64 x -4/29) (*.f64 y 3/2))) |
(-.f64 (*.f64 (+.f64 x -4/29) (*.f64 3 y)) 0) |
(/.f64 (*.f64 (+.f64 x -4/29) (*.f64 3 y)) 1) |
(/.f64 (*.f64 (+.f64 x -4/29) (*.f64 y 6)) 2) |
(/.f64 (*.f64 (+.f64 x -4/29) (*.f64 y 12)) 4) |
(/.f64 (*.f64 24 (*.f64 (+.f64 x -4/29) y)) 8) |
(/.f64 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y)))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y))))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y)))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y))))))) 256) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y)))))))) 512) |
(pow.f64 (*.f64 (+.f64 x -4/29) (*.f64 3 y)) 1) |
(+.f64 x (+.f64 x (+.f64 -4/29 (+.f64 x -8/29)))) |
(+.f64 (+.f64 x -4/29) (+.f64 x (+.f64 x -8/29))) |
(+.f64 (*.f64 (+.f64 x -4/29) 3) 0) |
(+.f64 0 (*.f64 (+.f64 x -4/29) 3)) |
(+.f64 (+.f64 x (+.f64 x -8/29)) (+.f64 x -4/29)) |
(+.f64 -4/29 (+.f64 x (+.f64 x (+.f64 x -8/29)))) |
(+.f64 -4/29 (+.f64 (+.f64 x -4/29) (+.f64 (+.f64 x x) -4/29))) |
(+.f64 (+.f64 x -8/29) (+.f64 (+.f64 x x) -4/29)) |
(+.f64 (*.f64 (+.f64 x -4/29) 3/2) (*.f64 (+.f64 x -4/29) 3/2)) |
(+.f64 (+.f64 (+.f64 x x) -4/29) (+.f64 x -8/29)) |
(+.f64 (+.f64 x (+.f64 -4/29 (+.f64 x -8/29))) x) |
(+.f64 (+.f64 x (+.f64 x (+.f64 x -8/29))) -4/29) |
(+.f64 (+.f64 (+.f64 x -4/29) (+.f64 (+.f64 x x) -4/29)) -4/29) |
(-.f64 (*.f64 (+.f64 x -4/29) 3) 0) |
(/.f64 (*.f64 (+.f64 x -4/29) 3) 1) |
(/.f64 (*.f64 (+.f64 x -4/29) 6) 2) |
(/.f64 (*.f64 (+.f64 x -4/29) 12) 4) |
(/.f64 (*.f64 (*.f64 (+.f64 x -4/29) 3) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 3) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 3) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 3) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 3) 8))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 3) 8)))))) 256) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 3) 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 3) 8))))))) 512) |
(pow.f64 (*.f64 (+.f64 x -4/29) 3) 1) |
(+.f64 x -4/29) |
(+.f64 (+.f64 x -4/29) 0) |
(+.f64 0 (+.f64 x -4/29)) |
(+.f64 -4/29 x) |
(+.f64 (*.f64 x 1/2) (+.f64 -4/29 (*.f64 x 1/2))) |
(+.f64 (*.f64 (+.f64 x -4/29) 1/2) (*.f64 (+.f64 x -4/29) 1/2)) |
(+.f64 (+.f64 -4/29 (*.f64 x 1/2)) (*.f64 x 1/2)) |
(*.f64 (+.f64 x -4/29) 1) |
(*.f64 1 (+.f64 x -4/29)) |
(*.f64 2 (*.f64 (+.f64 x -4/29) 1/2)) |
(*.f64 (+.f64 x (+.f64 x -8/29)) 1/2) |
(*.f64 4 (*.f64 (+.f64 x -4/29) 1/4)) |
(*.f64 (*.f64 (+.f64 x -4/29) 4) 1/4) |
(*.f64 (*.f64 (+.f64 x -4/29) 8) 1/8) |
(*.f64 1/2 (+.f64 x (+.f64 x -8/29))) |
(*.f64 (*.f64 (+.f64 x -4/29) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 x -4/29) 4)) |
(*.f64 (*.f64 (+.f64 x -4/29) 1/4) 4) |
(*.f64 1/8 (*.f64 (+.f64 x -4/29) 8)) |
(/.f64 (+.f64 x -4/29) 1) |
(/.f64 (+.f64 x (+.f64 x -8/29)) 2) |
(/.f64 (*.f64 (+.f64 x -4/29) 4) 4) |
(/.f64 (*.f64 (+.f64 x -4/29) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x -4/29) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x -4/29) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x -4/29) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x -4/29) 8))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x -4/29) 8)))))) 256) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x -4/29) 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x -4/29) 8))))))) 512) |
(pow.f64 (+.f64 x -4/29) 1) |
| Outputs |
|---|
(*.f64 -12/29 y) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 y (*.f64 3 x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 y (*.f64 3 x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 y (*.f64 3 x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 y (*.f64 3 x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 y (*.f64 3 x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 y (*.f64 3 x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 y (*.f64 3 x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 y (*.f64 3 x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 y (*.f64 3 x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
-12/29 |
(-.f64 (*.f64 3 x) 12/29) |
(-.f64 (*.f64 3 x) 12/29) |
(-.f64 (*.f64 3 x) 12/29) |
(*.f64 3 x) |
(-.f64 (*.f64 3 x) 12/29) |
(-.f64 (*.f64 3 x) 12/29) |
(-.f64 (*.f64 3 x) 12/29) |
(*.f64 3 x) |
(-.f64 (*.f64 3 x) 12/29) |
(-.f64 (*.f64 3 x) 12/29) |
(-.f64 (*.f64 3 x) 12/29) |
-4/29 |
x |
x |
(+.f64 (*.f64 (+.f64 x -4/29) (*.f64 3 y)) 0) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(+.f64 0 (*.f64 (+.f64 x -4/29) (*.f64 3 y))) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(+.f64 (*.f64 (+.f64 x -4/29) y) (*.f64 (+.f64 x -4/29) (+.f64 y y))) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(+.f64 (*.f64 (+.f64 x -4/29) (+.f64 y y)) (*.f64 (+.f64 x -4/29) y)) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(+.f64 (*.f64 (+.f64 x -4/29) (*.f64 y 3/2)) (*.f64 (+.f64 x -4/29) (*.f64 y 3/2))) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(-.f64 (*.f64 (+.f64 x -4/29) (*.f64 3 y)) 0) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(/.f64 (*.f64 (+.f64 x -4/29) (*.f64 3 y)) 1) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(/.f64 (*.f64 (+.f64 x -4/29) (*.f64 y 6)) 2) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(/.f64 (*.f64 (+.f64 x -4/29) (*.f64 y 12)) 4) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(/.f64 (*.f64 24 (*.f64 (+.f64 x -4/29) y)) 8) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(/.f64 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y))) 16) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y)))) 32) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y))))) 64) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y)))))) 128) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y))))))) 256) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y)))))))) 512) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(pow.f64 (*.f64 (+.f64 x -4/29) (*.f64 3 y)) 1) |
(*.f64 y (*.f64 (-.f64 x 4/29) 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(+.f64 x (+.f64 x (+.f64 -4/29 (+.f64 x -8/29)))) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(+.f64 (+.f64 x -4/29) (+.f64 x (+.f64 x -8/29))) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(+.f64 (*.f64 (+.f64 x -4/29) 3) 0) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(+.f64 0 (*.f64 (+.f64 x -4/29) 3)) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(+.f64 (+.f64 x (+.f64 x -8/29)) (+.f64 x -4/29)) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(+.f64 -4/29 (+.f64 x (+.f64 x (+.f64 x -8/29)))) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(+.f64 -4/29 (+.f64 (+.f64 x -4/29) (+.f64 (+.f64 x x) -4/29))) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(+.f64 (+.f64 x -8/29) (+.f64 (+.f64 x x) -4/29)) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(+.f64 (*.f64 (+.f64 x -4/29) 3/2) (*.f64 (+.f64 x -4/29) 3/2)) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(+.f64 (+.f64 (+.f64 x x) -4/29) (+.f64 x -8/29)) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(+.f64 (+.f64 x (+.f64 -4/29 (+.f64 x -8/29))) x) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(+.f64 (+.f64 x (+.f64 x (+.f64 x -8/29))) -4/29) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(+.f64 (+.f64 (+.f64 x -4/29) (+.f64 (+.f64 x x) -4/29)) -4/29) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(-.f64 (*.f64 (+.f64 x -4/29) 3) 0) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(/.f64 (*.f64 (+.f64 x -4/29) 3) 1) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(/.f64 (*.f64 (+.f64 x -4/29) 6) 2) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(/.f64 (*.f64 (+.f64 x -4/29) 12) 4) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(/.f64 (*.f64 (*.f64 (+.f64 x -4/29) 3) 8) 8) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 3) 8)) 16) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 3) 8))) 32) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 3) 8)))) 64) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 3) 8))))) 128) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 3) 8)))))) 256) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 3) 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 3) 8))))))) 512) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(pow.f64 (*.f64 (+.f64 x -4/29) 3) 1) |
(+.f64 x (+.f64 x (+.f64 x -12/29))) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(*.f64 3 (+.f64 x -4/29)) |
(+.f64 x -4/29) |
(+.f64 (+.f64 x -4/29) 0) |
(+.f64 x -4/29) |
(+.f64 0 (+.f64 x -4/29)) |
(+.f64 x -4/29) |
(+.f64 -4/29 x) |
(+.f64 x -4/29) |
(+.f64 (*.f64 x 1/2) (+.f64 -4/29 (*.f64 x 1/2))) |
(+.f64 x -4/29) |
(+.f64 (*.f64 (+.f64 x -4/29) 1/2) (*.f64 (+.f64 x -4/29) 1/2)) |
(+.f64 x -4/29) |
(+.f64 (+.f64 -4/29 (*.f64 x 1/2)) (*.f64 x 1/2)) |
(+.f64 x -4/29) |
(*.f64 (+.f64 x -4/29) 1) |
(+.f64 x -4/29) |
(*.f64 1 (+.f64 x -4/29)) |
(+.f64 x -4/29) |
(*.f64 2 (*.f64 (+.f64 x -4/29) 1/2)) |
(+.f64 x -4/29) |
(*.f64 (+.f64 x (+.f64 x -8/29)) 1/2) |
(+.f64 x -4/29) |
(*.f64 4 (*.f64 (+.f64 x -4/29) 1/4)) |
(+.f64 x -4/29) |
(*.f64 (*.f64 (+.f64 x -4/29) 4) 1/4) |
(+.f64 x -4/29) |
(*.f64 (*.f64 (+.f64 x -4/29) 8) 1/8) |
(+.f64 x -4/29) |
(*.f64 1/2 (+.f64 x (+.f64 x -8/29))) |
(+.f64 x -4/29) |
(*.f64 (*.f64 (+.f64 x -4/29) 1/2) 2) |
(+.f64 x -4/29) |
(*.f64 1/4 (*.f64 (+.f64 x -4/29) 4)) |
(+.f64 x -4/29) |
(*.f64 (*.f64 (+.f64 x -4/29) 1/4) 4) |
(+.f64 x -4/29) |
(*.f64 1/8 (*.f64 (+.f64 x -4/29) 8)) |
(+.f64 x -4/29) |
(/.f64 (+.f64 x -4/29) 1) |
(+.f64 x -4/29) |
(/.f64 (+.f64 x (+.f64 x -8/29)) 2) |
(+.f64 x -4/29) |
(/.f64 (*.f64 (+.f64 x -4/29) 4) 4) |
(+.f64 x -4/29) |
(/.f64 (*.f64 (+.f64 x -4/29) 8) 8) |
(+.f64 x -4/29) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x -4/29) 8)) 16) |
(+.f64 x -4/29) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x -4/29) 8))) 32) |
(+.f64 x -4/29) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x -4/29) 8)))) 64) |
(+.f64 x -4/29) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x -4/29) 8))))) 128) |
(+.f64 x -4/29) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x -4/29) 8)))))) 256) |
(+.f64 x -4/29) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x -4/29) 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x -4/29) 8))))))) 512) |
(+.f64 x -4/29) |
(pow.f64 (+.f64 x -4/29) 1) |
(+.f64 x -4/29) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (-.f64 x 4/29) | |
| ✓ | 0.3b | (*.f64 (-.f64 x 4/29) (*.f64 3 y)) |
Compiled 19 to 13 computations (31.6% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | 0 | (*.f64 (-.f64 x 4/29) (*.f64 3 y)) |
| 0.0ms | y | @ | -inf | (*.f64 (-.f64 x 4/29) (*.f64 3 y)) |
| 0.0ms | x | @ | -inf | (*.f64 (-.f64 x 4/29) (*.f64 3 y)) |
| 0.0ms | x | @ | inf | (*.f64 (-.f64 x 4/29) (*.f64 3 y)) |
| 0.0ms | y | @ | inf | (*.f64 (-.f64 x 4/29) (*.f64 3 y)) |
| 1× | batch-egg-rewrite |
| 2594× | rational.json-simplify-35 |
| 1422× | rational.json-simplify-1 |
| 1256× | exponential.json-3 |
| 1256× | rational.json-1 |
| 1256× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 19 |
| 1 | 60 | 19 |
| 2 | 130 | 19 |
| 3 | 268 | 19 |
| 4 | 488 | 19 |
| 5 | 1116 | 19 |
| 6 | 2512 | 19 |
| 7 | 4360 | 19 |
| 8 | 5403 | 19 |
| 9 | 6405 | 19 |
| 10 | 7341 | 19 |
| 11 | 7341 | 19 |
| 12 | 7341 | 19 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (-.f64 x 4/29) (*.f64 3 y)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x -4/29) (*.f64 3 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 x -4/29) (*.f64 3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x -4/29) y) (*.f64 (+.f64 x -4/29) (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x -4/29) (+.f64 y y)) (*.f64 (+.f64 x -4/29) y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x -4/29) (*.f64 y 3/2)) (*.f64 (+.f64 x -4/29) (*.f64 y 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 x -4/29) (*.f64 3 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x -4/29) (*.f64 3 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x -4/29) (*.f64 y 6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x -4/29) (*.f64 y 12)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 24 (*.f64 (+.f64 x -4/29) y)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y)))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 x -4/29) (*.f64 3 y)) 1))))) |
| 1× | egg-herbie |
| 3698× | rational.json-simplify-35 |
| 2504× | rational.json-simplify-2 |
| 1216× | rational.json-simplify-53 |
| 1068× | rational.json-simplify-1 |
| 992× | exponential.json-simplify-26 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 66 | 809 |
| 1 | 159 | 755 |
| 2 | 303 | 755 |
| 3 | 728 | 755 |
| 4 | 2056 | 755 |
| 5 | 3645 | 755 |
| 6 | 4530 | 755 |
| 7 | 4884 | 755 |
| 8 | 5102 | 755 |
| 9 | 5277 | 755 |
| 10 | 5446 | 755 |
| 11 | 5727 | 755 |
| 12 | 5983 | 755 |
| 13 | 6043 | 755 |
| 14 | 6130 | 755 |
| 15 | 6223 | 755 |
| 16 | 6393 | 755 |
| 17 | 6560 | 755 |
| 18 | 6727 | 755 |
| 19 | 6894 | 755 |
| 20 | 7234 | 755 |
| 21 | 7738 | 755 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -12/29 y) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(*.f64 3 (*.f64 y x)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(*.f64 3 (*.f64 y x)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(+.f64 (*.f64 (+.f64 x -4/29) (*.f64 3 y)) 0) |
(+.f64 0 (*.f64 (+.f64 x -4/29) (*.f64 3 y))) |
(+.f64 (*.f64 (+.f64 x -4/29) y) (*.f64 (+.f64 x -4/29) (+.f64 y y))) |
(+.f64 (*.f64 (+.f64 x -4/29) (+.f64 y y)) (*.f64 (+.f64 x -4/29) y)) |
(+.f64 (*.f64 (+.f64 x -4/29) (*.f64 y 3/2)) (*.f64 (+.f64 x -4/29) (*.f64 y 3/2))) |
(-.f64 (*.f64 (+.f64 x -4/29) (*.f64 3 y)) 0) |
(/.f64 (*.f64 (+.f64 x -4/29) (*.f64 3 y)) 1) |
(/.f64 (*.f64 (+.f64 x -4/29) (*.f64 y 6)) 2) |
(/.f64 (*.f64 (+.f64 x -4/29) (*.f64 y 12)) 4) |
(/.f64 (*.f64 24 (*.f64 (+.f64 x -4/29) y)) 8) |
(/.f64 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y)))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y))))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y)))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y))))))) 256) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y)))))))) 512) |
(pow.f64 (*.f64 (+.f64 x -4/29) (*.f64 3 y)) 1) |
| Outputs |
|---|
(*.f64 -12/29 y) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 (-.f64 x 4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 (-.f64 x 4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 (-.f64 x 4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 (-.f64 x 4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 (-.f64 x 4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 (-.f64 x 4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 (-.f64 x 4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 (-.f64 x 4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 (-.f64 x 4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 (-.f64 x 4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 (-.f64 x 4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 (-.f64 x 4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 3 (-.f64 x 4/29))) |
(+.f64 (*.f64 (+.f64 x -4/29) (*.f64 3 y)) 0) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 (+.f64 x -4/29) 3)) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(+.f64 0 (*.f64 (+.f64 x -4/29) (*.f64 3 y))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 (+.f64 x -4/29) 3)) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(+.f64 (*.f64 (+.f64 x -4/29) y) (*.f64 (+.f64 x -4/29) (+.f64 y y))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 (+.f64 x -4/29) 3)) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(+.f64 (*.f64 (+.f64 x -4/29) (+.f64 y y)) (*.f64 (+.f64 x -4/29) y)) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 (+.f64 x -4/29) 3)) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(+.f64 (*.f64 (+.f64 x -4/29) (*.f64 y 3/2)) (*.f64 (+.f64 x -4/29) (*.f64 y 3/2))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 (+.f64 x -4/29) 3)) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(-.f64 (*.f64 (+.f64 x -4/29) (*.f64 3 y)) 0) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 (+.f64 x -4/29) 3)) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(/.f64 (*.f64 (+.f64 x -4/29) (*.f64 3 y)) 1) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 (+.f64 x -4/29) 3)) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(/.f64 (*.f64 (+.f64 x -4/29) (*.f64 y 6)) 2) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 (+.f64 x -4/29) 3)) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(/.f64 (*.f64 (+.f64 x -4/29) (*.f64 y 12)) 4) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 (+.f64 x -4/29) 3)) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(/.f64 (*.f64 24 (*.f64 (+.f64 x -4/29) y)) 8) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 (+.f64 x -4/29) 3)) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(/.f64 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y))) 16) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 (+.f64 x -4/29) 3)) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y)))) 32) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 (+.f64 x -4/29) 3)) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y))))) 64) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 (+.f64 x -4/29) 3)) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y)))))) 128) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 (+.f64 x -4/29) 3)) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y))))))) 256) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 (+.f64 x -4/29) 3)) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 24 (*.f64 (+.f64 x -4/29) y)))))))) 512) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 (+.f64 x -4/29) 3)) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(pow.f64 (*.f64 (+.f64 x -4/29) (*.f64 3 y)) 1) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(*.f64 y (*.f64 (+.f64 x -4/29) 3)) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
Compiled 1731 to 1359 computations (21.5% saved)
8 alts after pruning (8 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 143 | 8 | 151 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 0 | 1 |
| Total | 145 | 8 | 153 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.2b | (+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
| ▶ | 0.2b | (*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
| ▶ | 32.5b | (*.f64 (*.f64 x 3) y) |
| 32.5b | (*.f64 x (*.f64 3 y)) | |
| 0.3b | (*.f64 3 (*.f64 y (-.f64 x 4/29))) | |
| ▶ | 32.5b | (*.f64 3 (*.f64 y x)) |
| 30.4b | (*.f64 -4/29 (*.f64 3 y)) | |
| ▶ | 30.3b | (*.f64 -12/29 y) |
Compiled 124 to 94 computations (24.2% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
| ✓ | 0.1b | (*.f64 -12/29 y) |
| ✓ | 0.3b | (*.f64 3 (*.f64 y x)) |
Compiled 26 to 14 computations (46.2% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | 0 | (*.f64 3 (*.f64 y x)) |
| 0.0ms | x | @ | inf | (*.f64 3 (*.f64 y x)) |
| 0.0ms | y | @ | inf | (*.f64 3 (*.f64 y x)) |
| 0.0ms | x | @ | 0 | (*.f64 3 (*.f64 y x)) |
| 0.0ms | y | @ | inf | (+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
| 1× | batch-egg-rewrite |
| 1818× | rational.json-simplify-1 |
| 1410× | exponential.json-3 |
| 1410× | rational.json-1 |
| 1410× | rational.json-2 |
| 1410× | rational.json-4 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 45 |
| 1 | 68 | 39 |
| 2 | 145 | 39 |
| 3 | 308 | 39 |
| 4 | 588 | 39 |
| 5 | 1391 | 39 |
| 6 | 3101 | 39 |
| 7 | 5370 | 39 |
| 8 | 6500 | 39 |
| 9 | 7620 | 39 |
| 10 | 7620 | 39 |
| 11 | 7620 | 39 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 3 (*.f64 y x)) |
(*.f64 -12/29 y) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) (*.f64 y (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (*.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 3 (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (+.f64 x x)) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 x 3/2)) (*.f64 y (*.f64 x 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (*.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y x) 6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 x 12)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y (*.f64 x 12))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 x 12)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 x 12))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 x 12)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 x 12))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 3 (*.f64 y x)) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y -12/29) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y -12/29))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y -6/29) (*.f64 y -6/29))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y -12/29) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -12/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -24/29) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -48/29) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y -12/29) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y -12/29) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y -12/29) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 -12/29 (*.f64 3 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 y (+.f64 -12/29 (*.f64 3 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 y (*.f64 x 3/2)) (*.f64 y -6/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (+.f64 -12/29 (*.f64 3 x)) 1/2) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y -24/29) (*.f64 (*.f64 y x) 6)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 (+.f64 -12/29 (*.f64 3 x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (/.f64 (+.f64 -12/29 (*.f64 3 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (+.f64 (*.f64 x 3/2) -6/29))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -12/29 (*.f64 3 x)) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 (+.f64 -12/29 (*.f64 3 x)) 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -12/29 (+.f64 -12/29 (*.f64 x 6))) (*.f64 y 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 y -24/29) (*.f64 (*.f64 y x) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 1/2) (+.f64 -12/29 (+.f64 -12/29 (*.f64 x 6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 1/2) (+.f64 (*.f64 x 6) -24/29))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y (*.f64 x 3/2)) (*.f64 y -6/29)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -12/29 (*.f64 3 x)) 1/2) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 y (*.f64 (+.f64 -12/29 (*.f64 3 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -12/29 (*.f64 3 x)) 2) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 3/2) -6/29) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 6) -24/29) (*.f64 y 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y -24/29) (*.f64 (*.f64 y x) 6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 (+.f64 -12/29 (*.f64 3 x)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 1))))) |
| 1× | egg-herbie |
| 2650× | rational.json-simplify-2 |
| 2386× | rational.json-simplify-35 |
| 1308× | rational.json-simplify-51 |
| 1008× | exponential.json-simplify-26 |
| 894× | rational.json-simplify-1 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 139 | 1246 |
| 1 | 319 | 1214 |
| 2 | 699 | 1214 |
| 3 | 2156 | 1214 |
| 4 | 5069 | 1214 |
| 5 | 6034 | 1214 |
| 6 | 6498 | 1214 |
| 7 | 6747 | 1214 |
| 8 | 6945 | 1214 |
| 9 | 6956 | 1214 |
| 10 | 7869 | 1214 |
| 11 | 7870 | 1214 |
| 12 | 7874 | 1214 |
| 13 | 7874 | 1214 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
(*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
(*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
(*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
(*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
(*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
(*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
(*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
(*.f64 -1 (*.f64 y (+.f64 12/29 (*.f64 -3 x)))) |
(*.f64 -1 (*.f64 y (+.f64 12/29 (*.f64 -3 x)))) |
(*.f64 -1 (*.f64 y (+.f64 12/29 (*.f64 -3 x)))) |
(*.f64 -1 (*.f64 y (+.f64 12/29 (*.f64 -3 x)))) |
(*.f64 -12/29 y) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 y (+.f64 x x))) |
(+.f64 (*.f64 3 (*.f64 y x)) 0) |
(+.f64 0 (*.f64 3 (*.f64 y x))) |
(+.f64 (*.f64 y (+.f64 x x)) (*.f64 y x)) |
(+.f64 (*.f64 y (*.f64 x 3/2)) (*.f64 y (*.f64 x 3/2))) |
(-.f64 (*.f64 3 (*.f64 y x)) 0) |
(/.f64 (*.f64 3 (*.f64 y x)) 1) |
(/.f64 (*.f64 (*.f64 y x) 6) 2) |
(/.f64 (*.f64 y (*.f64 x 12)) 4) |
(/.f64 (*.f64 2 (*.f64 y (*.f64 x 12))) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 x 12)))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 x 12))))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 x 12)))))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 x 12))))))) 128) |
(pow.f64 (*.f64 3 (*.f64 y x)) 1) |
(+.f64 (*.f64 y -12/29) 0) |
(+.f64 0 (*.f64 y -12/29)) |
(+.f64 (*.f64 y -6/29) (*.f64 y -6/29)) |
(-.f64 (*.f64 y -12/29) 0) |
(/.f64 (*.f64 y -12/29) 1) |
(/.f64 (*.f64 y -24/29) 2) |
(/.f64 (*.f64 y -48/29) 4) |
(/.f64 (*.f64 (*.f64 y -12/29) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y -12/29) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8))))) 128) |
(pow.f64 (*.f64 y -12/29) 1) |
(-.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 0) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(*.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 1) |
(*.f64 1 (*.f64 y (+.f64 -12/29 (*.f64 3 x)))) |
(*.f64 2 (+.f64 (*.f64 y (*.f64 x 3/2)) (*.f64 y -6/29))) |
(*.f64 2 (*.f64 (*.f64 (+.f64 -12/29 (*.f64 3 x)) 1/2) y)) |
(*.f64 (+.f64 (*.f64 y -24/29) (*.f64 (*.f64 y x) 6)) 1/2) |
(*.f64 (+.f64 y y) (*.f64 (+.f64 -12/29 (*.f64 3 x)) 1/2)) |
(*.f64 (+.f64 y y) (/.f64 (+.f64 -12/29 (*.f64 3 x)) 2)) |
(*.f64 (+.f64 y y) (+.f64 (*.f64 x 3/2) -6/29)) |
(*.f64 (+.f64 -12/29 (*.f64 3 x)) y) |
(*.f64 4 (/.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 4)) |
(*.f64 (*.f64 y (*.f64 (+.f64 -12/29 (*.f64 3 x)) 4)) 1/4) |
(*.f64 (+.f64 -12/29 (+.f64 -12/29 (*.f64 x 6))) (*.f64 y 1/2)) |
(*.f64 1/2 (+.f64 (*.f64 y -24/29) (*.f64 (*.f64 y x) 6))) |
(*.f64 (*.f64 y 1/2) (+.f64 -12/29 (+.f64 -12/29 (*.f64 x 6)))) |
(*.f64 (*.f64 y 1/2) (+.f64 (*.f64 x 6) -24/29)) |
(*.f64 (+.f64 (*.f64 y (*.f64 x 3/2)) (*.f64 y -6/29)) 2) |
(*.f64 (*.f64 (+.f64 -12/29 (*.f64 3 x)) 1/2) (+.f64 y y)) |
(*.f64 1/4 (*.f64 y (*.f64 (+.f64 -12/29 (*.f64 3 x)) 4))) |
(*.f64 (/.f64 (+.f64 -12/29 (*.f64 3 x)) 2) (+.f64 y y)) |
(*.f64 (/.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 4) 4) |
(*.f64 (+.f64 (*.f64 x 3/2) -6/29) (+.f64 y y)) |
(*.f64 (+.f64 (*.f64 x 6) -24/29) (*.f64 y 1/2)) |
(/.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 1) |
(/.f64 (+.f64 (*.f64 y -24/29) (*.f64 (*.f64 y x) 6)) 2) |
(/.f64 (*.f64 y (*.f64 (+.f64 -12/29 (*.f64 3 x)) 4)) 4) |
(/.f64 (*.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 8))))) 128) |
(pow.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 1) |
| Outputs |
|---|
(*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
(*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
(*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
(*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
(*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
(*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
(*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
(*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
(*.f64 -1 (*.f64 y (+.f64 12/29 (*.f64 -3 x)))) |
(*.f64 y (*.f64 (+.f64 12/29 (*.f64 x -3)) -1)) |
(*.f64 y (neg.f64 (+.f64 12/29 (*.f64 x -3)))) |
(*.f64 (+.f64 12/29 (*.f64 x -3)) (neg.f64 y)) |
(*.f64 -1 (*.f64 y (+.f64 12/29 (*.f64 -3 x)))) |
(*.f64 y (*.f64 (+.f64 12/29 (*.f64 x -3)) -1)) |
(*.f64 y (neg.f64 (+.f64 12/29 (*.f64 x -3)))) |
(*.f64 (+.f64 12/29 (*.f64 x -3)) (neg.f64 y)) |
(*.f64 -1 (*.f64 y (+.f64 12/29 (*.f64 -3 x)))) |
(*.f64 y (*.f64 (+.f64 12/29 (*.f64 x -3)) -1)) |
(*.f64 y (neg.f64 (+.f64 12/29 (*.f64 x -3)))) |
(*.f64 (+.f64 12/29 (*.f64 x -3)) (neg.f64 y)) |
(*.f64 -1 (*.f64 y (+.f64 12/29 (*.f64 -3 x)))) |
(*.f64 y (*.f64 (+.f64 12/29 (*.f64 x -3)) -1)) |
(*.f64 y (neg.f64 (+.f64 12/29 (*.f64 x -3)))) |
(*.f64 (+.f64 12/29 (*.f64 x -3)) (neg.f64 y)) |
(*.f64 -12/29 y) |
(*.f64 y -12/29) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 x y)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 x y)) |
(+.f64 (*.f64 y x) (*.f64 y (+.f64 x x))) |
(*.f64 3 (*.f64 x y)) |
(+.f64 (*.f64 3 (*.f64 y x)) 0) |
(*.f64 3 (*.f64 x y)) |
(+.f64 0 (*.f64 3 (*.f64 y x))) |
(*.f64 3 (*.f64 x y)) |
(+.f64 (*.f64 y (+.f64 x x)) (*.f64 y x)) |
(*.f64 3 (*.f64 x y)) |
(+.f64 (*.f64 y (*.f64 x 3/2)) (*.f64 y (*.f64 x 3/2))) |
(*.f64 3 (*.f64 x y)) |
(-.f64 (*.f64 3 (*.f64 y x)) 0) |
(*.f64 3 (*.f64 x y)) |
(/.f64 (*.f64 3 (*.f64 y x)) 1) |
(*.f64 3 (*.f64 x y)) |
(/.f64 (*.f64 (*.f64 y x) 6) 2) |
(*.f64 3 (*.f64 x y)) |
(/.f64 (*.f64 y (*.f64 x 12)) 4) |
(*.f64 3 (*.f64 x y)) |
(/.f64 (*.f64 2 (*.f64 y (*.f64 x 12))) 8) |
(*.f64 3 (*.f64 x y)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 x 12)))) 16) |
(*.f64 3 (*.f64 x y)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 x 12))))) 32) |
(*.f64 3 (*.f64 x y)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 x 12)))))) 64) |
(*.f64 3 (*.f64 x y)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 x 12))))))) 128) |
(*.f64 3 (*.f64 x y)) |
(pow.f64 (*.f64 3 (*.f64 y x)) 1) |
(*.f64 3 (*.f64 x y)) |
(+.f64 (*.f64 y -12/29) 0) |
(*.f64 y -12/29) |
(+.f64 0 (*.f64 y -12/29)) |
(*.f64 y -12/29) |
(+.f64 (*.f64 y -6/29) (*.f64 y -6/29)) |
(*.f64 y -12/29) |
(-.f64 (*.f64 y -12/29) 0) |
(*.f64 y -12/29) |
(/.f64 (*.f64 y -12/29) 1) |
(*.f64 y -12/29) |
(/.f64 (*.f64 y -24/29) 2) |
(*.f64 y -12/29) |
(/.f64 (*.f64 y -48/29) 4) |
(*.f64 y -12/29) |
(/.f64 (*.f64 (*.f64 y -12/29) 8) 8) |
(*.f64 y -12/29) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y -12/29) 8)) 16) |
(*.f64 y -12/29) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8))) 32) |
(*.f64 y -12/29) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8)))) 64) |
(*.f64 y -12/29) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8))))) 128) |
(*.f64 y -12/29) |
(pow.f64 (*.f64 y -12/29) 1) |
(*.f64 y -12/29) |
(-.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 0) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(*.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 1) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(*.f64 1 (*.f64 y (+.f64 -12/29 (*.f64 3 x)))) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(*.f64 2 (+.f64 (*.f64 y (*.f64 x 3/2)) (*.f64 y -6/29))) |
(*.f64 2 (+.f64 (*.f64 x (*.f64 3/2 y)) (*.f64 y -6/29))) |
(*.f64 2 (*.f64 y (+.f64 (*.f64 x 3/2) -6/29))) |
(*.f64 y (*.f64 (+.f64 (*.f64 x 3/2) -6/29) 2)) |
(*.f64 y (*.f64 2 (+.f64 (*.f64 x 3/2) -6/29))) |
(*.f64 2 (*.f64 (*.f64 (+.f64 -12/29 (*.f64 3 x)) 1/2) y)) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(*.f64 (+.f64 (*.f64 y -24/29) (*.f64 (*.f64 y x) 6)) 1/2) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(*.f64 (+.f64 y y) (*.f64 (+.f64 -12/29 (*.f64 3 x)) 1/2)) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(*.f64 (+.f64 y y) (/.f64 (+.f64 -12/29 (*.f64 3 x)) 2)) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(*.f64 (+.f64 y y) (+.f64 (*.f64 x 3/2) -6/29)) |
(*.f64 2 (+.f64 (*.f64 x (*.f64 3/2 y)) (*.f64 y -6/29))) |
(*.f64 2 (*.f64 y (+.f64 (*.f64 x 3/2) -6/29))) |
(*.f64 y (*.f64 (+.f64 (*.f64 x 3/2) -6/29) 2)) |
(*.f64 y (*.f64 2 (+.f64 (*.f64 x 3/2) -6/29))) |
(*.f64 (+.f64 -12/29 (*.f64 3 x)) y) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(*.f64 4 (/.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 4)) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(*.f64 (*.f64 y (*.f64 (+.f64 -12/29 (*.f64 3 x)) 4)) 1/4) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(*.f64 (+.f64 -12/29 (+.f64 -12/29 (*.f64 x 6))) (*.f64 y 1/2)) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(*.f64 1/2 (+.f64 (*.f64 y -24/29) (*.f64 (*.f64 y x) 6))) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(*.f64 (*.f64 y 1/2) (+.f64 -12/29 (+.f64 -12/29 (*.f64 x 6)))) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(*.f64 (*.f64 y 1/2) (+.f64 (*.f64 x 6) -24/29)) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(*.f64 (+.f64 (*.f64 y (*.f64 x 3/2)) (*.f64 y -6/29)) 2) |
(*.f64 2 (+.f64 (*.f64 x (*.f64 3/2 y)) (*.f64 y -6/29))) |
(*.f64 2 (*.f64 y (+.f64 (*.f64 x 3/2) -6/29))) |
(*.f64 y (*.f64 (+.f64 (*.f64 x 3/2) -6/29) 2)) |
(*.f64 y (*.f64 2 (+.f64 (*.f64 x 3/2) -6/29))) |
(*.f64 (*.f64 (+.f64 -12/29 (*.f64 3 x)) 1/2) (+.f64 y y)) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(*.f64 1/4 (*.f64 y (*.f64 (+.f64 -12/29 (*.f64 3 x)) 4))) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(*.f64 (/.f64 (+.f64 -12/29 (*.f64 3 x)) 2) (+.f64 y y)) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(*.f64 (/.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 4) 4) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(*.f64 (+.f64 (*.f64 x 3/2) -6/29) (+.f64 y y)) |
(*.f64 2 (+.f64 (*.f64 x (*.f64 3/2 y)) (*.f64 y -6/29))) |
(*.f64 2 (*.f64 y (+.f64 (*.f64 x 3/2) -6/29))) |
(*.f64 y (*.f64 (+.f64 (*.f64 x 3/2) -6/29) 2)) |
(*.f64 y (*.f64 2 (+.f64 (*.f64 x 3/2) -6/29))) |
(*.f64 (+.f64 (*.f64 x 6) -24/29) (*.f64 y 1/2)) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(/.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 1) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(/.f64 (+.f64 (*.f64 y -24/29) (*.f64 (*.f64 y x) 6)) 2) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(/.f64 (*.f64 y (*.f64 (+.f64 -12/29 (*.f64 3 x)) 4)) 4) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(/.f64 (*.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 8) 8) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 8)) 16) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 8))) 32) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 8)))) 64) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 8))))) 128) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
(pow.f64 (*.f64 y (+.f64 -12/29 (*.f64 3 x))) 1) |
(*.f64 y (+.f64 (*.f64 3 x) -12/29)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.1b | (*.f64 -12/29 y) |
Compiled 7 to 5 computations (28.6% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.3b | (*.f64 3 (*.f64 y x)) |
Compiled 13 to 6 computations (53.8% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (*.f64 (*.f64 x 3) y) |
Compiled 13 to 8 computations (38.5% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | 0 | (*.f64 (*.f64 x 3) y) |
| 0.0ms | x | @ | inf | (*.f64 (*.f64 x 3) y) |
| 0.0ms | x | @ | -inf | (*.f64 (*.f64 x 3) y) |
| 0.0ms | y | @ | -inf | (*.f64 (*.f64 x 3) y) |
| 0.0ms | y | @ | inf | (*.f64 (*.f64 x 3) y) |
| 1× | batch-egg-rewrite |
| 2630× | rational.json-simplify-2 |
| 2170× | rational.json-simplify-35 |
| 1300× | rational.json-1 |
| 1140× | rational.json-simplify-1 |
| 1038× | exponential.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 46 | 13 |
| 2 | 103 | 13 |
| 3 | 223 | 13 |
| 4 | 409 | 13 |
| 5 | 950 | 13 |
| 6 | 2100 | 13 |
| 7 | 3650 | 13 |
| 8 | 4560 | 13 |
| 9 | 5466 | 13 |
| 10 | 6270 | 13 |
| 11 | 6270 | 13 |
| 12 | 7134 | 13 |
| 13 | 7134 | 13 |
| 14 | 7912 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (*.f64 x 3) y) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 3 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x y) (*.f64 y (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (+.f64 x x)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x y) 3/2) (*.f64 (*.f64 x y) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 3 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 3 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 y 6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 y 12)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x y) 24) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x y) 24)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 3 y)) 1))))) |
| 1× | egg-herbie |
| 4578× | rational.json-simplify-35 |
| 2450× | rational.json-simplify-2 |
| 1174× | rational.json-simplify-1 |
| 816× | exponential.json-simplify-26 |
| 786× | rational.json-simplify-53 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 56 | 533 |
| 1 | 138 | 533 |
| 2 | 276 | 533 |
| 3 | 705 | 533 |
| 4 | 1941 | 533 |
| 5 | 3586 | 533 |
| 6 | 4339 | 533 |
| 7 | 4630 | 533 |
| 8 | 4834 | 533 |
| 9 | 5018 | 533 |
| 10 | 5195 | 533 |
| 11 | 5674 | 533 |
| 12 | 5775 | 533 |
| 13 | 5833 | 533 |
| 14 | 5915 | 533 |
| 15 | 6058 | 533 |
| 16 | 6360 | 533 |
| 17 | 6650 | 533 |
| 18 | 6913 | 533 |
| 19 | 7094 | 533 |
| 20 | 7262 | 533 |
| 21 | 7430 | 533 |
| 22 | 7597 | 533 |
| 23 | 7767 | 533 |
| 24 | 7781 | 533 |
| 25 | 7793 | 533 |
| 26 | 7793 | 533 |
| 27 | 7957 | 533 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(+.f64 (*.f64 x (*.f64 3 y)) 0) |
(+.f64 0 (*.f64 x (*.f64 3 y))) |
(+.f64 (*.f64 x y) (*.f64 y (+.f64 x x))) |
(+.f64 (*.f64 y (+.f64 x x)) (*.f64 x y)) |
(+.f64 (*.f64 (*.f64 x y) 3/2) (*.f64 (*.f64 x y) 3/2)) |
(-.f64 (*.f64 x (*.f64 3 y)) 0) |
(/.f64 (*.f64 x (*.f64 3 y)) 1) |
(/.f64 (*.f64 x (*.f64 y 6)) 2) |
(/.f64 (*.f64 x (*.f64 y 12)) 4) |
(/.f64 (*.f64 (*.f64 x y) 24) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 x y) 24)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24)))))) 256) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24))))))) 512) |
(pow.f64 (*.f64 x (*.f64 3 y)) 1) |
| Outputs |
|---|
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(+.f64 (*.f64 x (*.f64 3 y)) 0) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(+.f64 0 (*.f64 x (*.f64 3 y))) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(+.f64 (*.f64 x y) (*.f64 y (+.f64 x x))) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(+.f64 (*.f64 y (+.f64 x x)) (*.f64 x y)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(+.f64 (*.f64 (*.f64 x y) 3/2) (*.f64 (*.f64 x y) 3/2)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(-.f64 (*.f64 x (*.f64 3 y)) 0) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(/.f64 (*.f64 x (*.f64 3 y)) 1) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(/.f64 (*.f64 x (*.f64 y 6)) 2) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(/.f64 (*.f64 x (*.f64 y 12)) 4) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(/.f64 (*.f64 (*.f64 x y) 24) 8) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 x y) 24)) 16) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24))) 32) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24)))) 64) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24))))) 128) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24)))))) 256) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24))))))) 512) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(pow.f64 (*.f64 x (*.f64 3 y)) 1) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 (*.f64 3 x) 12/29) |
| ✓ | 0.2b | (*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
Compiled 21 to 15 computations (28.6% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | 0 | (*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
| 0.0ms | y | @ | 0 | (*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
| 0.0ms | x | @ | -inf | (*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
| 0.0ms | x | @ | inf | (*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
| 0.0ms | y | @ | inf | (*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
| 1× | batch-egg-rewrite |
| 2450× | rational.json-simplify-35 |
| 1462× | rational.json-simplify-1 |
| 1238× | exponential.json-3 |
| 1238× | rational.json-1 |
| 1238× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 32 |
| 1 | 58 | 32 |
| 2 | 115 | 32 |
| 3 | 230 | 32 |
| 4 | 413 | 32 |
| 5 | 907 | 32 |
| 6 | 2205 | 32 |
| 7 | 3859 | 32 |
| 8 | 4967 | 32 |
| 9 | 6358 | 32 |
| 10 | 7097 | 32 |
| 11 | 7097 | 32 |
| 12 | 7097 | 32 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
(-.f64 (*.f64 3 x) 12/29) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 (*.f64 3 x) -12/29) y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 1/2)) (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) (+.f64 y y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 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) -12/29) (*.f64 y 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) -12/29) (*.f64 y 8))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 8)))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) y) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (+.f64 (+.f64 x x) -12/29))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 x) -12/29)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 3 x) -12/29) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (*.f64 3 x) -12/29))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x x) (+.f64 x -12/29))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -12/29 (*.f64 3 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) 1/2) (*.f64 (+.f64 (*.f64 3 x) -12/29) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 3/2) (+.f64 -12/29 (*.f64 x 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x -12/29) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (+.f64 x x) -12/29) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -12/29 (*.f64 x 3/2)) (*.f64 x 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 3 x) -12/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 3 x) -12/29))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -12/29 (+.f64 (*.f64 x 6) -12/29)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (*.f64 3 x) -12/29) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 -12/29 (+.f64 (*.f64 x 6) -12/29)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 3 x) -12/29) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 3 x) -12/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -12/29 (+.f64 (*.f64 x 6) -12/29)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) 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) -12/29) 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) -12/29) 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 3 x) -12/29) 1))))) |
| 1× | egg-herbie |
| 3502× | rational.json-simplify-53 |
| 2438× | rational.json-simplify-2 |
| 2182× | rational.json-simplify-35 |
| 1300× | rational.json-simplify-51 |
| 914× | rational.json-simplify-1 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 109 | 1114 |
| 1 | 238 | 970 |
| 2 | 725 | 970 |
| 3 | 1806 | 970 |
| 4 | 4468 | 970 |
| 5 | 4953 | 970 |
| 6 | 5086 | 970 |
| 7 | 5181 | 970 |
| 8 | 5275 | 970 |
| 9 | 5369 | 970 |
| 10 | 6549 | 970 |
| 11 | 6643 | 970 |
| 12 | 6737 | 970 |
| 13 | 6831 | 970 |
| 14 | 6831 | 970 |
| 15 | 6831 | 970 |
| 16 | 6925 | 970 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -12/29 y) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(*.f64 3 (*.f64 y x)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(*.f64 3 (*.f64 y x)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
-12/29 |
(*.f64 3 x) |
(*.f64 3 x) |
(+.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) y) 0) |
(+.f64 0 (*.f64 (+.f64 (*.f64 3 x) -12/29) y)) |
(+.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 1/2)) (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 1/2))) |
(-.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) y) 0) |
(/.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) y) 1) |
(/.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) (+.f64 y y)) 2) |
(/.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 4)) 4) |
(/.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 8)) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 8))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 8)))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 8))))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 8)))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 8))))))) 256) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 8))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 8)))))))) 512) |
(pow.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) y) 1) |
(+.f64 x (+.f64 (+.f64 x x) -12/29)) |
(+.f64 (*.f64 3 x) -12/29) |
(+.f64 (+.f64 (*.f64 3 x) -12/29) 0) |
(+.f64 0 (+.f64 (*.f64 3 x) -12/29)) |
(+.f64 (+.f64 x x) (+.f64 x -12/29)) |
(+.f64 -12/29 (*.f64 3 x)) |
(+.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) 1/2) (*.f64 (+.f64 (*.f64 3 x) -12/29) 1/2)) |
(+.f64 (*.f64 x 3/2) (+.f64 -12/29 (*.f64 x 3/2))) |
(+.f64 (+.f64 x -12/29) (+.f64 x x)) |
(+.f64 (+.f64 (+.f64 x x) -12/29) x) |
(+.f64 (+.f64 -12/29 (*.f64 x 3/2)) (*.f64 x 3/2)) |
(*.f64 (+.f64 (*.f64 3 x) -12/29) 1) |
(*.f64 1 (+.f64 (*.f64 3 x) -12/29)) |
(*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) 1/2)) |
(*.f64 (+.f64 -12/29 (+.f64 (*.f64 x 6) -12/29)) 1/2) |
(*.f64 4 (*.f64 (+.f64 (*.f64 3 x) -12/29) 1/4)) |
(*.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) 4) 1/4) |
(*.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8) 1/8) |
(*.f64 1/2 (+.f64 -12/29 (+.f64 (*.f64 x 6) -12/29))) |
(*.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 3 x) -12/29) 4)) |
(*.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) 1/4) 4) |
(*.f64 1/8 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8)) |
(/.f64 (+.f64 (*.f64 3 x) -12/29) 1) |
(/.f64 (+.f64 -12/29 (+.f64 (*.f64 x 6) -12/29)) 2) |
(/.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) 4) 4) |
(/.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8)))))) 256) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8))))))) 512) |
(pow.f64 (+.f64 (*.f64 3 x) -12/29) 1) |
| Outputs |
|---|
(*.f64 -12/29 y) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
-12/29 |
(*.f64 3 x) |
(*.f64 3 x) |
(+.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) y) 0) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 0 (*.f64 (+.f64 (*.f64 3 x) -12/29) y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 1/2)) (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 1/2))) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(-.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) y) 0) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(/.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) y) 1) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(/.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) (+.f64 y y)) 2) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(/.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 4)) 4) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(/.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 8)) 8) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 8))) 16) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 8)))) 32) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 8))))) 64) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 8)))))) 128) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 8))))))) 256) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 8))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) (*.f64 y 8)))))))) 512) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(pow.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) y) 1) |
(+.f64 (*.f64 -12/29 y) (*.f64 3 (*.f64 y x))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 x (+.f64 (+.f64 x x) -12/29)) |
(+.f64 (+.f64 x x) (+.f64 -12/29 x)) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(+.f64 x (+.f64 x (+.f64 -12/29 x))) |
(+.f64 (*.f64 3 x) -12/29) |
(+.f64 -12/29 (*.f64 3 x)) |
(+.f64 (+.f64 (*.f64 3 x) -12/29) 0) |
(+.f64 -12/29 (*.f64 3 x)) |
(+.f64 0 (+.f64 (*.f64 3 x) -12/29)) |
(+.f64 -12/29 (*.f64 3 x)) |
(+.f64 (+.f64 x x) (+.f64 x -12/29)) |
(+.f64 (+.f64 x x) (+.f64 -12/29 x)) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(+.f64 x (+.f64 x (+.f64 -12/29 x))) |
(+.f64 -12/29 (*.f64 3 x)) |
(+.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) 1/2) (*.f64 (+.f64 (*.f64 3 x) -12/29) 1/2)) |
(+.f64 -12/29 (*.f64 3 x)) |
(+.f64 (*.f64 x 3/2) (+.f64 -12/29 (*.f64 x 3/2))) |
(+.f64 -12/29 (*.f64 3 x)) |
(+.f64 (+.f64 x -12/29) (+.f64 x x)) |
(+.f64 (+.f64 x x) (+.f64 -12/29 x)) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(+.f64 x (+.f64 x (+.f64 -12/29 x))) |
(+.f64 (+.f64 (+.f64 x x) -12/29) x) |
(+.f64 (+.f64 x x) (+.f64 -12/29 x)) |
(+.f64 x (+.f64 -12/29 (+.f64 x x))) |
(+.f64 x (+.f64 x (+.f64 -12/29 x))) |
(+.f64 (+.f64 -12/29 (*.f64 x 3/2)) (*.f64 x 3/2)) |
(+.f64 -12/29 (*.f64 3 x)) |
(*.f64 (+.f64 (*.f64 3 x) -12/29) 1) |
(+.f64 -12/29 (*.f64 3 x)) |
(*.f64 1 (+.f64 (*.f64 3 x) -12/29)) |
(+.f64 -12/29 (*.f64 3 x)) |
(*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) 1/2)) |
(+.f64 -12/29 (*.f64 3 x)) |
(*.f64 (+.f64 -12/29 (+.f64 (*.f64 x 6) -12/29)) 1/2) |
(+.f64 -12/29 (*.f64 3 x)) |
(*.f64 4 (*.f64 (+.f64 (*.f64 3 x) -12/29) 1/4)) |
(+.f64 -12/29 (*.f64 3 x)) |
(*.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) 4) 1/4) |
(+.f64 -12/29 (*.f64 3 x)) |
(*.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8) 1/8) |
(+.f64 -12/29 (*.f64 3 x)) |
(*.f64 1/2 (+.f64 -12/29 (+.f64 (*.f64 x 6) -12/29))) |
(+.f64 -12/29 (*.f64 3 x)) |
(*.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) 1/2) 2) |
(+.f64 -12/29 (*.f64 3 x)) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 3 x) -12/29) 4)) |
(+.f64 -12/29 (*.f64 3 x)) |
(*.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) 1/4) 4) |
(+.f64 -12/29 (*.f64 3 x)) |
(*.f64 1/8 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8)) |
(+.f64 -12/29 (*.f64 3 x)) |
(/.f64 (+.f64 (*.f64 3 x) -12/29) 1) |
(+.f64 -12/29 (*.f64 3 x)) |
(/.f64 (+.f64 -12/29 (+.f64 (*.f64 x 6) -12/29)) 2) |
(+.f64 -12/29 (*.f64 3 x)) |
(/.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) 4) 4) |
(+.f64 -12/29 (*.f64 3 x)) |
(/.f64 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8) 8) |
(+.f64 -12/29 (*.f64 3 x)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8)) 16) |
(+.f64 -12/29 (*.f64 3 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8))) 32) |
(+.f64 -12/29 (*.f64 3 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8)))) 64) |
(+.f64 -12/29 (*.f64 3 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8))))) 128) |
(+.f64 -12/29 (*.f64 3 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8)))))) 256) |
(+.f64 -12/29 (*.f64 3 x)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 3 x) -12/29) 8))))))) 512) |
(+.f64 -12/29 (*.f64 3 x)) |
(pow.f64 (+.f64 (*.f64 3 x) -12/29) 1) |
(+.f64 -12/29 (*.f64 3 x)) |
Compiled 1978 to 1466 computations (25.9% saved)
8 alts after pruning (3 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 182 | 0 | 182 |
| Fresh | 0 | 3 | 3 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 4 | 4 |
| Total | 182 | 8 | 190 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.2b | (+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
| ✓ | 0.2b | (*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
| ✓ | 32.5b | (*.f64 (*.f64 x 3) y) |
| ▶ | 32.5b | (*.f64 x (*.f64 3 y)) |
| ▶ | 0.3b | (*.f64 3 (*.f64 y (-.f64 x 4/29))) |
| ✓ | 32.5b | (*.f64 3 (*.f64 y x)) |
| ▶ | 30.4b | (*.f64 -4/29 (*.f64 3 y)) |
| ✓ | 30.3b | (*.f64 -12/29 y) |
Compiled 62 to 47 computations (24.2% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.3b | (*.f64 -4/29 (*.f64 3 y)) |
Compiled 13 to 10 computations (23.1% saved)
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (*.f64 -4/29 (*.f64 3 y)) |
| 0.0ms | y | @ | inf | (*.f64 -4/29 (*.f64 3 y)) |
| 0.0ms | y | @ | -inf | (*.f64 -4/29 (*.f64 3 y)) |
| 1× | batch-egg-rewrite |
| 3338× | rational.json-simplify-35 |
| 2312× | rational.json-simplify-2 |
| 1152× | rational.json-simplify-1 |
| 1036× | exponential.json-3 |
| 1036× | rational.json-1 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 48 | 7 |
| 2 | 111 | 7 |
| 3 | 222 | 7 |
| 4 | 401 | 7 |
| 5 | 878 | 7 |
| 6 | 1889 | 7 |
| 7 | 2955 | 7 |
| 8 | 3366 | 7 |
| 9 | 3925 | 7 |
| 10 | 4572 | 7 |
| 11 | 4955 | 7 |
| 12 | 4955 | 7 |
| 13 | 5398 | 7 |
| 14 | 5398 | 7 |
| 15 | 5819 | 7 |
| 16 | 6515 | 7 |
| 17 | 7427 | 7 |
| 18 | 7810 | 7 |
| 19 | 7864 | 7 |
| 20 | 7864 | 7 |
| 21 | 7864 | 7 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -4/29 (*.f64 3 y)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y -12/29) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y -12/29))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -4/29 y) (*.f64 y -8/29))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y -8/29) (*.f64 -4/29 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y -6/29) (*.f64 y -6/29))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y -12/29) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -12/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -24/29) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -48/29) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y -12/29) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y -12/29) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8)))))))) 1024)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8))))))))) 2048)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8)))))))))) 4096)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y -12/29) 1))))) |
| 1× | egg-herbie |
| 2522× | rational.json-simplify-2 |
| 2308× | rational.json-simplify-51 |
| 2284× | rational.json-simplify-41 |
| 2192× | rational.json-simplify-35 |
| 488× | exponential.json-simplify-26 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 60 | 224 |
| 1 | 156 | 224 |
| 2 | 300 | 224 |
| 3 | 1045 | 224 |
| 4 | 2428 | 224 |
| 5 | 3094 | 224 |
| 6 | 3414 | 224 |
| 7 | 3501 | 224 |
| 8 | 3576 | 224 |
| 9 | 3651 | 224 |
| 10 | 7041 | 224 |
| 11 | 7341 | 224 |
| 12 | 7426 | 224 |
| 13 | 7498 | 224 |
| 14 | 7570 | 224 |
| 15 | 7642 | 224 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(+.f64 (*.f64 y -12/29) 0) |
(+.f64 0 (*.f64 y -12/29)) |
(+.f64 (*.f64 -4/29 y) (*.f64 y -8/29)) |
(+.f64 (*.f64 y -8/29) (*.f64 -4/29 y)) |
(+.f64 (*.f64 y -6/29) (*.f64 y -6/29)) |
(-.f64 (*.f64 y -12/29) 0) |
(/.f64 (*.f64 y -12/29) 1) |
(/.f64 (*.f64 y -24/29) 2) |
(/.f64 (*.f64 y -48/29) 4) |
(/.f64 (*.f64 (*.f64 y -12/29) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y -12/29) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8)))))) 256) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8))))))) 512) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8)))))))) 1024) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8))))))))) 2048) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8)))))))))) 4096) |
(pow.f64 (*.f64 y -12/29) 1) |
| Outputs |
|---|
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(+.f64 (*.f64 y -12/29) 0) |
(*.f64 -12/29 y) |
(+.f64 0 (*.f64 y -12/29)) |
(*.f64 -12/29 y) |
(+.f64 (*.f64 -4/29 y) (*.f64 y -8/29)) |
(*.f64 -12/29 y) |
(+.f64 (*.f64 y -8/29) (*.f64 -4/29 y)) |
(*.f64 -12/29 y) |
(+.f64 (*.f64 y -6/29) (*.f64 y -6/29)) |
(*.f64 -12/29 y) |
(-.f64 (*.f64 y -12/29) 0) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 y -12/29) 1) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 y -24/29) 2) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 y -48/29) 4) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 (*.f64 y -12/29) 8) 8) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 2 (*.f64 (*.f64 y -12/29) 8)) 16) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8))) 32) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8)))) 64) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8))))) 128) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8)))))) 256) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8))))))) 512) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8)))))))) 1024) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8))))))))) 2048) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y -12/29) 8)))))))))) 4096) |
(*.f64 -12/29 y) |
(pow.f64 (*.f64 y -12/29) 1) |
(*.f64 -12/29 y) |
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (-.f64 x 4/29) | |
| ✓ | 0.1b | (*.f64 y (-.f64 x 4/29)) |
| ✓ | 0.3b | (*.f64 3 (*.f64 y (-.f64 x 4/29))) |
Compiled 21 to 14 computations (33.3% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | -inf | (*.f64 y (-.f64 x 4/29)) |
| 0.0ms | x | @ | -inf | (*.f64 y (-.f64 x 4/29)) |
| 0.0ms | x | @ | -inf | (*.f64 3 (*.f64 y (-.f64 x 4/29))) |
| 0.0ms | y | @ | inf | (*.f64 3 (*.f64 y (-.f64 x 4/29))) |
| 0.0ms | y | @ | 0 | (*.f64 3 (*.f64 y (-.f64 x 4/29))) |
| 1× | batch-egg-rewrite |
| 2558× | rational.json-simplify-35 |
| 1400× | rational.json-simplify-1 |
| 1232× | exponential.json-3 |
| 1232× | rational.json-1 |
| 1232× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 32 |
| 1 | 60 | 32 |
| 2 | 130 | 32 |
| 3 | 268 | 32 |
| 4 | 488 | 32 |
| 5 | 1110 | 32 |
| 6 | 2470 | 32 |
| 7 | 4236 | 32 |
| 8 | 5215 | 32 |
| 9 | 6214 | 32 |
| 10 | 7125 | 32 |
| 11 | 7125 | 32 |
| 12 | 7125 | 32 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 y (-.f64 x 4/29)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (+.f64 x -4/29)) (*.f64 y (+.f64 x (+.f64 x -8/29))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (*.f64 y (+.f64 x -4/29))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 3 (*.f64 y (+.f64 x -4/29))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (+.f64 x (+.f64 x -8/29))) (*.f64 y (+.f64 x -4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 (+.f64 x -4/29) 3/2)) (*.f64 y (*.f64 (+.f64 x -4/29) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 3 (*.f64 y (+.f64 x -4/29))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (*.f64 y (+.f64 x -4/29))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 (+.f64 x -4/29) 6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 (+.f64 x -4/29) 12)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y (*.f64 (+.f64 x -4/29) 12))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (+.f64 x -4/29) 12)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (+.f64 x -4/29) 12))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (+.f64 x -4/29) 12)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (+.f64 x -4/29) 12))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (+.f64 x -4/29) 12)))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (+.f64 x -4/29) 12)))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (+.f64 x -4/29) 12))))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 3 (*.f64 y (+.f64 x -4/29))) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (+.f64 x -4/29)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (+.f64 x -4/29)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 (+.f64 x -4/29) 1/2)) (*.f64 y (*.f64 (+.f64 x -4/29) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (+.f64 x -4/29)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (+.f64 x -4/29)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (+.f64 x (+.f64 x -8/29))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 (+.f64 x -4/29) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 x -4/29) 8) y) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 8) y)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 8) y))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 8) y)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 8) y))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 8) y)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 8) y)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 8) y))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (+.f64 x -4/29)) 1))))) |
| 1× | egg-herbie |
| 3994× | rational.json-simplify-41 |
| 3384× | rational.json-simplify-35 |
| 2068× | rational.json-simplify-2 |
| 962× | exponential.json-simplify-26 |
| 928× | rational.json-simplify-49 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 92 | 1220 |
| 1 | 230 | 1064 |
| 2 | 478 | 1064 |
| 3 | 1044 | 860 |
| 4 | 2750 | 860 |
| 5 | 4247 | 860 |
| 6 | 4640 | 860 |
| 7 | 4853 | 860 |
| 8 | 5016 | 860 |
| 9 | 5177 | 860 |
| 10 | 5849 | 860 |
| 11 | 6173 | 860 |
| 12 | 6173 | 860 |
| 13 | 6174 | 860 |
| 14 | 6177 | 860 |
| 15 | 6330 | 860 |
| 16 | 6482 | 860 |
| 17 | 6634 | 860 |
| 18 | 6786 | 860 |
| 19 | 6938 | 860 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -12/29 y) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(*.f64 3 (*.f64 y x)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(*.f64 3 (*.f64 y x)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(*.f64 -4/29 y) |
(+.f64 (*.f64 y x) (*.f64 -4/29 y)) |
(+.f64 (*.f64 y x) (*.f64 -4/29 y)) |
(+.f64 (*.f64 y x) (*.f64 -4/29 y)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 -4/29 y)) |
(+.f64 (*.f64 y x) (*.f64 -4/29 y)) |
(+.f64 (*.f64 y x) (*.f64 -4/29 y)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 -4/29 y)) |
(+.f64 (*.f64 y x) (*.f64 -4/29 y)) |
(+.f64 (*.f64 y x) (*.f64 -4/29 y)) |
(+.f64 (*.f64 y (+.f64 x -4/29)) (*.f64 y (+.f64 x (+.f64 x -8/29)))) |
(+.f64 (*.f64 3 (*.f64 y (+.f64 x -4/29))) 0) |
(+.f64 0 (*.f64 3 (*.f64 y (+.f64 x -4/29)))) |
(+.f64 (*.f64 y (+.f64 x (+.f64 x -8/29))) (*.f64 y (+.f64 x -4/29))) |
(+.f64 (*.f64 y (*.f64 (+.f64 x -4/29) 3/2)) (*.f64 y (*.f64 (+.f64 x -4/29) 3/2))) |
(-.f64 (*.f64 3 (*.f64 y (+.f64 x -4/29))) 0) |
(/.f64 (*.f64 3 (*.f64 y (+.f64 x -4/29))) 1) |
(/.f64 (*.f64 y (*.f64 (+.f64 x -4/29) 6)) 2) |
(/.f64 (*.f64 y (*.f64 (+.f64 x -4/29) 12)) 4) |
(/.f64 (*.f64 2 (*.f64 y (*.f64 (+.f64 x -4/29) 12))) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (+.f64 x -4/29) 12)))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (+.f64 x -4/29) 12))))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (+.f64 x -4/29) 12)))))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (+.f64 x -4/29) 12))))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (+.f64 x -4/29) 12)))))))) 256) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (+.f64 x -4/29) 12)))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (+.f64 x -4/29) 12))))))))) 512) |
(pow.f64 (*.f64 3 (*.f64 y (+.f64 x -4/29))) 1) |
(+.f64 (*.f64 y (+.f64 x -4/29)) 0) |
(+.f64 0 (*.f64 y (+.f64 x -4/29))) |
(+.f64 (*.f64 y (*.f64 (+.f64 x -4/29) 1/2)) (*.f64 y (*.f64 (+.f64 x -4/29) 1/2))) |
(-.f64 (*.f64 y (+.f64 x -4/29)) 0) |
(/.f64 (*.f64 y (+.f64 x -4/29)) 1) |
(/.f64 (*.f64 y (+.f64 x (+.f64 x -8/29))) 2) |
(/.f64 (*.f64 y (*.f64 (+.f64 x -4/29) 4)) 4) |
(/.f64 (*.f64 (*.f64 (+.f64 x -4/29) 8) y) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 8) y)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 8) y))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 8) y)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 8) y))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 8) y)))))) 256) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 8) y)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 8) y))))))) 512) |
(pow.f64 (*.f64 y (+.f64 x -4/29)) 1) |
| Outputs |
|---|
(*.f64 -12/29 y) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 y (*.f64 x 3))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 y (*.f64 x 3))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 y (*.f64 x 3))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 x 3)) |
(*.f64 y (*.f64 3 x)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 y (*.f64 x 3))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 y (*.f64 x 3))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 y (*.f64 x 3))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 x 3)) |
(*.f64 y (*.f64 3 x)) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 y (*.f64 x 3))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 y (*.f64 x 3))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(+.f64 (*.f64 -12/29 y) (*.f64 y (*.f64 x 3))) |
(*.f64 y (+.f64 -12/29 (*.f64 3 x))) |
(*.f64 -4/29 y) |
(*.f64 y -4/29) |
(+.f64 (*.f64 y x) (*.f64 -4/29 y)) |
(*.f64 y (+.f64 x -4/29)) |
(+.f64 (*.f64 y x) (*.f64 -4/29 y)) |
(*.f64 y (+.f64 x -4/29)) |
(+.f64 (*.f64 y x) (*.f64 -4/29 y)) |
(*.f64 y (+.f64 x -4/29)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 -4/29 y)) |
(*.f64 y (+.f64 x -4/29)) |
(+.f64 (*.f64 y x) (*.f64 -4/29 y)) |
(*.f64 y (+.f64 x -4/29)) |
(+.f64 (*.f64 y x) (*.f64 -4/29 y)) |
(*.f64 y (+.f64 x -4/29)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 -4/29 y)) |
(*.f64 y (+.f64 x -4/29)) |
(+.f64 (*.f64 y x) (*.f64 -4/29 y)) |
(*.f64 y (+.f64 x -4/29)) |
(+.f64 (*.f64 y x) (*.f64 -4/29 y)) |
(*.f64 y (+.f64 x -4/29)) |
(+.f64 (*.f64 y (+.f64 x -4/29)) (*.f64 y (+.f64 x (+.f64 x -8/29)))) |
(*.f64 y (+.f64 (+.f64 x (+.f64 x -8/29)) (+.f64 x -4/29))) |
(*.f64 y (+.f64 x (+.f64 (+.f64 x -8/29) (+.f64 x -4/29)))) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(+.f64 (*.f64 3 (*.f64 y (+.f64 x -4/29))) 0) |
(+.f64 (*.f64 y (+.f64 x -4/29)) (*.f64 y (+.f64 x (+.f64 x -8/29)))) |
(*.f64 y (+.f64 (+.f64 x (+.f64 x -8/29)) (+.f64 x -4/29))) |
(*.f64 y (+.f64 x (+.f64 (+.f64 x -8/29) (+.f64 x -4/29)))) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(+.f64 0 (*.f64 3 (*.f64 y (+.f64 x -4/29)))) |
(+.f64 (*.f64 y (+.f64 x -4/29)) (*.f64 y (+.f64 x (+.f64 x -8/29)))) |
(*.f64 y (+.f64 (+.f64 x (+.f64 x -8/29)) (+.f64 x -4/29))) |
(*.f64 y (+.f64 x (+.f64 (+.f64 x -8/29) (+.f64 x -4/29)))) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(+.f64 (*.f64 y (+.f64 x (+.f64 x -8/29))) (*.f64 y (+.f64 x -4/29))) |
(+.f64 (*.f64 y (+.f64 x -4/29)) (*.f64 y (+.f64 x (+.f64 x -8/29)))) |
(*.f64 y (+.f64 (+.f64 x (+.f64 x -8/29)) (+.f64 x -4/29))) |
(*.f64 y (+.f64 x (+.f64 (+.f64 x -8/29) (+.f64 x -4/29)))) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(+.f64 (*.f64 y (*.f64 (+.f64 x -4/29) 3/2)) (*.f64 y (*.f64 (+.f64 x -4/29) 3/2))) |
(+.f64 (*.f64 y (+.f64 x -4/29)) (*.f64 y (+.f64 x (+.f64 x -8/29)))) |
(*.f64 y (+.f64 (+.f64 x (+.f64 x -8/29)) (+.f64 x -4/29))) |
(*.f64 y (+.f64 x (+.f64 (+.f64 x -8/29) (+.f64 x -4/29)))) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(-.f64 (*.f64 3 (*.f64 y (+.f64 x -4/29))) 0) |
(+.f64 (*.f64 y (+.f64 x -4/29)) (*.f64 y (+.f64 x (+.f64 x -8/29)))) |
(*.f64 y (+.f64 (+.f64 x (+.f64 x -8/29)) (+.f64 x -4/29))) |
(*.f64 y (+.f64 x (+.f64 (+.f64 x -8/29) (+.f64 x -4/29)))) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(/.f64 (*.f64 3 (*.f64 y (+.f64 x -4/29))) 1) |
(+.f64 (*.f64 y (+.f64 x -4/29)) (*.f64 y (+.f64 x (+.f64 x -8/29)))) |
(*.f64 y (+.f64 (+.f64 x (+.f64 x -8/29)) (+.f64 x -4/29))) |
(*.f64 y (+.f64 x (+.f64 (+.f64 x -8/29) (+.f64 x -4/29)))) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(/.f64 (*.f64 y (*.f64 (+.f64 x -4/29) 6)) 2) |
(+.f64 (*.f64 y (+.f64 x -4/29)) (*.f64 y (+.f64 x (+.f64 x -8/29)))) |
(*.f64 y (+.f64 (+.f64 x (+.f64 x -8/29)) (+.f64 x -4/29))) |
(*.f64 y (+.f64 x (+.f64 (+.f64 x -8/29) (+.f64 x -4/29)))) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(/.f64 (*.f64 y (*.f64 (+.f64 x -4/29) 12)) 4) |
(+.f64 (*.f64 y (+.f64 x -4/29)) (*.f64 y (+.f64 x (+.f64 x -8/29)))) |
(*.f64 y (+.f64 (+.f64 x (+.f64 x -8/29)) (+.f64 x -4/29))) |
(*.f64 y (+.f64 x (+.f64 (+.f64 x -8/29) (+.f64 x -4/29)))) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(/.f64 (*.f64 2 (*.f64 y (*.f64 (+.f64 x -4/29) 12))) 8) |
(+.f64 (*.f64 y (+.f64 x -4/29)) (*.f64 y (+.f64 x (+.f64 x -8/29)))) |
(*.f64 y (+.f64 (+.f64 x (+.f64 x -8/29)) (+.f64 x -4/29))) |
(*.f64 y (+.f64 x (+.f64 (+.f64 x -8/29) (+.f64 x -4/29)))) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (+.f64 x -4/29) 12)))) 16) |
(+.f64 (*.f64 y (+.f64 x -4/29)) (*.f64 y (+.f64 x (+.f64 x -8/29)))) |
(*.f64 y (+.f64 (+.f64 x (+.f64 x -8/29)) (+.f64 x -4/29))) |
(*.f64 y (+.f64 x (+.f64 (+.f64 x -8/29) (+.f64 x -4/29)))) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (+.f64 x -4/29) 12))))) 32) |
(+.f64 (*.f64 y (+.f64 x -4/29)) (*.f64 y (+.f64 x (+.f64 x -8/29)))) |
(*.f64 y (+.f64 (+.f64 x (+.f64 x -8/29)) (+.f64 x -4/29))) |
(*.f64 y (+.f64 x (+.f64 (+.f64 x -8/29) (+.f64 x -4/29)))) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (+.f64 x -4/29) 12)))))) 64) |
(+.f64 (*.f64 y (+.f64 x -4/29)) (*.f64 y (+.f64 x (+.f64 x -8/29)))) |
(*.f64 y (+.f64 (+.f64 x (+.f64 x -8/29)) (+.f64 x -4/29))) |
(*.f64 y (+.f64 x (+.f64 (+.f64 x -8/29) (+.f64 x -4/29)))) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (+.f64 x -4/29) 12))))))) 128) |
(+.f64 (*.f64 y (+.f64 x -4/29)) (*.f64 y (+.f64 x (+.f64 x -8/29)))) |
(*.f64 y (+.f64 (+.f64 x (+.f64 x -8/29)) (+.f64 x -4/29))) |
(*.f64 y (+.f64 x (+.f64 (+.f64 x -8/29) (+.f64 x -4/29)))) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (+.f64 x -4/29) 12)))))))) 256) |
(+.f64 (*.f64 y (+.f64 x -4/29)) (*.f64 y (+.f64 x (+.f64 x -8/29)))) |
(*.f64 y (+.f64 (+.f64 x (+.f64 x -8/29)) (+.f64 x -4/29))) |
(*.f64 y (+.f64 x (+.f64 (+.f64 x -8/29) (+.f64 x -4/29)))) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (+.f64 x -4/29) 12)))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (+.f64 x -4/29) 12))))))))) 512) |
(+.f64 (*.f64 y (+.f64 x -4/29)) (*.f64 y (+.f64 x (+.f64 x -8/29)))) |
(*.f64 y (+.f64 (+.f64 x (+.f64 x -8/29)) (+.f64 x -4/29))) |
(*.f64 y (+.f64 x (+.f64 (+.f64 x -8/29) (+.f64 x -4/29)))) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(pow.f64 (*.f64 3 (*.f64 y (+.f64 x -4/29))) 1) |
(+.f64 (*.f64 y (+.f64 x -4/29)) (*.f64 y (+.f64 x (+.f64 x -8/29)))) |
(*.f64 y (+.f64 (+.f64 x (+.f64 x -8/29)) (+.f64 x -4/29))) |
(*.f64 y (+.f64 x (+.f64 (+.f64 x -8/29) (+.f64 x -4/29)))) |
(*.f64 y (*.f64 3 (+.f64 x -4/29))) |
(*.f64 (+.f64 x -4/29) (*.f64 y 3)) |
(+.f64 (*.f64 y (+.f64 x -4/29)) 0) |
(*.f64 y (+.f64 x -4/29)) |
(+.f64 0 (*.f64 y (+.f64 x -4/29))) |
(*.f64 y (+.f64 x -4/29)) |
(+.f64 (*.f64 y (*.f64 (+.f64 x -4/29) 1/2)) (*.f64 y (*.f64 (+.f64 x -4/29) 1/2))) |
(*.f64 y (+.f64 x -4/29)) |
(-.f64 (*.f64 y (+.f64 x -4/29)) 0) |
(*.f64 y (+.f64 x -4/29)) |
(/.f64 (*.f64 y (+.f64 x -4/29)) 1) |
(*.f64 y (+.f64 x -4/29)) |
(/.f64 (*.f64 y (+.f64 x (+.f64 x -8/29))) 2) |
(*.f64 y (+.f64 x -4/29)) |
(/.f64 (*.f64 y (*.f64 (+.f64 x -4/29) 4)) 4) |
(*.f64 y (+.f64 x -4/29)) |
(/.f64 (*.f64 (*.f64 (+.f64 x -4/29) 8) y) 8) |
(*.f64 y (+.f64 x -4/29)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 8) y)) 16) |
(*.f64 y (+.f64 x -4/29)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 8) y))) 32) |
(*.f64 y (+.f64 x -4/29)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 8) y)))) 64) |
(*.f64 y (+.f64 x -4/29)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 8) y))))) 128) |
(*.f64 y (+.f64 x -4/29)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 8) y)))))) 256) |
(*.f64 y (+.f64 x -4/29)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 8) y)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (+.f64 x -4/29) 8) y))))))) 512) |
(*.f64 y (+.f64 x -4/29)) |
(pow.f64 (*.f64 y (+.f64 x -4/29)) 1) |
(*.f64 y (+.f64 x -4/29)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.2b | (*.f64 x (*.f64 3 y)) |
Compiled 13 to 8 computations (38.5% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | 0 | (*.f64 x (*.f64 3 y)) |
| 0.0ms | x | @ | inf | (*.f64 x (*.f64 3 y)) |
| 0.0ms | x | @ | -inf | (*.f64 x (*.f64 3 y)) |
| 0.0ms | y | @ | -inf | (*.f64 x (*.f64 3 y)) |
| 0.0ms | y | @ | inf | (*.f64 x (*.f64 3 y)) |
| 1× | batch-egg-rewrite |
| 2642× | rational.json-simplify-2 |
| 2192× | rational.json-simplify-35 |
| 1154× | rational.json-simplify-1 |
| 1056× | exponential.json-3 |
| 1056× | rational.json-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 48 | 13 |
| 2 | 114 | 13 |
| 3 | 239 | 13 |
| 4 | 433 | 13 |
| 5 | 991 | 13 |
| 6 | 2197 | 13 |
| 7 | 3785 | 13 |
| 8 | 4693 | 13 |
| 9 | 5589 | 13 |
| 10 | 6387 | 13 |
| 11 | 6387 | 13 |
| 12 | 7243 | 13 |
| 13 | 7243 | 13 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 x (*.f64 3 y)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 3 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 3 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x y) (*.f64 x (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 y y)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 y 3/2)) (*.f64 x (*.f64 y 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 3 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 3 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 y 6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x y) 12) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x y) 24) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x y) 24)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 3 y)) 1))))) |
| 1× | egg-herbie |
| 5576× | rational.json-simplify-35 |
| 1958× | rational.json-simplify-2 |
| 1076× | rational.json-simplify-1 |
| 780× | exponential.json-simplify-26 |
| 674× | rational.json-simplify-41 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 56 | 533 |
| 1 | 136 | 533 |
| 2 | 279 | 533 |
| 3 | 701 | 533 |
| 4 | 1912 | 533 |
| 5 | 3414 | 533 |
| 6 | 4203 | 533 |
| 7 | 4694 | 533 |
| 8 | 4897 | 533 |
| 9 | 5074 | 533 |
| 10 | 5247 | 533 |
| 11 | 5432 | 533 |
| 12 | 5487 | 533 |
| 13 | 5570 | 533 |
| 14 | 5616 | 533 |
| 15 | 5699 | 533 |
| 16 | 5928 | 533 |
| 17 | 6131 | 533 |
| 18 | 6326 | 533 |
| 19 | 6496 | 533 |
| 20 | 6658 | 533 |
| 21 | 6819 | 533 |
| 22 | 6980 | 533 |
| 23 | 7141 | 533 |
| 24 | 7141 | 533 |
| 25 | 7302 | 533 |
| 26 | 7463 | 533 |
| 27 | 7624 | 533 |
| 28 | 7785 | 533 |
| 29 | 7946 | 533 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 3 (*.f64 y x)) |
(+.f64 (*.f64 x (*.f64 3 y)) 0) |
(+.f64 0 (*.f64 x (*.f64 3 y))) |
(+.f64 (*.f64 x y) (*.f64 x (+.f64 y y))) |
(+.f64 (*.f64 x (+.f64 y y)) (*.f64 x y)) |
(+.f64 (*.f64 x (*.f64 y 3/2)) (*.f64 x (*.f64 y 3/2))) |
(-.f64 (*.f64 x (*.f64 3 y)) 0) |
(/.f64 (*.f64 x (*.f64 3 y)) 1) |
(/.f64 (*.f64 x (*.f64 y 6)) 2) |
(/.f64 (*.f64 (*.f64 x y) 12) 4) |
(/.f64 (*.f64 (*.f64 x y) 24) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 x y) 24)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24)))))) 256) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24))))))) 512) |
(pow.f64 (*.f64 x (*.f64 3 y)) 1) |
| Outputs |
|---|
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(+.f64 (*.f64 x (*.f64 3 y)) 0) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(+.f64 0 (*.f64 x (*.f64 3 y))) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(+.f64 (*.f64 x y) (*.f64 x (+.f64 y y))) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(+.f64 (*.f64 x (+.f64 y y)) (*.f64 x y)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(+.f64 (*.f64 x (*.f64 y 3/2)) (*.f64 x (*.f64 y 3/2))) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(-.f64 (*.f64 x (*.f64 3 y)) 0) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(/.f64 (*.f64 x (*.f64 3 y)) 1) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(/.f64 (*.f64 x (*.f64 y 6)) 2) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(/.f64 (*.f64 (*.f64 x y) 12) 4) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(/.f64 (*.f64 (*.f64 x y) 24) 8) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 x y) 24)) 16) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24))) 32) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24)))) 64) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24))))) 128) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24)))))) 256) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x y) 24))))))) 512) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
(pow.f64 (*.f64 x (*.f64 3 y)) 1) |
(*.f64 3 (*.f64 y x)) |
(*.f64 y (*.f64 3 x)) |
Compiled 1368 to 1094 computations (20% saved)
9 alts after pruning (1 fresh and 8 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 119 | 1 | 120 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 7 | 7 |
| Total | 119 | 9 | 128 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.2b | (+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
| ✓ | 0.2b | (*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
| ✓ | 32.5b | (*.f64 (*.f64 x 3) y) |
| ✓ | 32.5b | (*.f64 x (*.f64 3 y)) |
| ✓ | 0.3b | (*.f64 3 (*.f64 y (-.f64 x 4/29))) |
| ✓ | 32.5b | (*.f64 3 (*.f64 y x)) |
| ▶ | 30.4b | (*.f64 3 (*.f64 y -4/29)) |
| ✓ | 30.4b | (*.f64 -4/29 (*.f64 3 y)) |
| ✓ | 30.3b | (*.f64 -12/29 y) |
Compiled 69 to 53 computations (23.2% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (*.f64 y -4/29) |
| ✓ | 0.3b | (*.f64 3 (*.f64 y -4/29)) |
Compiled 13 to 10 computations (23.1% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | -inf | (*.f64 y -4/29) |
| 0.0ms | y | @ | 0 | (*.f64 y -4/29) |
| 0.0ms | y | @ | inf | (*.f64 y -4/29) |
| 0.0ms | y | @ | 0 | (*.f64 3 (*.f64 y -4/29)) |
| 0.0ms | y | @ | inf | (*.f64 3 (*.f64 y -4/29)) |
| 1× | batch-egg-rewrite |
| 3624× | rational.json-simplify-35 |
| 1826× | rational.json-simplify-2 |
| 1062× | exponential.json-3 |
| 1062× | rational.json-1 |
| 1062× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 14 |
| 1 | 49 | 14 |
| 2 | 108 | 14 |
| 3 | 216 | 14 |
| 4 | 396 | 14 |
| 5 | 863 | 14 |
| 6 | 2044 | 14 |
| 7 | 3257 | 14 |
| 8 | 3689 | 14 |
| 9 | 4322 | 14 |
| 10 | 5063 | 14 |
| 11 | 5516 | 14 |
| 12 | 5516 | 14 |
| 13 | 6025 | 14 |
| 14 | 6025 | 14 |
| 15 | 6503 | 14 |
| 16 | 7306 | 14 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 3 (*.f64 y -4/29)) |
(*.f64 y -4/29) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y -4/29) (*.f64 y -8/29))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y -12/29) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y -12/29))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y -8/29) (*.f64 y -4/29))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y -6/29) (*.f64 y -6/29))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y -12/29) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -12/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -24/29) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -48/29) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -96/29) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y -96/29)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 y -96/29))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -96/29)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -96/29))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -96/29)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -96/29))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -96/29)))))))) 1024)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -96/29))))))))) 2048)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -96/29))))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -96/29)))))))))) 4096)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y -12/29) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y -4/29) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y -4/29))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y -2/29) (*.f64 y -2/29))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y -4/29) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -4/29) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -8/29) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -16/29) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -32/29) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y -32/29)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 y -32/29))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -32/29)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -32/29))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -32/29)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -32/29))))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -32/29)))))))) 1024)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -32/29))))))))) 2048)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -32/29))))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -32/29)))))))))) 4096)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y -4/29) 1))))) |
| 1× | egg-herbie |
| 4674× | rational.json-simplify-41 |
| 1990× | rational.json-simplify-35 |
| 1550× | rational.json-simplify-2 |
| 892× | rational.json-simplify-51 |
| 652× | rational.json-simplify-43 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 95 | 434 |
| 1 | 236 | 434 |
| 2 | 447 | 434 |
| 3 | 1110 | 434 |
| 4 | 3035 | 434 |
| 5 | 4024 | 434 |
| 6 | 4233 | 434 |
| 7 | 4377 | 434 |
| 8 | 4481 | 434 |
| 9 | 4582 | 434 |
| 10 | 4676 | 434 |
| 11 | 4812 | 434 |
| 12 | 4900 | 434 |
| 13 | 4988 | 434 |
| 14 | 4988 | 434 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -4/29 y) |
(*.f64 -4/29 y) |
(*.f64 -4/29 y) |
(*.f64 -4/29 y) |
(*.f64 -4/29 y) |
(*.f64 -4/29 y) |
(*.f64 -4/29 y) |
(*.f64 -4/29 y) |
(*.f64 -4/29 y) |
(*.f64 -4/29 y) |
(*.f64 -4/29 y) |
(*.f64 -4/29 y) |
(+.f64 (*.f64 y -4/29) (*.f64 y -8/29)) |
(+.f64 (*.f64 y -12/29) 0) |
(+.f64 0 (*.f64 y -12/29)) |
(+.f64 (*.f64 y -8/29) (*.f64 y -4/29)) |
(+.f64 (*.f64 y -6/29) (*.f64 y -6/29)) |
(-.f64 (*.f64 y -12/29) 0) |
(/.f64 (*.f64 y -12/29) 1) |
(/.f64 (*.f64 y -24/29) 2) |
(/.f64 (*.f64 y -48/29) 4) |
(/.f64 (*.f64 y -96/29) 8) |
(/.f64 (*.f64 2 (*.f64 y -96/29)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 y -96/29))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -96/29)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -96/29))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -96/29)))))) 256) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -96/29))))))) 512) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -96/29)))))))) 1024) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -96/29))))))))) 2048) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -96/29))))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -96/29)))))))))) 4096) |
(pow.f64 (*.f64 y -12/29) 1) |
(+.f64 (*.f64 y -4/29) 0) |
(+.f64 0 (*.f64 y -4/29)) |
(+.f64 (*.f64 y -2/29) (*.f64 y -2/29)) |
(-.f64 (*.f64 y -4/29) 0) |
(/.f64 (*.f64 y -4/29) 1) |
(/.f64 (*.f64 y -8/29) 2) |
(/.f64 (*.f64 y -16/29) 4) |
(/.f64 (*.f64 y -32/29) 8) |
(/.f64 (*.f64 2 (*.f64 y -32/29)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 y -32/29))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -32/29)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -32/29))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -32/29)))))) 256) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -32/29))))))) 512) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -32/29)))))))) 1024) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -32/29))))))))) 2048) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -32/29))))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -32/29)))))))))) 4096) |
(pow.f64 (*.f64 y -4/29) 1) |
| Outputs |
|---|
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -12/29 y) |
(*.f64 -4/29 y) |
(*.f64 y -4/29) |
(*.f64 -4/29 y) |
(*.f64 y -4/29) |
(*.f64 -4/29 y) |
(*.f64 y -4/29) |
(*.f64 -4/29 y) |
(*.f64 y -4/29) |
(*.f64 -4/29 y) |
(*.f64 y -4/29) |
(*.f64 -4/29 y) |
(*.f64 y -4/29) |
(*.f64 -4/29 y) |
(*.f64 y -4/29) |
(*.f64 -4/29 y) |
(*.f64 y -4/29) |
(*.f64 -4/29 y) |
(*.f64 y -4/29) |
(*.f64 -4/29 y) |
(*.f64 y -4/29) |
(*.f64 -4/29 y) |
(*.f64 y -4/29) |
(*.f64 -4/29 y) |
(*.f64 y -4/29) |
(+.f64 (*.f64 y -4/29) (*.f64 y -8/29)) |
(*.f64 -12/29 y) |
(+.f64 (*.f64 y -12/29) 0) |
(*.f64 -12/29 y) |
(+.f64 0 (*.f64 y -12/29)) |
(*.f64 -12/29 y) |
(+.f64 (*.f64 y -8/29) (*.f64 y -4/29)) |
(*.f64 -12/29 y) |
(+.f64 (*.f64 y -6/29) (*.f64 y -6/29)) |
(*.f64 -12/29 y) |
(-.f64 (*.f64 y -12/29) 0) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 y -12/29) 1) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 y -24/29) 2) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 y -48/29) 4) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 y -96/29) 8) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 2 (*.f64 y -96/29)) 16) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 y -96/29))) 32) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -96/29)))) 64) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -96/29))))) 128) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -96/29)))))) 256) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -96/29))))))) 512) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -96/29)))))))) 1024) |
(*.f64 -12/29 y) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -96/29))))))))) 2048) |
(*.f64 -12/29 y) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -96/29))))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -96/29)))))))))) 4096) |
(*.f64 -12/29 y) |
(pow.f64 (*.f64 y -12/29) 1) |
(*.f64 -12/29 y) |
(+.f64 (*.f64 y -4/29) 0) |
(*.f64 y -4/29) |
(+.f64 0 (*.f64 y -4/29)) |
(*.f64 y -4/29) |
(+.f64 (*.f64 y -2/29) (*.f64 y -2/29)) |
(*.f64 y -4/29) |
(-.f64 (*.f64 y -4/29) 0) |
(*.f64 y -4/29) |
(/.f64 (*.f64 y -4/29) 1) |
(*.f64 y -4/29) |
(/.f64 (*.f64 y -8/29) 2) |
(*.f64 y -4/29) |
(/.f64 (*.f64 y -16/29) 4) |
(*.f64 y -4/29) |
(/.f64 (*.f64 y -32/29) 8) |
(*.f64 y -4/29) |
(/.f64 (*.f64 2 (*.f64 y -32/29)) 16) |
(*.f64 y -4/29) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 y -32/29))) 32) |
(*.f64 y -4/29) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -32/29)))) 64) |
(*.f64 y -4/29) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -32/29))))) 128) |
(*.f64 y -4/29) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -32/29)))))) 256) |
(*.f64 y -4/29) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -32/29))))))) 512) |
(*.f64 y -4/29) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -32/29)))))))) 1024) |
(*.f64 y -4/29) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -32/29))))))))) 2048) |
(*.f64 y -4/29) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -32/29))))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y -32/29)))))))))) 4096) |
(*.f64 y -4/29) |
(pow.f64 (*.f64 y -4/29) 1) |
(*.f64 y -4/29) |
Compiled 465 to 418 computations (10.1% saved)
9 alts after pruning (0 fresh and 9 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 41 | 0 | 41 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 8 | 8 |
| Total | 41 | 9 | 50 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.2b | (+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
| ✓ | 0.2b | (*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
| ✓ | 32.5b | (*.f64 (*.f64 x 3) y) |
| ✓ | 32.5b | (*.f64 x (*.f64 3 y)) |
| ✓ | 0.3b | (*.f64 3 (*.f64 y (-.f64 x 4/29))) |
| ✓ | 32.5b | (*.f64 3 (*.f64 y x)) |
| ✓ | 30.4b | (*.f64 3 (*.f64 y -4/29)) |
| ✓ | 30.4b | (*.f64 -4/29 (*.f64 3 y)) |
| ✓ | 30.3b | (*.f64 -12/29 y) |
Compiled 69 to 53 computations (23.2% saved)
| Inputs |
|---|
(*.f64 -12/29 y) |
(*.f64 -4/29 (*.f64 3 y)) |
(*.f64 3 (*.f64 y -4/29)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 x (*.f64 3 y)) |
(*.f64 (*.f64 x 3) y) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 (*.f64 (-.f64 x 4/29) 3) y) |
(*.f64 (-.f64 x 4/29) (*.f64 3 y)) |
(*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
(*.f64 (*.f64 (-.f64 x (/.f64 16 116)) 3) y) |
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
| Outputs |
|---|
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
5 calls:
| 8.0ms | (*.f64 (*.f64 (-.f64 x (/.f64 16 116)) 3) y) |
| 8.0ms | y |
| 7.0ms | (-.f64 x (/.f64 16 116)) |
| 7.0ms | x |
| 5.0ms | (*.f64 (-.f64 x (/.f64 16 116)) 3) |
| Error | Segments | Branch |
|---|---|---|
| 0.2b | 1 | x |
| 0.2b | 1 | y |
| 0.2b | 1 | (*.f64 (*.f64 (-.f64 x (/.f64 16 116)) 3) y) |
| 0.2b | 1 | (*.f64 (-.f64 x (/.f64 16 116)) 3) |
| 0.2b | 1 | (-.f64 x (/.f64 16 116)) |
Compiled 109 to 80 computations (26.6% saved)
| Inputs |
|---|
(*.f64 -12/29 y) |
(*.f64 -4/29 (*.f64 3 y)) |
(*.f64 3 (*.f64 y -4/29)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 x (*.f64 3 y)) |
(*.f64 (*.f64 x 3) y) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 (*.f64 (-.f64 x 4/29) 3) y) |
(*.f64 (-.f64 x 4/29) (*.f64 3 y)) |
(*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
(*.f64 (*.f64 (-.f64 x (/.f64 16 116)) 3) y) |
| Outputs |
|---|
(*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
5 calls:
| 8.0ms | (*.f64 (*.f64 (-.f64 x (/.f64 16 116)) 3) y) |
| 7.0ms | x |
| 7.0ms | y |
| 5.0ms | (*.f64 (-.f64 x (/.f64 16 116)) 3) |
| 4.0ms | (-.f64 x (/.f64 16 116)) |
| Error | Segments | Branch |
|---|---|---|
| 0.2b | 1 | x |
| 0.2b | 1 | y |
| 0.2b | 1 | (*.f64 (*.f64 (-.f64 x (/.f64 16 116)) 3) y) |
| 0.2b | 1 | (*.f64 (-.f64 x (/.f64 16 116)) 3) |
| 0.2b | 1 | (-.f64 x (/.f64 16 116)) |
Compiled 100 to 75 computations (25% saved)
| Inputs |
|---|
(*.f64 -12/29 y) |
(*.f64 -4/29 (*.f64 3 y)) |
(*.f64 3 (*.f64 y -4/29)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 x (*.f64 3 y)) |
(*.f64 (*.f64 x 3) y) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(*.f64 (*.f64 (-.f64 x 4/29) 3) y) |
(*.f64 (-.f64 x 4/29) (*.f64 3 y)) |
| Outputs |
|---|
(*.f64 (*.f64 (-.f64 x 4/29) 3) y) |
2 calls:
| 6.0ms | x |
| 6.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 0.2b | 1 | x |
| 0.2b | 1 | y |
Compiled 57 to 40 computations (29.8% saved)
| Inputs |
|---|
(*.f64 -12/29 y) |
(*.f64 -4/29 (*.f64 3 y)) |
(*.f64 3 (*.f64 y -4/29)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 x (*.f64 3 y)) |
(*.f64 (*.f64 x 3) y) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
| Outputs |
|---|
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
2 calls:
| 5.0ms | y |
| 5.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 0.3b | 1 | x |
| 0.3b | 1 | y |
Compiled 43 to 30 computations (30.2% saved)
| Inputs |
|---|
(*.f64 -12/29 y) |
(*.f64 -4/29 (*.f64 3 y)) |
(*.f64 3 (*.f64 y -4/29)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 x (*.f64 3 y)) |
(*.f64 (*.f64 x 3) y) |
| Outputs |
|---|
(*.f64 x (*.f64 3 y)) |
(*.f64 -12/29 y) |
(*.f64 (*.f64 x 3) y) |
2 calls:
| 41.0ms | y |
| 13.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 1.3b | 3 | x |
| 21.3b | 9 | y |
Compiled 36 to 25 computations (30.6% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 18.0ms | 7.580145340462773e-12 | 488628.45451538445 |
| 14.0ms | -868.8664824357297 | -0.022831179921884617 |
| 28.0ms | 288× | body | 256 | valid |
Compiled 268 to 211 computations (21.3% saved)
| Inputs |
|---|
(*.f64 -12/29 y) |
(*.f64 -4/29 (*.f64 3 y)) |
(*.f64 3 (*.f64 y -4/29)) |
(*.f64 3 (*.f64 y x)) |
(*.f64 x (*.f64 3 y)) |
| Outputs |
|---|
(*.f64 x (*.f64 3 y)) |
(*.f64 -12/29 y) |
(*.f64 3 (*.f64 y x)) |
2 calls:
| 36.0ms | y |
| 12.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 1.3b | 3 | x |
| 21.3b | 9 | y |
Compiled 31 to 22 computations (29% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 17.0ms | 7.580145340462773e-12 | 488628.45451538445 |
| 14.0ms | -868.8664824357297 | -0.022831179921884617 |
| 28.0ms | 288× | body | 256 | valid |
Compiled 268 to 211 computations (21.3% saved)
| Inputs |
|---|
(*.f64 -12/29 y) |
(*.f64 -4/29 (*.f64 3 y)) |
(*.f64 3 (*.f64 y -4/29)) |
(*.f64 3 (*.f64 y x)) |
| Outputs |
|---|
(*.f64 3 (*.f64 y x)) |
(*.f64 -12/29 y) |
(*.f64 3 (*.f64 y x)) |
2 calls:
| 432.0ms | x |
| 197.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 1.3b | 3 | x |
| 21.3b | 9 | y |
Compiled 26 to 19 computations (26.9% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 19.0ms | 7.580145340462773e-12 | 488628.45451538445 |
| 15.0ms | -868.8664824357297 | -0.022831179921884617 |
| 31.0ms | 288× | body | 256 | valid |
Compiled 268 to 211 computations (21.3% saved)
Total -0.2b remaining (-0.7%)
Threshold costs -0.2b (-0.7%)
| Inputs |
|---|
(*.f64 -12/29 y) |
(*.f64 -4/29 (*.f64 3 y)) |
(*.f64 3 (*.f64 y -4/29)) |
| Outputs |
|---|
(*.f64 -12/29 y) |
2 calls:
| 5.0ms | x |
| 3.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 30.3b | 1 | x |
| 30.3b | 1 | y |
Compiled 21 to 16 computations (23.8% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 36 | 242 |
| 1× | done |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
(*.f64 (*.f64 (-.f64 x 4/29) 3) y) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(if (<=.f64 x -1261007895663739/9007199254740992) (*.f64 x (*.f64 3 y)) (if (<=.f64 x 607985949695017/4503599627370496) (*.f64 -12/29 y) (*.f64 (*.f64 x 3) y))) |
(if (<=.f64 x -1261007895663739/9007199254740992) (*.f64 x (*.f64 3 y)) (if (<=.f64 x 607985949695017/4503599627370496) (*.f64 -12/29 y) (*.f64 3 (*.f64 y x)))) |
(if (<=.f64 x -1261007895663739/9007199254740992) (*.f64 3 (*.f64 y x)) (if (<=.f64 x 607985949695017/4503599627370496) (*.f64 -12/29 y) (*.f64 3 (*.f64 y x)))) |
(*.f64 -12/29 y) |
| Outputs |
|---|
(+.f64 (*.f64 3 (*.f64 y x)) (*.f64 -12/29 y)) |
(*.f64 (-.f64 (*.f64 3 x) 12/29) y) |
(*.f64 (*.f64 (-.f64 x 4/29) 3) y) |
(*.f64 3 (*.f64 y (-.f64 x 4/29))) |
(if (<=.f64 x -1261007895663739/9007199254740992) (*.f64 x (*.f64 3 y)) (if (<=.f64 x 607985949695017/4503599627370496) (*.f64 -12/29 y) (*.f64 (*.f64 x 3) y))) |
(if (<=.f64 x -1261007895663739/9007199254740992) (*.f64 x (*.f64 3 y)) (if (<=.f64 x 607985949695017/4503599627370496) (*.f64 -12/29 y) (*.f64 3 (*.f64 y x)))) |
(if (<=.f64 x -1261007895663739/9007199254740992) (*.f64 3 (*.f64 y x)) (if (<=.f64 x 607985949695017/4503599627370496) (*.f64 -12/29 y) (*.f64 3 (*.f64 y x)))) |
(*.f64 -12/29 y) |
Compiled 112 to 80 computations (28.6% saved)
| 1× | egg-herbie |
| 12× | rational.json-simplify-2 |
| 4× | rational.json-simplify-43 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 19 |
| 1 | 14 | 19 |
| 2 | 18 | 19 |
| 3 | 22 | 19 |
| 1× | saturated |
Compiled 18 to 14 computations (22.2% saved)
Compiled 98 to 64 computations (34.7% saved)
Loading profile data...