Time bar (total: 12.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 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 5 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 6 |
| 25% | 25% | 74.9% | 0.1% | 0% | 0% | 0% | 7 |
| 37.5% | 37.4% | 62.4% | 0.1% | 0% | 0% | 0% | 8 |
| 37.5% | 37.4% | 62.4% | 0.1% | 0% | 0% | 0% | 9 |
| 56.3% | 56.2% | 43.7% | 0.1% | 0% | 0% | 0% | 10 |
| 65.6% | 65.5% | 34.3% | 0.1% | 0% | 0% | 0% | 11 |
| 65.6% | 65.5% | 34.3% | 0.1% | 0% | 0% | 0% | 12 |
Compiled 13 to 9 computations (30.8% saved)
| 3.2s | 2125× | body | 1024 | valid |
| 1.5s | 5094× | body | 256 | valid |
| 1.1s | 1030× | body | 512 | valid |
| 5.0ms | 7× | body | 2048 | valid |
| 2× | egg-herbie |
| 2534× | rational.json-simplify-42 |
| 1818× | rational.json-simplify-45 |
| 1718× | rational.json-simplify-35 |
| 1034× | rational.json-simplify-2 |
| 846× | rational.json-simplify-48 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 24 | 108 |
| 1 | 50 | 108 |
| 2 | 73 | 108 |
| 3 | 109 | 108 |
| 4 | 187 | 108 |
| 5 | 333 | 108 |
| 6 | 800 | 108 |
| 7 | 2041 | 108 |
| 8 | 4430 | 108 |
| 9 | 5366 | 108 |
| 10 | 5761 | 108 |
| 11 | 6242 | 108 |
| 12 | 6545 | 108 |
| 0 | 3 | 3 |
| 1× | saturated |
| 1× | node limit |
| Inputs |
|---|
0 |
1 |
2 |
| Outputs |
|---|
0 |
1 |
2 |
| Inputs |
|---|
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
(+.f64 (*.f64 y (sin.f64 x)) (*.f64 z (cos.f64 x))) |
(+.f64 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y))) |
(+.f64 (*.f64 x (sin.f64 z)) (*.f64 y (cos.f64 z))) |
| Outputs |
|---|
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
(+.f64 (*.f64 y (sin.f64 x)) (*.f64 z (cos.f64 x))) |
(+.f64 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y))) |
(+.f64 (*.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y))) |
(+.f64 (*.f64 x (sin.f64 z)) (*.f64 y (cos.f64 z))) |
Compiled 15 to 11 computations (26.7% saved)
| 1× | egg-herbie |
| 2180× | rational.json-simplify-35 |
| 1772× | rational.json-simplify-1 |
| 1258× | rational.json-simplify-26 |
| 918× | rational.json-simplify-2 |
| 658× | rational.json-simplify-52 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 27 |
| 1 | 20 | 27 |
| 2 | 29 | 27 |
| 3 | 43 | 27 |
| 4 | 75 | 27 |
| 5 | 131 | 27 |
| 6 | 290 | 27 |
| 7 | 716 | 27 |
| 8 | 2042 | 27 |
| 9 | 3306 | 27 |
| 10 | 4050 | 27 |
| 11 | 4528 | 27 |
| 12 | 5281 | 27 |
| 13 | 5697 | 27 |
| 14 | 6303 | 27 |
| 15 | 6876 | 27 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
| Outputs |
|---|
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
Compiled 12 to 8 computations (33.3% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 1 | 1 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 2 | 2 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.1b | (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
Compiled 12 to 8 computations (33.3% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
| ✓ | 0.1b | (*.f64 z (cos.f64 y)) |
| ✓ | 0.1b | (*.f64 x (sin.f64 y)) |
Compiled 27 to 8 computations (70.4% saved)
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | x | @ | 0 | (*.f64 x (sin.f64 y)) |
| 1.0ms | z | @ | -inf | (*.f64 z (cos.f64 y)) |
| 1.0ms | z | @ | 0 | (*.f64 z (cos.f64 y)) |
| 1.0ms | y | @ | 0 | (*.f64 x (sin.f64 y)) |
| 0.0ms | x | @ | inf | (*.f64 x (sin.f64 y)) |
| 1× | batch-egg-rewrite |
| 1512× | rational.json-1 |
| 1512× | rational.json-2 |
| 1512× | rational.json-3 |
| 1504× | exponential.json-3 |
| 1504× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 49 |
| 1 | 77 | 49 |
| 2 | 176 | 49 |
| 3 | 383 | 49 |
| 4 | 790 | 49 |
| 5 | 1906 | 49 |
| 6 | 4345 | 49 |
| 7 | 6664 | 49 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 x (sin.f64 y)) |
(*.f64 z (cos.f64 y)) |
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 (sin.f64 y) 1/2)) (*.f64 x (*.f64 (sin.f64 y) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x (sin.f64 y)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x (sin.f64 y)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (sin.f64 y)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (sin.f64 y)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (sin.f64 y)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (sin.f64 y)) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (cos.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 (cos.f64 y) 1/2)) (*.f64 z (*.f64 (cos.f64 y) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (cos.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 z 8) (cos.f64 y)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 z 8) (cos.f64 y))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z 8) (cos.f64 y)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z 8) (cos.f64 y)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 z 8) (cos.f64 y))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (cos.f64 y)) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 z (*.f64 (cos.f64 y) 1/2)) (*.f64 x (*.f64 (sin.f64 y) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x (*.f64 (sin.f64 y) 1/2)) (*.f64 z (*.f64 (cos.f64 y) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (cos.f64 y) (+.f64 z z)) (*.f64 (sin.f64 y) (+.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) (*.f64 (cos.f64 y) (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1))))) |
| 1× | egg-herbie |
| 2264× | rational.json-simplify-2 |
| 1932× | rational.json-simplify-35 |
| 986× | exponential.json-simplify-26 |
| 906× | rational.json-simplify-1 |
| 902× | rational.json-simplify-51 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 148 | 2437 |
| 1 | 332 | 2437 |
| 2 | 773 | 2413 |
| 3 | 1805 | 2389 |
| 4 | 3634 | 2389 |
| 5 | 4557 | 2389 |
| 6 | 5045 | 2389 |
| 7 | 5495 | 2389 |
| 8 | 6319 | 2389 |
| 9 | 6788 | 2389 |
| 10 | 7583 | 2389 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))) |
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))) |
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) x)) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))))) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
z |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))) |
(*.f64 (cos.f64 y) z) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) x) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) x) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
z |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))))) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) x) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(*.f64 (cos.f64 y) z) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(*.f64 (cos.f64 y) z) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 x (sin.f64 y)) 0) |
(+.f64 0 (*.f64 x (sin.f64 y))) |
(+.f64 (*.f64 x (*.f64 (sin.f64 y) 1/2)) (*.f64 x (*.f64 (sin.f64 y) 1/2))) |
(-.f64 (*.f64 x (sin.f64 y)) 0) |
(/.f64 (*.f64 x (sin.f64 y)) 1) |
(/.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 2) |
(/.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) 4) |
(/.f64 (*.f64 (*.f64 x (sin.f64 y)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 x (sin.f64 y)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (sin.f64 y)) 8))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (sin.f64 y)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (sin.f64 y)) 8)))) 64) |
(pow.f64 (*.f64 x (sin.f64 y)) 1) |
(+.f64 (*.f64 z (cos.f64 y)) 0) |
(+.f64 0 (*.f64 z (cos.f64 y))) |
(+.f64 (*.f64 z (*.f64 (cos.f64 y) 1/2)) (*.f64 z (*.f64 (cos.f64 y) 1/2))) |
(-.f64 (*.f64 z (cos.f64 y)) 0) |
(/.f64 (*.f64 z (cos.f64 y)) 1) |
(/.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2) |
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4) |
(/.f64 (*.f64 (*.f64 z 8) (cos.f64 y)) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 z 8) (cos.f64 y))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z 8) (cos.f64 y)))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z 8) (cos.f64 y)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 z 8) (cos.f64 y))))) 64) |
(pow.f64 (*.f64 z (cos.f64 y)) 1) |
(-.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 0) |
(*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1) |
(*.f64 1 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))) |
(*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1/2)) |
(*.f64 2 (+.f64 (*.f64 z (*.f64 (cos.f64 y) 1/2)) (*.f64 x (*.f64 (sin.f64 y) 1/2)))) |
(*.f64 2 (+.f64 (*.f64 x (*.f64 (sin.f64 y) 1/2)) (*.f64 z (*.f64 (cos.f64 y) 1/2)))) |
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4)) |
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 2)) |
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 y) (+.f64 z z)) (*.f64 (sin.f64 y) (+.f64 x x)))) |
(*.f64 1/2 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) (*.f64 (cos.f64 y) (+.f64 z z)))) |
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4)) |
(*.f64 (/.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4) 4) |
(/.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1) |
(/.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 2) 2) |
(/.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4) 4) |
(/.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8)))) 64) |
(pow.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1) |
| Outputs |
|---|
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))) |
(+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 x (pow.f64 y 3)))) |
(+.f64 (*.f64 y x) (*.f64 x (*.f64 (pow.f64 y 3) -1/6))) |
(*.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3)))) |
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 3))) (*.f64 (pow.f64 y 5) (*.f64 x 1/120)))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 x (*.f64 (pow.f64 y 3) -1/6)) (*.f64 x (*.f64 1/120 (pow.f64 y 5))))) |
(+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 3))) (*.f64 x (+.f64 y (*.f64 1/120 (pow.f64 y 5))))) |
(*.f64 x (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))) |
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) x)) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))))) |
(+.f64 (*.f64 y x) (+.f64 (+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 3))) (*.f64 -1/5040 (*.f64 x (pow.f64 y 7)))) (*.f64 (pow.f64 y 5) (*.f64 x 1/120)))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 x (*.f64 1/120 (pow.f64 y 5))) (+.f64 (*.f64 x (*.f64 (pow.f64 y 3) -1/6)) (*.f64 x (*.f64 -1/5040 (pow.f64 y 7)))))) |
(+.f64 (*.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3)))) (+.f64 (*.f64 x (*.f64 -1/5040 (pow.f64 y 7))) (*.f64 (pow.f64 y 5) (*.f64 x 1/120)))) |
(+.f64 (*.f64 (pow.f64 y 5) (*.f64 x 1/120)) (*.f64 x (+.f64 (*.f64 -1/5040 (pow.f64 y 7)) (+.f64 y (*.f64 -1/6 (pow.f64 y 3)))))) |
(+.f64 (*.f64 1/120 (*.f64 x (pow.f64 y 5))) (*.f64 x (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (*.f64 -1/5040 (pow.f64 y 7)))))) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (sin.f64 y) x) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
(*.f64 (cos.f64 y) z) |
z |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z) |
(+.f64 z (*.f64 (pow.f64 y 2) (*.f64 z -1/2))) |
(+.f64 z (*.f64 z (*.f64 -1/2 (pow.f64 y 2)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))) |
(+.f64 z (+.f64 (*.f64 (pow.f64 y 4) (*.f64 z 1/24)) (*.f64 (pow.f64 y 2) (*.f64 z -1/2)))) |
(+.f64 (*.f64 z (*.f64 -1/2 (pow.f64 y 2))) (+.f64 z (*.f64 z (*.f64 (pow.f64 y 4) 1/24)))) |
(+.f64 (+.f64 z (*.f64 (pow.f64 y 2) (*.f64 z -1/2))) (*.f64 z (*.f64 1/24 (pow.f64 y 4)))) |
(+.f64 z (*.f64 z (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))) |
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 (+.f64 z (*.f64 (pow.f64 y 4) (*.f64 z 1/24))) (*.f64 -1/720 (*.f64 z (pow.f64 y 6))))) |
(+.f64 (*.f64 z (*.f64 -1/2 (pow.f64 y 2))) (+.f64 (*.f64 z (*.f64 (pow.f64 y 4) 1/24)) (+.f64 z (*.f64 z (*.f64 (pow.f64 y 6) -1/720))))) |
(+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 (*.f64 z (*.f64 1/24 (pow.f64 y 4))) (*.f64 z (*.f64 -1/720 (pow.f64 y 6)))))) |
(+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 z (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (*.f64 1/24 (pow.f64 y 4)))))) |
(+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 z (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/720 (pow.f64 y 6)))))) |
(+.f64 z (+.f64 (*.f64 1/24 (*.f64 z (pow.f64 y 4))) (*.f64 z (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/720 (pow.f64 y 6)))))) |
(*.f64 (cos.f64 y) z) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(*.f64 (sin.f64 y) x) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(*.f64 (sin.f64 y) x) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
z |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 (*.f64 y x) z)) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 z (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 z -1/2)))) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 z (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))))) |
(+.f64 (*.f64 y x) (+.f64 (+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 3))) z) (*.f64 (pow.f64 y 2) (*.f64 z -1/2)))) |
(+.f64 (*.f64 z (*.f64 -1/2 (pow.f64 y 2))) (+.f64 (*.f64 y x) (+.f64 (*.f64 x (*.f64 (pow.f64 y 3) -1/6)) z))) |
(+.f64 (*.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3)))) (+.f64 z (*.f64 (pow.f64 y 2) (*.f64 z -1/2)))) |
(+.f64 (*.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3)))) (+.f64 z (*.f64 z (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(*.f64 (sin.f64 y) x) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(*.f64 (cos.f64 y) z) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(*.f64 (cos.f64 y) z) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(+.f64 (*.f64 x (sin.f64 y)) 0) |
(*.f64 (sin.f64 y) x) |
(+.f64 0 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) x) |
(+.f64 (*.f64 x (*.f64 (sin.f64 y) 1/2)) (*.f64 x (*.f64 (sin.f64 y) 1/2))) |
(*.f64 (sin.f64 y) x) |
(-.f64 (*.f64 x (sin.f64 y)) 0) |
(*.f64 (sin.f64 y) x) |
(/.f64 (*.f64 x (sin.f64 y)) 1) |
(*.f64 (sin.f64 y) x) |
(/.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 2) |
(*.f64 (sin.f64 y) x) |
(/.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) 4) |
(*.f64 (sin.f64 y) x) |
(/.f64 (*.f64 (*.f64 x (sin.f64 y)) 8) 8) |
(*.f64 (sin.f64 y) x) |
(/.f64 (*.f64 2 (*.f64 (*.f64 x (sin.f64 y)) 8)) 16) |
(*.f64 (sin.f64 y) x) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (sin.f64 y)) 8))) 32) |
(*.f64 (sin.f64 y) x) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (sin.f64 y)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (sin.f64 y)) 8)))) 64) |
(*.f64 (sin.f64 y) x) |
(pow.f64 (*.f64 x (sin.f64 y)) 1) |
(*.f64 (sin.f64 y) x) |
(+.f64 (*.f64 z (cos.f64 y)) 0) |
(*.f64 (cos.f64 y) z) |
(+.f64 0 (*.f64 z (cos.f64 y))) |
(*.f64 (cos.f64 y) z) |
(+.f64 (*.f64 z (*.f64 (cos.f64 y) 1/2)) (*.f64 z (*.f64 (cos.f64 y) 1/2))) |
(*.f64 (cos.f64 y) z) |
(-.f64 (*.f64 z (cos.f64 y)) 0) |
(*.f64 (cos.f64 y) z) |
(/.f64 (*.f64 z (cos.f64 y)) 1) |
(*.f64 (cos.f64 y) z) |
(/.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2) |
(*.f64 (cos.f64 y) z) |
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4) |
(*.f64 (cos.f64 y) z) |
(/.f64 (*.f64 (*.f64 z 8) (cos.f64 y)) 8) |
(*.f64 (cos.f64 y) z) |
(/.f64 (*.f64 2 (*.f64 (*.f64 z 8) (cos.f64 y))) 16) |
(*.f64 (cos.f64 y) z) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z 8) (cos.f64 y)))) 32) |
(*.f64 (cos.f64 y) z) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z 8) (cos.f64 y)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 z 8) (cos.f64 y))))) 64) |
(*.f64 (cos.f64 y) z) |
(pow.f64 (*.f64 z (cos.f64 y)) 1) |
(*.f64 (cos.f64 y) z) |
(-.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 0) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(*.f64 1 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1/2)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(*.f64 2 (+.f64 (*.f64 z (*.f64 (cos.f64 y) 1/2)) (*.f64 x (*.f64 (sin.f64 y) 1/2)))) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(*.f64 2 (+.f64 (*.f64 x (*.f64 (sin.f64 y) 1/2)) (*.f64 z (*.f64 (cos.f64 y) 1/2)))) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 2) 1/2) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(*.f64 4 (/.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4) 1/4) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 2)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 y) (+.f64 z z)) (*.f64 (sin.f64 y) (+.f64 x x)))) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(*.f64 1/2 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) (*.f64 (cos.f64 y) (+.f64 z z)))) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1/2) 2) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(*.f64 (/.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4) 4) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(/.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(/.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 2) 2) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(/.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4) 4) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(/.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8) 8) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8)) 16) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8))) 32) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8)))) 64) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
(pow.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)) |
Compiled 1603 to 789 computations (50.8% saved)
5 alts after pruning (4 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 90 | 4 | 94 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 90 | 5 | 95 |
| Status | Error | Program |
|---|---|---|
| ▶ | 30.9b | (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 (*.f64 y x) z)) |
| ▶ | 21.1b | (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
| ▶ | 30.2b | (+.f64 (*.f64 y x) z) |
| ✓ | 0.1b | (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
| ▶ | 14.6b | (+.f64 (*.f64 x (sin.f64 y)) z) |
Compiled 56 to 37 computations (33.9% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 x (sin.f64 y)) z) |
| 0.1b | (*.f64 x (sin.f64 y)) |
Compiled 18 to 6 computations (66.7% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | z | @ | inf | (+.f64 (*.f64 x (sin.f64 y)) z) |
| 0.0ms | x | @ | 0 | (+.f64 (*.f64 x (sin.f64 y)) z) |
| 0.0ms | y | @ | -inf | (+.f64 (*.f64 x (sin.f64 y)) z) |
| 0.0ms | y | @ | 0 | (+.f64 (*.f64 x (sin.f64 y)) z) |
| 0.0ms | z | @ | -inf | (+.f64 (*.f64 x (sin.f64 y)) z) |
| 1× | batch-egg-rewrite |
| 1390× | rational.json-1 |
| 1390× | rational.json-2 |
| 1390× | rational.json-3 |
| 1386× | exponential.json-3 |
| 1386× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 17 |
| 1 | 62 | 17 |
| 2 | 142 | 17 |
| 3 | 296 | 17 |
| 4 | 590 | 17 |
| 5 | 1387 | 17 |
| 6 | 3333 | 17 |
| 7 | 5981 | 17 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 x (sin.f64 y)) z) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 x (sin.f64 y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (sin.f64 y) (*.f64 x 1/2)) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 z z) (*.f64 x (*.f64 (sin.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1))))) |
| 1× | egg-herbie |
| 2172× | rational.json-simplify-45 |
| 1384× | rational.json-simplify-2 |
| 1314× | rational.json-simplify-1 |
| 1096× | rational.json-simplify-48 |
| 1058× | rational.json-simplify-51 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 75 | 982 |
| 1 | 158 | 982 |
| 2 | 406 | 970 |
| 3 | 981 | 964 |
| 4 | 1509 | 964 |
| 5 | 3026 | 964 |
| 6 | 3894 | 964 |
| 7 | 4052 | 964 |
| 8 | 4489 | 964 |
| 9 | 5361 | 964 |
| 10 | 5769 | 964 |
| 11 | 5919 | 964 |
| 12 | 6160 | 964 |
| 13 | 6576 | 964 |
| 1× | node limit |
| Inputs |
|---|
z |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) x) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) x) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
z |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))) |
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))))) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) x) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
z |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
z |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(-.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 0) |
(*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1) |
(*.f64 1 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1/2)) |
(*.f64 2 (+.f64 (*.f64 (sin.f64 y) (*.f64 x 1/2)) (*.f64 z 1/2))) |
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 2) 1/2) |
(*.f64 4 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1/4)) |
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 2)) |
(*.f64 1/2 (+.f64 (+.f64 z z) (*.f64 x (*.f64 (sin.f64 y) 2)))) |
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8) 1/8) |
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 4)) |
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1/4) 4) |
(/.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1) |
(/.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 2) 2) |
(/.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 4) 4) |
(/.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8)))) 64) |
(pow.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1) |
| Outputs |
|---|
z |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) x) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) x) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
z |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))) |
(+.f64 z (+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 3))) (*.f64 y x))) |
(+.f64 (*.f64 (pow.f64 y 3) (*.f64 x -1/6)) (+.f64 z (*.f64 y x))) |
(+.f64 z (*.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))) |
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))))) |
(+.f64 (*.f64 y x) (+.f64 (+.f64 z (*.f64 -1/6 (*.f64 x (pow.f64 y 3)))) (*.f64 1/120 (*.f64 x (pow.f64 y 5))))) |
(+.f64 (+.f64 z (*.f64 (pow.f64 y 3) (*.f64 x -1/6))) (+.f64 (*.f64 (pow.f64 y 5) (*.f64 x 1/120)) (*.f64 y x))) |
(+.f64 (+.f64 z (*.f64 (pow.f64 y 3) (*.f64 x -1/6))) (*.f64 x (+.f64 y (*.f64 1/120 (pow.f64 y 5))))) |
(+.f64 z (*.f64 x (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/6 (pow.f64 y 3)))))) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) x) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
z |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
z |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(-.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 0) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(*.f64 1 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1/2)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(*.f64 2 (+.f64 (*.f64 (sin.f64 y) (*.f64 x 1/2)) (*.f64 z 1/2))) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 2) 1/2) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(*.f64 4 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1/4)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 4) 1/4) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 2)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(*.f64 1/2 (+.f64 (+.f64 z z) (*.f64 x (*.f64 (sin.f64 y) 2)))) |
(*.f64 1/2 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 2))))) |
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8) 1/8) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1/2) 2) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 4)) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1/4) 4) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(/.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(/.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 2) 2) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(/.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 4) 4) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(/.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8) 8) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8)) 16) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8))) 32) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8)))) 64) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
(pow.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1) |
(+.f64 z (*.f64 (sin.f64 y) x)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 y x) z) |
Compiled 14 to 5 computations (64.3% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | inf | (+.f64 (*.f64 y x) z) |
| 0.0ms | y | @ | 0 | (+.f64 (*.f64 y x) z) |
| 0.0ms | x | @ | -inf | (+.f64 (*.f64 y x) z) |
| 0.0ms | x | @ | inf | (+.f64 (*.f64 y x) z) |
| 0.0ms | y | @ | -inf | (+.f64 (*.f64 y x) z) |
| 1× | batch-egg-rewrite |
| 1524× | rational.json-simplify-35 |
| 1424× | rational.json-simplify-1 |
| 1386× | exponential.json-3 |
| 1386× | rational.json-1 |
| 1386× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 46 | 13 |
| 2 | 102 | 13 |
| 3 | 214 | 13 |
| 4 | 397 | 13 |
| 5 | 896 | 13 |
| 6 | 2314 | 13 |
| 7 | 4169 | 13 |
| 8 | 5353 | 13 |
| 9 | 6864 | 13 |
| 10 | 7675 | 13 |
| 11 | 7675 | 13 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 y x) z) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y x) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y x) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 y x) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) z) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (*.f64 y x) z) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) z) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) z) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 y x) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) z) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 y x) z) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) z) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 (*.f64 y x) z) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y x) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) z) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) z) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) z) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 y x) z) 1))))) |
| 1× | egg-herbie |
| 6176× | rational.json-simplify-51 |
| 3534× | rational.json-simplify-35 |
| 1360× | rational.json-simplify-49 |
| 1156× | rational.json-simplify-2 |
| 1124× | rational.json-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 53 | 338 |
| 1 | 121 | 338 |
| 2 | 423 | 338 |
| 3 | 1174 | 338 |
| 4 | 1878 | 338 |
| 5 | 2772 | 338 |
| 6 | 3259 | 338 |
| 7 | 3333 | 338 |
| 8 | 3381 | 338 |
| 9 | 3413 | 338 |
| 10 | 3445 | 338 |
| 11 | 3477 | 338 |
| 12 | 3509 | 338 |
| 13 | 3541 | 338 |
| 14 | 3573 | 338 |
| 15 | 3605 | 338 |
| 16 | 3637 | 338 |
| 17 | 3669 | 338 |
| 18 | 3701 | 338 |
| 19 | 4608 | 338 |
| 20 | 4867 | 338 |
| 21 | 4960 | 338 |
| 22 | 5049 | 338 |
| 23 | 5136 | 338 |
| 24 | 5222 | 338 |
| 25 | 5435 | 338 |
| 26 | 5435 | 338 |
| 27 | 5521 | 338 |
| 28 | 5607 | 338 |
| 29 | 5693 | 338 |
| 30 | 5779 | 338 |
| 31 | 5865 | 338 |
| 32 | 5951 | 338 |
| 33 | 6037 | 338 |
| 34 | 6123 | 338 |
| 35 | 6209 | 338 |
| 1× | node limit |
| Inputs |
|---|
z |
(*.f64 y x) |
(*.f64 y x) |
z |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 y x) |
z |
z |
(-.f64 (+.f64 (*.f64 y x) z) 0) |
(*.f64 (+.f64 (*.f64 y x) z) 1) |
(*.f64 1 (+.f64 (*.f64 y x) z)) |
(*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 1/2)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) z) 2) 1/2) |
(*.f64 4 (*.f64 (+.f64 (*.f64 y x) z) 1/4)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) z) 4) 1/4) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) z) 8) 1/8) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y x) z) 2)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) z) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y x) z) 4)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) z) 1/4) 4) |
(*.f64 1/8 (*.f64 (+.f64 (*.f64 y x) z) 8)) |
(/.f64 (+.f64 (*.f64 y x) z) 1) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) z) 2) 2) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) z) 4) 4) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) z) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8))))) 128) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8)))))) 256) |
(pow.f64 (+.f64 (*.f64 y x) z) 1) |
| Outputs |
|---|
z |
(*.f64 y x) |
(*.f64 y x) |
z |
(*.f64 y x) |
(*.f64 y x) |
(*.f64 y x) |
z |
z |
(-.f64 (+.f64 (*.f64 y x) z) 0) |
(+.f64 z (*.f64 y x)) |
(*.f64 (+.f64 (*.f64 y x) z) 1) |
(+.f64 z (*.f64 y x)) |
(*.f64 1 (+.f64 (*.f64 y x) z)) |
(+.f64 z (*.f64 y x)) |
(*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 1/2)) |
(+.f64 z (*.f64 y x)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) z) 2) 1/2) |
(+.f64 z (*.f64 y x)) |
(*.f64 4 (*.f64 (+.f64 (*.f64 y x) z) 1/4)) |
(+.f64 z (*.f64 y x)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) z) 4) 1/4) |
(+.f64 z (*.f64 y x)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) z) 8) 1/8) |
(+.f64 z (*.f64 y x)) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y x) z) 2)) |
(+.f64 z (*.f64 y x)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) z) 1/2) 2) |
(+.f64 z (*.f64 y x)) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y x) z) 4)) |
(+.f64 z (*.f64 y x)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) z) 1/4) 4) |
(+.f64 z (*.f64 y x)) |
(*.f64 1/8 (*.f64 (+.f64 (*.f64 y x) z) 8)) |
(+.f64 z (*.f64 y x)) |
(/.f64 (+.f64 (*.f64 y x) z) 1) |
(+.f64 z (*.f64 y x)) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) z) 2) 2) |
(+.f64 z (*.f64 y x)) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) z) 4) 4) |
(+.f64 z (*.f64 y x)) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) z) 8) 8) |
(+.f64 z (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8)) 16) |
(+.f64 z (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8))) 32) |
(+.f64 z (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8)))) 64) |
(+.f64 z (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8))))) 128) |
(+.f64 z (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8)))))) 256) |
(+.f64 z (*.f64 y x)) |
(pow.f64 (+.f64 (*.f64 y x) z) 1) |
(+.f64 z (*.f64 y x)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
| 0.1b | (*.f64 z (cos.f64 y)) |
Compiled 23 to 7 computations (69.6% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
| 0.0ms | y | @ | inf | (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
| 0.0ms | y | @ | -inf | (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
| 0.0ms | z | @ | -inf | (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
| 0.0ms | z | @ | inf | (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
| 1× | batch-egg-rewrite |
| 1424× | rational.json-1 |
| 1424× | rational.json-2 |
| 1402× | rational.json-simplify-35 |
| 1266× | rational.json-3 |
| 1258× | exponential.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 23 |
| 1 | 67 | 23 |
| 2 | 145 | 23 |
| 3 | 315 | 23 |
| 4 | 627 | 23 |
| 5 | 1478 | 23 |
| 6 | 2904 | 23 |
| 7 | 4380 | 23 |
| 8 | 6050 | 23 |
| 9 | 7162 | 23 |
| 10 | 7881 | 23 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 y (+.f64 x x)) (*.f64 (cos.f64 y) (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1))))) |
| 1× | egg-herbie |
| 1682× | rational.json-simplify-1 |
| 1496× | rational.json-simplify-35 |
| 1308× | rational.json-simplify-49 |
| 832× | rational.json-simplify-2 |
| 794× | rational.json-simplify-38 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 72 | 1215 |
| 1 | 156 | 1215 |
| 2 | 373 | 1215 |
| 3 | 1009 | 1209 |
| 4 | 1636 | 1209 |
| 5 | 2429 | 1209 |
| 6 | 2905 | 1209 |
| 7 | 2994 | 1209 |
| 8 | 3076 | 1209 |
| 9 | 3165 | 1209 |
| 10 | 3270 | 1209 |
| 11 | 3537 | 1209 |
| 12 | 4278 | 1209 |
| 13 | 4645 | 1209 |
| 14 | 4934 | 1209 |
| 15 | 5139 | 1209 |
| 16 | 5320 | 1209 |
| 17 | 5490 | 1209 |
| 18 | 6042 | 1209 |
| 1× | node limit |
| Inputs |
|---|
z |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))) |
(*.f64 y x) |
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 y x)) |
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 y x)) |
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 y x)) |
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 y x)) |
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 y x)) |
(*.f64 (cos.f64 y) z) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(*.f64 y x) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(*.f64 (cos.f64 y) z) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(*.f64 (cos.f64 y) z) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 0) |
(*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1) |
(*.f64 1 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))) |
(*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1/2)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 2)) |
(*.f64 1/2 (+.f64 (*.f64 y (+.f64 x x)) (*.f64 (cos.f64 y) (+.f64 z z)))) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4)) |
(*.f64 (/.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4) 4) |
(/.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 2) 2) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4) 4) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8))))) 128) |
(pow.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1) |
| Outputs |
|---|
z |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 (+.f64 z (*.f64 y x)) (*.f64 -1/2 (*.f64 z (pow.f64 y 2)))) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 z (*.f64 (pow.f64 y 2) -1/2)))) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 z (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 z (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 z -1/2)))) |
(+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/2 (*.f64 z (pow.f64 y 2))))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))) |
(+.f64 (*.f64 -1/2 (*.f64 z (pow.f64 y 2))) (+.f64 (*.f64 y x) (+.f64 z (*.f64 1/24 (*.f64 z (pow.f64 y 4)))))) |
(+.f64 (*.f64 z (*.f64 (pow.f64 y 2) -1/2)) (+.f64 (*.f64 z (*.f64 (pow.f64 y 4) 1/24)) (+.f64 z (*.f64 y x)))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 z (*.f64 1/24 (pow.f64 y 4))) (+.f64 z (*.f64 z (*.f64 -1/2 (pow.f64 y 2)))))) |
(+.f64 z (+.f64 (*.f64 z (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))) (*.f64 y x))) |
(+.f64 (+.f64 z (*.f64 y x)) (*.f64 z (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 z (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/2 (pow.f64 y 2)))))) |
(*.f64 y x) |
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(*.f64 y x) |
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(*.f64 (cos.f64 y) z) |
(*.f64 z (cos.f64 y)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(*.f64 y x) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(*.f64 y x) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(*.f64 y x) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(*.f64 (cos.f64 y) z) |
(*.f64 z (cos.f64 y)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(*.f64 (cos.f64 y) z) |
(*.f64 z (cos.f64 y)) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(-.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 0) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(*.f64 1 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1/2)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 2) 1/2) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(*.f64 4 (/.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4) 1/4) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 2)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(*.f64 1/2 (+.f64 (*.f64 y (+.f64 x x)) (*.f64 (cos.f64 y) (+.f64 z z)))) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1/2) 2) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4)) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(*.f64 (/.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4) 4) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(/.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 2) 2) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4) 4) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8) 8) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8)) 16) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8))) 32) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8)))) 64) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8))))) 128) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(pow.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (+.f64 (*.f64 y x) z) | |
| ✓ | 3.3b | (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 (*.f64 y x) z)) |
| ✓ | 5.4b | (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) |
Compiled 42 to 22 computations (47.6% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | y | @ | inf | (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) |
| 1.0ms | z | @ | 0 | (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) |
| 1.0ms | y | @ | 0 | (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) |
| 0.0ms | z | @ | inf | (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) |
| 0.0ms | x | @ | 0 | (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 (*.f64 y x) z)) |
| 1× | batch-egg-rewrite |
| 1714× | rational.json-simplify-35 |
| 1644× | exponential.json-3 |
| 1644× | rational.json-1 |
| 1644× | rational.json-2 |
| 1644× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 56 |
| 1 | 89 | 56 |
| 2 | 187 | 56 |
| 3 | 392 | 56 |
| 4 | 818 | 56 |
| 5 | 2102 | 56 |
| 6 | 3900 | 56 |
| 7 | 5135 | 56 |
| 8 | 7172 | 56 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (pow.f64 y 2) (*.f64 z -1/2)) |
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 (*.f64 y x) z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 (pow.f64 y 2) (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/4)) (*.f64 (pow.f64 y 2) (*.f64 z -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (pow.f64 y 2) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (neg.f64 z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z 1/2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (pow.f64 y 2) (*.f64 z 1/2))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1))))) |
| 1× | egg-herbie |
| 3832× | rational.json-simplify-35 |
| 2166× | rational.json-simplify-2 |
| 1322× | rational.json-simplify-1 |
| 852× | rational.json-simplify-53 |
| 702× | rational.json-simplify-41 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 102 | 2617 |
| 1 | 233 | 2617 |
| 2 | 553 | 2617 |
| 3 | 1450 | 2617 |
| 4 | 3068 | 2617 |
| 5 | 4109 | 2617 |
| 6 | 4485 | 2617 |
| 7 | 4902 | 2617 |
| 8 | 5281 | 2617 |
| 9 | 5510 | 2617 |
| 10 | 5664 | 2617 |
| 11 | 6196 | 2617 |
| 12 | 6252 | 2617 |
| 13 | 6332 | 2617 |
| 14 | 6395 | 2617 |
| 15 | 6512 | 2617 |
| 16 | 6584 | 2617 |
| 17 | 6763 | 2617 |
| 18 | 6919 | 2617 |
| 19 | 7074 | 2617 |
| 20 | 7231 | 2617 |
| 21 | 7400 | 2617 |
| 22 | 7588 | 2617 |
| 23 | 7761 | 2617 |
| 24 | 7915 | 2617 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
z |
(+.f64 (*.f64 y x) z) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 y x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 y x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) z)) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) z))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(*.f64 y x) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(*.f64 y x) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 0) |
(+.f64 0 (*.f64 (pow.f64 y 2) (*.f64 z -1/2))) |
(+.f64 -1 (-.f64 1 (*.f64 (pow.f64 y 2) (*.f64 z 1/2)))) |
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/4)) (*.f64 (pow.f64 y 2) (*.f64 z -1/4))) |
(-.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 0) |
(-.f64 0 (*.f64 (pow.f64 y 2) (*.f64 z 1/2))) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 1) |
(/.f64 (*.f64 (pow.f64 y 2) (neg.f64 z)) 2) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -2)) 4) |
(/.f64 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2))) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2)))) 16) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z 1/2)) -1) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2))))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2)))))) 64) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2))))))) 128) |
(pow.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 1) |
(neg.f64 (*.f64 (pow.f64 y 2) (*.f64 z 1/2))) |
(-.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 0) |
(*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1/2)) |
(*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1) |
(*.f64 1 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x)))) |
(*.f64 (*.f64 2 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x)))) 1/2) |
(*.f64 4 (/.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4)) |
(*.f64 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4) 1/4) |
(*.f64 1/2 (*.f64 2 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))))) |
(*.f64 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4)) |
(*.f64 (/.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4) 4) |
(/.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1) |
(/.f64 (*.f64 2 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x)))) 2) |
(/.f64 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4)))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))))) 64) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4)))))) 128) |
(pow.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1) |
| Outputs |
|---|
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
z |
(+.f64 (*.f64 y x) z) |
(+.f64 z (*.f64 y x)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 y x)) |
(+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 (*.f64 y x) (*.f64 z (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 (*.f64 y x) (*.f64 z (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 (*.f64 y x) (*.f64 z (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))))) |
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z) |
(*.f64 z (+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 (*.f64 y x) (*.f64 z (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 (*.f64 y x) (*.f64 z (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)) |
(+.f64 (*.f64 y x) (*.f64 z (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))))) |
(*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) z)) |
(*.f64 z (+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) z))) |
(+.f64 (*.f64 y x) (*.f64 z (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) z))) |
(+.f64 (*.f64 y x) (*.f64 z (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) z))) |
(+.f64 (*.f64 y x) (*.f64 z (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z) |
(+.f64 z (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))) |
(+.f64 z (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(*.f64 y x) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(*.f64 y x) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z)) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 0) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(+.f64 0 (*.f64 (pow.f64 y 2) (*.f64 z -1/2))) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(+.f64 -1 (-.f64 1 (*.f64 (pow.f64 y 2) (*.f64 z 1/2)))) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/4)) (*.f64 (pow.f64 y 2) (*.f64 z -1/4))) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(-.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 0) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(-.f64 0 (*.f64 (pow.f64 y 2) (*.f64 z 1/2))) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 1) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(/.f64 (*.f64 (pow.f64 y 2) (neg.f64 z)) 2) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -2)) 4) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(/.f64 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2))) 8) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2)))) 16) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z 1/2)) -1) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2))))) 32) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2)))))) 64) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2))))))) 128) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(pow.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 1) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(neg.f64 (*.f64 (pow.f64 y 2) (*.f64 z 1/2))) |
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) |
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) |
(-.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 0) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1/2)) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(*.f64 1 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(*.f64 (*.f64 2 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x)))) 1/2) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(*.f64 4 (/.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4)) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(*.f64 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4) 1/4) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(*.f64 1/2 (*.f64 2 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(*.f64 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1/2) 2) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(*.f64 1/4 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4)) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(*.f64 (/.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4) 4) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(/.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(/.f64 (*.f64 2 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x)))) 2) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(/.f64 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4) 4) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4)) 8) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))) 16) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4)))) 32) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))))) 64) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4)))))) 128) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
(pow.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))) |
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))) |
Compiled 3512 to 1946 computations (44.6% saved)
7 alts after pruning (5 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 244 | 5 | 249 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 2 | 2 | 4 |
| Total | 247 | 7 | 254 |
| Status | Error | Program |
|---|---|---|
| ✓ | 30.2b | (+.f64 (*.f64 y x) z) |
| ✓ | 0.1b | (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
| ▶ | 37.9b | (*.f64 (sin.f64 y) x) |
| ▶ | 24.6b | (*.f64 (cos.f64 y) z) |
| ▶ | 52.7b | (*.f64 y x) |
| ▶ | 14.7b | (*.f64 1/2 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 2))))) |
| 38.9b | z |
Compiled 59 to 41 computations (30.5% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 2))) |
| ✓ | 0.0b | (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 2)))) |
| ✓ | 0.1b | (*.f64 (sin.f64 y) (*.f64 x 2)) |
Compiled 49 to 27 computations (44.9% saved)
24 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | -inf | (*.f64 (sin.f64 y) (*.f64 x 2)) |
| 0.0ms | y | @ | inf | (*.f64 (sin.f64 y) (*.f64 x 2)) |
| 0.0ms | y | @ | 0 | (*.f64 (sin.f64 y) (*.f64 x 2)) |
| 0.0ms | z | @ | 0 | (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 2)))) |
| 0.0ms | x | @ | 0 | (*.f64 (sin.f64 y) (*.f64 x 2)) |
| 1× | batch-egg-rewrite |
| 1704× | rational.json-1 |
| 1704× | rational.json-2 |
| 1704× | rational.json-3 |
| 1012× | rational.json-simplify-35 |
| 988× | exponential.json-3 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 69 |
| 1 | 84 | 69 |
| 2 | 186 | 69 |
| 3 | 379 | 63 |
| 4 | 761 | 63 |
| 5 | 1870 | 63 |
| 6 | 4288 | 63 |
| 7 | 7034 | 63 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 2)))) |
(+.f64 z (*.f64 (sin.f64 y) (*.f64 x 2))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 y) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) x) (*.f64 (sin.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (*.f64 x 8)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 y) x) 16) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 16)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 16))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 16))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 16)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 z (*.f64 (sin.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (+.f64 (*.f64 (sin.f64 y) x) (*.f64 z 1/2)) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 z 1/2) (+.f64 (*.f64 (sin.f64 y) x) (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 z (*.f64 (sin.f64 y) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x)))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 z 4) (*.f64 (sin.f64 y) (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z (*.f64 (sin.f64 y) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 z (*.f64 (sin.f64 y) x)) 2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (sin.f64 y) x) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 4)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (sin.f64 y) x) (*.f64 z 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 4)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 1))))) |
| 1× | egg-herbie |
| 2054× | rational.json-simplify-1 |
| 2044× | rational.json-simplify-35 |
| 1618× | rational.json-simplify-2 |
| 990× | rational.json-simplify-51 |
| 976× | rational.json-simplify-48 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 142 | 3589 |
| 1 | 317 | 3283 |
| 2 | 704 | 3283 |
| 3 | 1865 | 3241 |
| 4 | 4107 | 3241 |
| 5 | 4936 | 3241 |
| 6 | 5225 | 3241 |
| 7 | 5495 | 3241 |
| 8 | 6048 | 3241 |
| 9 | 6969 | 3241 |
| 10 | 7857 | 3241 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 2 (*.f64 y x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) x))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 1/60 (*.f64 (pow.f64 y 5) x)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) x)))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 1/60 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 -1/2520 (*.f64 (pow.f64 y 7) x)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) x))))) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(*.f64 2 z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z)) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z)) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z)) |
(*.f64 2 z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z)) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z)) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z)) |
(*.f64 2 z) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 2 z) (*.f64 -1/3 (*.f64 (pow.f64 y 3) x)))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 2 z) (+.f64 (*.f64 1/60 (*.f64 (pow.f64 y 5) x)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) x))))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(*.f64 2 z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z)) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z)) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
z |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
z |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
z |
(+.f64 (*.f64 2 (*.f64 y x)) z) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 z (*.f64 -1/3 (*.f64 (pow.f64 y 3) x)))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 1/60 (*.f64 (pow.f64 y 5) x)) (+.f64 z (*.f64 -1/3 (*.f64 (pow.f64 y 3) x))))) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
z |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 0) |
(+.f64 0 (*.f64 (sin.f64 y) (+.f64 x x))) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (sin.f64 y) x)) |
(-.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 0) |
(/.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 1) |
(/.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) 2) |
(/.f64 (*.f64 (sin.f64 y) (*.f64 x 8)) 4) |
(/.f64 (*.f64 (*.f64 (sin.f64 y) x) 16) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 16)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 16))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 16))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 16)))) 64) |
(pow.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 1) |
(-.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 0) |
(*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) |
(*.f64 2 (+.f64 (+.f64 (*.f64 (sin.f64 y) x) (*.f64 z 1/2)) (*.f64 z 1/2))) |
(*.f64 2 (+.f64 (*.f64 z 1/2) (+.f64 (*.f64 (sin.f64 y) x) (*.f64 z 1/2)))) |
(*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 1) |
(*.f64 1 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x)))) |
(*.f64 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x))) 1/2) |
(*.f64 4 (/.f64 (+.f64 z (*.f64 (sin.f64 y) x)) 2)) |
(*.f64 (*.f64 2 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x)))) 1/4) |
(*.f64 1/2 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x)))) |
(*.f64 1/2 (+.f64 (*.f64 z 4) (*.f64 (sin.f64 y) (*.f64 x 4)))) |
(*.f64 1/4 (*.f64 2 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x))))) |
(*.f64 (+.f64 z (*.f64 (sin.f64 y) x)) 2) |
(*.f64 (/.f64 (+.f64 z (*.f64 (sin.f64 y) x)) 2) 4) |
(/.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 1) |
(/.f64 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x))) 2) |
(/.f64 (*.f64 2 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x)))) 4) |
(/.f64 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8)))) 64) |
(pow.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 1) |
(-.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 0) |
(*.f64 2 (+.f64 (*.f64 (sin.f64 y) x) (*.f64 z 1/2))) |
(*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 1) |
(*.f64 1 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z)) |
(*.f64 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 4)))) 1/2) |
(*.f64 4 (/.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4)) |
(*.f64 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4) 1/4) |
(*.f64 1/2 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 4))))) |
(*.f64 (+.f64 (*.f64 (sin.f64 y) x) (*.f64 z 1/2)) 2) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4)) |
(*.f64 (/.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4) 4) |
(/.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 1) |
(/.f64 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 4)))) 2) |
(/.f64 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4) 4) |
(/.f64 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8)))) 64) |
(pow.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 1) |
| Outputs |
|---|
(*.f64 2 (*.f64 y x)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) x))) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (pow.f64 y 3) (*.f64 x -1/3))) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 x (*.f64 (pow.f64 y 3) -1/3))) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 x (*.f64 -1/3 (pow.f64 y 3)))) |
(*.f64 x (+.f64 (*.f64 -1/3 (pow.f64 y 3)) (*.f64 2 y))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 1/60 (*.f64 (pow.f64 y 5) x)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) x)))) |
(+.f64 (*.f64 (pow.f64 y 5) (*.f64 x 1/60)) (+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (pow.f64 y 3) (*.f64 x -1/3)))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 x (*.f64 (pow.f64 y 3) -1/3)) (*.f64 x (*.f64 1/60 (pow.f64 y 5))))) |
(+.f64 (*.f64 x (*.f64 -1/3 (pow.f64 y 3))) (+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (pow.f64 y 5) (*.f64 x 1/60)))) |
(+.f64 (*.f64 x (*.f64 -1/3 (pow.f64 y 3))) (*.f64 x (+.f64 (*.f64 1/60 (pow.f64 y 5)) (*.f64 2 y)))) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 x (+.f64 (*.f64 1/60 (pow.f64 y 5)) (*.f64 -1/3 (pow.f64 y 3))))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 1/60 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 -1/2520 (*.f64 (pow.f64 y 7) x)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) x))))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 (pow.f64 y 5) (*.f64 x 1/60)) (+.f64 (*.f64 (pow.f64 y 3) (*.f64 x -1/3)) (*.f64 -1/2520 (*.f64 x (pow.f64 y 7)))))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 x (*.f64 (pow.f64 y 3) -1/3)) (+.f64 (*.f64 x (*.f64 1/60 (pow.f64 y 5))) (*.f64 x (*.f64 -1/2520 (pow.f64 y 7)))))) |
(+.f64 (*.f64 x (*.f64 -1/3 (pow.f64 y 3))) (+.f64 (+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (pow.f64 y 5) (*.f64 x 1/60))) (*.f64 (pow.f64 y 7) (*.f64 x -1/2520)))) |
(+.f64 (*.f64 x (+.f64 (*.f64 -1/2520 (pow.f64 y 7)) (*.f64 -1/3 (pow.f64 y 3)))) (*.f64 x (+.f64 (*.f64 1/60 (pow.f64 y 5)) (*.f64 2 y)))) |
(+.f64 (*.f64 x (+.f64 (*.f64 -1/3 (pow.f64 y 3)) (*.f64 -1/2520 (pow.f64 y 7)))) (*.f64 x (+.f64 (*.f64 1/60 (pow.f64 y 5)) (*.f64 2 y)))) |
(+.f64 (*.f64 x (+.f64 (*.f64 -1/3 (pow.f64 y 3)) (*.f64 2 y))) (*.f64 x (+.f64 (*.f64 1/60 (pow.f64 y 5)) (*.f64 -1/2520 (pow.f64 y 7))))) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(*.f64 2 z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z)) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z)) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z)) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(*.f64 2 z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z)) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z)) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z)) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(*.f64 2 z) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 z (*.f64 y x))) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 2 z) (*.f64 -1/3 (*.f64 (pow.f64 y 3) x)))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 (pow.f64 y 3) (*.f64 x -1/3)) (*.f64 2 z))) |
(+.f64 (*.f64 x (*.f64 (pow.f64 y 3) -1/3)) (*.f64 2 (+.f64 z (*.f64 y x)))) |
(+.f64 (*.f64 x (*.f64 -1/3 (pow.f64 y 3))) (*.f64 2 (+.f64 (*.f64 y x) z))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 2 z) (+.f64 (*.f64 1/60 (*.f64 (pow.f64 y 5) x)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) x))))) |
(+.f64 (*.f64 2 z) (+.f64 (*.f64 (pow.f64 y 5) (*.f64 x 1/60)) (+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (pow.f64 y 3) (*.f64 x -1/3))))) |
(+.f64 (+.f64 (*.f64 x (*.f64 (pow.f64 y 3) -1/3)) (*.f64 x (*.f64 1/60 (pow.f64 y 5)))) (*.f64 2 (+.f64 z (*.f64 y x)))) |
(+.f64 (*.f64 x (*.f64 -1/3 (pow.f64 y 3))) (+.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) (*.f64 (pow.f64 y 5) (*.f64 x 1/60)))) |
(+.f64 (*.f64 x (+.f64 (*.f64 1/60 (pow.f64 y 5)) (*.f64 -1/3 (pow.f64 y 3)))) (*.f64 2 (+.f64 (*.f64 y x) z))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(*.f64 2 z) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z)) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z)) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z)) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
z |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
z |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
z |
(+.f64 (*.f64 2 (*.f64 y x)) z) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 z (*.f64 -1/3 (*.f64 (pow.f64 y 3) x)))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 (pow.f64 y 3) (*.f64 x -1/3)) z)) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 x (*.f64 (pow.f64 y 3) -1/3)) z)) |
(+.f64 (*.f64 x (*.f64 -1/3 (pow.f64 y 3))) (+.f64 (*.f64 2 (*.f64 y x)) z)) |
(+.f64 (*.f64 x (+.f64 (*.f64 -1/3 (pow.f64 y 3)) (*.f64 2 y))) z) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 1/60 (*.f64 (pow.f64 y 5) x)) (+.f64 z (*.f64 -1/3 (*.f64 (pow.f64 y 3) x))))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 (pow.f64 y 5) (*.f64 x 1/60)) (+.f64 (*.f64 (pow.f64 y 3) (*.f64 x -1/3)) z))) |
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 x (*.f64 (pow.f64 y 3) -1/3)) (+.f64 z (*.f64 x (*.f64 1/60 (pow.f64 y 5)))))) |
(+.f64 (*.f64 x (*.f64 -1/3 (pow.f64 y 3))) (+.f64 (+.f64 (*.f64 2 (*.f64 y x)) z) (*.f64 (pow.f64 y 5) (*.f64 x 1/60)))) |
(+.f64 (*.f64 x (*.f64 -1/3 (pow.f64 y 3))) (+.f64 z (*.f64 x (+.f64 (*.f64 1/60 (pow.f64 y 5)) (*.f64 2 y))))) |
(+.f64 (*.f64 x (+.f64 (*.f64 1/60 (pow.f64 y 5)) (*.f64 -1/3 (pow.f64 y 3)))) (+.f64 (*.f64 2 (*.f64 y x)) z)) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
z |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(*.f64 2 (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 0) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(+.f64 0 (*.f64 (sin.f64 y) (+.f64 x x))) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (sin.f64 y) x)) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(-.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 0) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(/.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 1) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(/.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) 2) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(/.f64 (*.f64 (sin.f64 y) (*.f64 x 8)) 4) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(/.f64 (*.f64 (*.f64 (sin.f64 y) x) 16) 8) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 16)) 16) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 16))) 32) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 16))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 16)))) 64) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(pow.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 1) |
(*.f64 (sin.f64 y) (*.f64 x 2)) |
(*.f64 2 (*.f64 x (sin.f64 y))) |
(*.f64 (sin.f64 y) (+.f64 x x)) |
(-.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 0) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(*.f64 2 (+.f64 (+.f64 (*.f64 (sin.f64 y) x) (*.f64 z 1/2)) (*.f64 z 1/2))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(*.f64 2 (+.f64 (*.f64 z 1/2) (+.f64 (*.f64 (sin.f64 y) x) (*.f64 z 1/2)))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 1) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(*.f64 1 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x)))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(*.f64 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x))) 1/2) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(*.f64 4 (/.f64 (+.f64 z (*.f64 (sin.f64 y) x)) 2)) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(*.f64 (*.f64 2 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x)))) 1/4) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(*.f64 1/2 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x)))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(*.f64 1/2 (+.f64 (*.f64 z 4) (*.f64 (sin.f64 y) (*.f64 x 4)))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(*.f64 1/4 (*.f64 2 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x))))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(*.f64 (+.f64 z (*.f64 (sin.f64 y) x)) 2) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(*.f64 (/.f64 (+.f64 z (*.f64 (sin.f64 y) x)) 2) 4) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(/.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 1) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(/.f64 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x))) 2) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(/.f64 (*.f64 2 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x)))) 4) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(/.f64 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8) 8) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8)) 16) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8))) 32) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8)))) 64) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(pow.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 1) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z)) |
(-.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 0) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(*.f64 2 (+.f64 (*.f64 (sin.f64 y) x) (*.f64 z 1/2))) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z 1/2))) |
(*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 1) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(*.f64 1 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z)) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(*.f64 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 4)))) 1/2) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(*.f64 4 (/.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4)) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(*.f64 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4) 1/4) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(*.f64 1/2 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 4))))) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(*.f64 (+.f64 (*.f64 (sin.f64 y) x) (*.f64 z 1/2)) 2) |
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z 1/2))) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4)) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(*.f64 (/.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4) 4) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(/.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 1) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(/.f64 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 4)))) 2) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(/.f64 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4) 4) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(/.f64 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8) 8) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8)) 16) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8))) 32) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8)))) 64) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
(pow.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 1) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z) |
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z) |
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x))) |
Compiled 8 to 4 computations (50% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (*.f64 (cos.f64 y) z) |
Compiled 11 to 5 computations (54.5% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | z | @ | 0 | (*.f64 (cos.f64 y) z) |
| 0.0ms | y | @ | 0 | (*.f64 (cos.f64 y) z) |
| 0.0ms | z | @ | -inf | (*.f64 (cos.f64 y) z) |
| 0.0ms | z | @ | inf | (*.f64 (cos.f64 y) z) |
| 0.0ms | y | @ | inf | (*.f64 (cos.f64 y) z) |
| 1× | batch-egg-rewrite |
| 1604× | rational.json-simplify-35 |
| 1330× | exponential.json-3 |
| 1330× | rational.json-1 |
| 1330× | rational.json-2 |
| 1330× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 11 |
| 1 | 47 | 11 |
| 2 | 113 | 11 |
| 3 | 247 | 11 |
| 4 | 482 | 11 |
| 5 | 1096 | 11 |
| 6 | 2237 | 11 |
| 7 | 3642 | 11 |
| 8 | 4826 | 11 |
| 9 | 6743 | 11 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (cos.f64 y) z) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 y) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 y) (*.f64 z 1/2)) (*.f64 (cos.f64 y) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 y) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) (*.f64 z 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 y) z) 1))))) |
| 1× | egg-herbie |
| 1802× | rational.json-simplify-35 |
| 1764× | rational.json-simplify-2 |
| 1544× | rational.json-simplify-53 |
| 1306× | rational.json-simplify-1 |
| 1208× | rational.json-simplify-42 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 64 | 390 |
| 1 | 156 | 390 |
| 2 | 305 | 390 |
| 3 | 611 | 378 |
| 4 | 1963 | 378 |
| 5 | 3765 | 378 |
| 6 | 4320 | 378 |
| 7 | 4496 | 378 |
| 8 | 4649 | 378 |
| 9 | 4820 | 378 |
| 10 | 5005 | 378 |
| 11 | 6279 | 378 |
| 12 | 7314 | 378 |
| 13 | 7739 | 378 |
| 14 | 7785 | 378 |
| 15 | 7790 | 378 |
| 16 | 7794 | 378 |
| 1× | node limit |
| Inputs |
|---|
z |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(+.f64 (*.f64 (cos.f64 y) z) 0) |
(+.f64 0 (*.f64 (cos.f64 y) z)) |
(+.f64 (*.f64 (cos.f64 y) (*.f64 z 1/2)) (*.f64 (cos.f64 y) (*.f64 z 1/2))) |
(-.f64 (*.f64 (cos.f64 y) z) 0) |
(/.f64 (*.f64 (cos.f64 y) z) 1) |
(/.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2) |
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4) |
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 8)) 8) |
(/.f64 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8)))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8))))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8)))))) 128) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8))))))) 256) |
(pow.f64 (*.f64 (cos.f64 y) z) 1) |
| Outputs |
|---|
z |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z) |
(+.f64 z (*.f64 -1/2 (*.f64 z (pow.f64 y 2)))) |
(+.f64 z (*.f64 z (*.f64 (pow.f64 y 2) -1/2))) |
(+.f64 z (*.f64 z (*.f64 -1/2 (pow.f64 y 2)))) |
(+.f64 z (*.f64 (pow.f64 y 2) (*.f64 z -1/2))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))) |
(+.f64 z (+.f64 (*.f64 1/24 (*.f64 z (pow.f64 y 4))) (*.f64 -1/2 (*.f64 z (pow.f64 y 2))))) |
(+.f64 z (+.f64 (*.f64 z (*.f64 (pow.f64 y 2) -1/2)) (*.f64 (pow.f64 y 4) (*.f64 z 1/24)))) |
(+.f64 z (+.f64 (*.f64 z (*.f64 -1/2 (pow.f64 y 2))) (*.f64 (pow.f64 y 4) (*.f64 z 1/24)))) |
(+.f64 z (*.f64 z (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))) |
(+.f64 (*.f64 -1/2 (*.f64 z (pow.f64 y 2))) (+.f64 (+.f64 z (*.f64 1/24 (*.f64 z (pow.f64 y 4)))) (*.f64 -1/720 (*.f64 z (pow.f64 y 6))))) |
(+.f64 z (+.f64 (+.f64 (*.f64 (pow.f64 y 4) (*.f64 z 1/24)) (*.f64 (pow.f64 y 6) (*.f64 z -1/720))) (*.f64 z (*.f64 (pow.f64 y 2) -1/2)))) |
(+.f64 z (+.f64 (*.f64 z (*.f64 -1/2 (pow.f64 y 2))) (+.f64 (*.f64 (pow.f64 y 4) (*.f64 z 1/24)) (*.f64 (pow.f64 y 6) (*.f64 z -1/720))))) |
(+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 z (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (*.f64 1/24 (pow.f64 y 4)))))) |
(+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 z (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/720 (pow.f64 y 6)))))) |
(+.f64 z (+.f64 (*.f64 -1/2 (*.f64 z (pow.f64 y 2))) (*.f64 z (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/720 (pow.f64 y 6)))))) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(*.f64 z (cos.f64 y)) |
(+.f64 (*.f64 (cos.f64 y) z) 0) |
(*.f64 z (cos.f64 y)) |
(+.f64 0 (*.f64 (cos.f64 y) z)) |
(*.f64 z (cos.f64 y)) |
(+.f64 (*.f64 (cos.f64 y) (*.f64 z 1/2)) (*.f64 (cos.f64 y) (*.f64 z 1/2))) |
(*.f64 z (cos.f64 y)) |
(-.f64 (*.f64 (cos.f64 y) z) 0) |
(*.f64 z (cos.f64 y)) |
(/.f64 (*.f64 (cos.f64 y) z) 1) |
(*.f64 z (cos.f64 y)) |
(/.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2) |
(*.f64 z (cos.f64 y)) |
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4) |
(*.f64 z (cos.f64 y)) |
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 8)) 8) |
(*.f64 z (cos.f64 y)) |
(/.f64 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8))) 16) |
(*.f64 z (cos.f64 y)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8)))) 32) |
(*.f64 z (cos.f64 y)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8))))) 64) |
(*.f64 z (cos.f64 y)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8)))))) 128) |
(*.f64 z (cos.f64 y)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8))))))) 256) |
(*.f64 z (cos.f64 y)) |
(pow.f64 (*.f64 (cos.f64 y) z) 1) |
(*.f64 z (cos.f64 y)) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (*.f64 (sin.f64 y) x) |
Compiled 11 to 5 computations (54.5% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (*.f64 (sin.f64 y) x) |
| 0.0ms | x | @ | -inf | (*.f64 (sin.f64 y) x) |
| 0.0ms | x | @ | inf | (*.f64 (sin.f64 y) x) |
| 0.0ms | y | @ | -inf | (*.f64 (sin.f64 y) x) |
| 0.0ms | y | @ | inf | (*.f64 (sin.f64 y) x) |
| 1× | batch-egg-rewrite |
| 1460× | exponential.json-3 |
| 1460× | rational.json-1 |
| 1460× | rational.json-2 |
| 1460× | rational.json-4 |
| 1460× | rational.json-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 11 |
| 1 | 49 | 11 |
| 2 | 121 | 11 |
| 3 | 251 | 11 |
| 4 | 489 | 11 |
| 5 | 1120 | 11 |
| 6 | 3201 | 11 |
| 7 | 6716 | 11 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (sin.f64 y) x) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) (*.f64 x 1/2)) (*.f64 (sin.f64 y) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 y) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (*.f64 x 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 x 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 x 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 x 8)))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 x 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 y) x) 1))))) |
| 1× | egg-herbie |
| 2464× | rational.json-simplify-2 |
| 1614× | rational.json-simplify-35 |
| 1318× | rational.json-simplify-53 |
| 934× | rational.json-simplify-1 |
| 862× | rational.json-simplify-48 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 60 | 304 |
| 1 | 142 | 304 |
| 2 | 272 | 286 |
| 3 | 548 | 274 |
| 4 | 1713 | 274 |
| 5 | 3182 | 274 |
| 6 | 3820 | 274 |
| 7 | 4020 | 274 |
| 8 | 4491 | 274 |
| 9 | 5350 | 274 |
| 10 | 5789 | 274 |
| 11 | 6670 | 274 |
| 12 | 7897 | 274 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))) |
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))) |
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) x)) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))))) |
(+.f64 (*.f64 (sin.f64 y) x) 0) |
(+.f64 0 (*.f64 (sin.f64 y) x)) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 1/2)) (*.f64 (sin.f64 y) (*.f64 x 1/2))) |
(-.f64 (*.f64 (sin.f64 y) x) 0) |
(/.f64 (*.f64 (sin.f64 y) x) 1) |
(/.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 2) |
(/.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) 4) |
(/.f64 (*.f64 (sin.f64 y) (*.f64 x 8)) 8) |
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 x 8))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 x 8)))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 x 8)))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 x 8))))) 64) |
(pow.f64 (*.f64 (sin.f64 y) x) 1) |
| Outputs |
|---|
(*.f64 y x) |
(+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))) |
(+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 x (pow.f64 y 3)))) |
(+.f64 (*.f64 y x) (*.f64 x (*.f64 -1/6 (pow.f64 y 3)))) |
(*.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3)))) |
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 3))) (*.f64 1/120 (*.f64 x (pow.f64 y 5))))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 3))) (*.f64 (pow.f64 y 5) (*.f64 x 1/120)))) |
(+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 3))) (*.f64 x (+.f64 y (*.f64 1/120 (pow.f64 y 5))))) |
(*.f64 x (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (*.f64 1/120 (pow.f64 y 5))))) |
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) x)) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))))) |
(+.f64 (*.f64 1/120 (*.f64 x (pow.f64 y 5))) (+.f64 (*.f64 y x) (+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 3))) (*.f64 -1/5040 (*.f64 x (pow.f64 y 7)))))) |
(+.f64 (*.f64 y x) (+.f64 (*.f64 (pow.f64 y 5) (*.f64 x 1/120)) (+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 3))) (*.f64 x (*.f64 (pow.f64 y 7) -1/5040))))) |
(+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 3))) (+.f64 (*.f64 x (+.f64 y (*.f64 -1/5040 (pow.f64 y 7)))) (*.f64 (pow.f64 y 5) (*.f64 x 1/120)))) |
(+.f64 (*.f64 (pow.f64 y 3) (*.f64 x -1/6)) (*.f64 x (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/5040 (pow.f64 y 7)))))) |
(+.f64 (*.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3)))) (*.f64 x (+.f64 (*.f64 -1/5040 (pow.f64 y 7)) (*.f64 1/120 (pow.f64 y 5))))) |
(+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 3))) (*.f64 x (+.f64 (*.f64 -1/5040 (pow.f64 y 7)) (+.f64 y (*.f64 1/120 (pow.f64 y 5)))))) |
(+.f64 (*.f64 (sin.f64 y) x) 0) |
(*.f64 x (sin.f64 y)) |
(+.f64 0 (*.f64 (sin.f64 y) x)) |
(*.f64 x (sin.f64 y)) |
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 1/2)) (*.f64 (sin.f64 y) (*.f64 x 1/2))) |
(*.f64 x (sin.f64 y)) |
(-.f64 (*.f64 (sin.f64 y) x) 0) |
(*.f64 x (sin.f64 y)) |
(/.f64 (*.f64 (sin.f64 y) x) 1) |
(*.f64 x (sin.f64 y)) |
(/.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 2) |
(*.f64 x (sin.f64 y)) |
(/.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) 4) |
(*.f64 x (sin.f64 y)) |
(/.f64 (*.f64 (sin.f64 y) (*.f64 x 8)) 8) |
(*.f64 x (sin.f64 y)) |
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 x 8))) 16) |
(*.f64 x (sin.f64 y)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 x 8)))) 32) |
(*.f64 x (sin.f64 y)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 x 8)))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 x 8))))) 64) |
(*.f64 x (sin.f64 y)) |
(pow.f64 (*.f64 (sin.f64 y) x) 1) |
(*.f64 x (sin.f64 y)) |
Compiled 2845 to 1760 computations (38.1% saved)
7 alts after pruning (2 fresh and 5 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 173 | 1 | 174 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 1 | 4 | 5 |
| Total | 174 | 7 | 181 |
| Status | Error | Program |
|---|---|---|
| ✓ | 30.2b | (+.f64 (*.f64 y x) z) |
| ✓ | 0.1b | (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
| ✓ | 37.9b | (*.f64 (sin.f64 y) x) |
| ✓ | 24.6b | (*.f64 (cos.f64 y) z) |
| ✓ | 52.7b | (*.f64 y x) |
| ▶ | 30.2b | (*.f64 1/2 (+.f64 z (+.f64 (*.f64 2 (*.f64 y x)) z))) |
| 38.9b | z |
Compiled 58 to 40 computations (31% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 z (+.f64 (*.f64 2 (*.f64 y x)) z)) |
| ✓ | 0.0b | (*.f64 2 (*.f64 y x)) |
Compiled 43 to 21 computations (51.2% saved)
15 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (*.f64 2 (*.f64 y x)) |
| 0.0ms | x | @ | 0 | (*.f64 2 (*.f64 y x)) |
| 0.0ms | y | @ | inf | (*.f64 2 (*.f64 y x)) |
| 0.0ms | x | @ | inf | (*.f64 2 (*.f64 y x)) |
| 0.0ms | x | @ | -inf | (*.f64 2 (*.f64 y x)) |
| 1× | batch-egg-rewrite |
| 2288× | rational.json-simplify-35 |
| 1574× | rational.json-simplify-1 |
| 1224× | rational.json-1 |
| 1224× | rational.json-2 |
| 1224× | rational.json-3 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 38 |
| 1 | 70 | 38 |
| 2 | 153 | 32 |
| 3 | 303 | 32 |
| 4 | 590 | 32 |
| 5 | 1475 | 32 |
| 6 | 3106 | 32 |
| 7 | 4798 | 32 |
| 8 | 6024 | 32 |
| 9 | 6931 | 32 |
| 10 | 6947 | 32 |
| 11 | 6947 | 32 |
| 12 | 7295 | 32 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 2 (*.f64 y x)) |
(+.f64 z (+.f64 (*.f64 2 (*.f64 y x)) z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 2 (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 y (*.f64 x 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 x 3/2)) (*.f64 y (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (*.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 x 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 x 8)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 16 (*.f64 y x)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 16 (*.f64 y x))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (*.f64 y x)) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 y x) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 2 (+.f64 (*.f64 y x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 (*.f64 y x) z)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 y x) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) z) 8) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 4 (+.f64 (*.f64 y x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 y (*.f64 x 4)) (*.f64 z 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y x) z) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 y x) z) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 y x) z) 2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y (*.f64 x 4)) (*.f64 z 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (*.f64 y x) z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) z) 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 1))))) |
| 1× | egg-herbie |
| 4968× | rational.json-simplify-41 |
| 2146× | rational.json-simplify-35 |
| 1622× | rational.json-simplify-2 |
| 910× | rational.json-simplify-51 |
| 774× | rational.json-simplify-1 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 88 | 1551 |
| 1 | 210 | 1251 |
| 2 | 499 | 1251 |
| 3 | 1527 | 1251 |
| 4 | 3369 | 1251 |
| 5 | 4380 | 1251 |
| 6 | 4601 | 1251 |
| 7 | 4758 | 1251 |
| 8 | 4865 | 1251 |
| 9 | 4958 | 1251 |
| 10 | 5050 | 1251 |
| 11 | 5245 | 1251 |
| 12 | 5348 | 1251 |
| 13 | 5451 | 1251 |
| 14 | 5451 | 1251 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 2 (*.f64 y x)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(*.f64 2 z) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 z) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 z) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (*.f64 y x)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(*.f64 2 (*.f64 y x)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(*.f64 2 z) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (*.f64 y x)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(*.f64 2 (*.f64 y x)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 y x) (*.f64 y x)) |
(+.f64 (*.f64 2 (*.f64 y x)) 0) |
(+.f64 0 (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 y (*.f64 x 3/2))) |
(+.f64 (*.f64 y (*.f64 x 3/2)) (*.f64 y (*.f64 x 1/2))) |
(-.f64 (*.f64 2 (*.f64 y x)) 0) |
(/.f64 (*.f64 2 (*.f64 y x)) 1) |
(/.f64 (*.f64 y (*.f64 x 4)) 2) |
(/.f64 (*.f64 y (*.f64 x 8)) 4) |
(/.f64 (*.f64 16 (*.f64 y x)) 8) |
(/.f64 (*.f64 2 (*.f64 16 (*.f64 y x))) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x)))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x))))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x)))))) 128) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x))))))) 256) |
(pow.f64 (*.f64 2 (*.f64 y x)) 1) |
(-.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 0) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 1) |
(*.f64 1 (*.f64 2 (+.f64 (*.f64 y x) z))) |
(*.f64 (*.f64 4 (+.f64 (*.f64 y x) z)) 1/2) |
(*.f64 4 (/.f64 (+.f64 (*.f64 y x) z) 2)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) z) 8) 1/4) |
(*.f64 1/2 (*.f64 4 (+.f64 (*.f64 y x) z))) |
(*.f64 1/2 (+.f64 (*.f64 y (*.f64 x 4)) (*.f64 z 4))) |
(*.f64 (+.f64 (*.f64 y x) z) 2) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y x) z) 8)) |
(*.f64 (/.f64 (+.f64 (*.f64 y x) z) 2) 4) |
(*.f64 (+.f64 (*.f64 y (*.f64 x 4)) (*.f64 z 4)) 1/2) |
(/.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 1) |
(/.f64 (*.f64 4 (+.f64 (*.f64 y x) z)) 2) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) z) 8) 4) |
(/.f64 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8))) 32) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8)))) 64) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8))))) 128) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8)))))) 256) |
(pow.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 1) |
| Outputs |
|---|
(*.f64 2 (*.f64 y x)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(*.f64 2 z) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(*.f64 2 z) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(*.f64 2 z) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(*.f64 2 (*.f64 y x)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(*.f64 2 (*.f64 y x)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(*.f64 2 z) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(*.f64 2 (*.f64 y x)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(*.f64 2 (*.f64 y x)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x))) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 y x) (*.f64 y x)) |
(*.f64 2 (*.f64 y x)) |
(+.f64 (*.f64 2 (*.f64 y x)) 0) |
(*.f64 2 (*.f64 y x)) |
(+.f64 0 (*.f64 2 (*.f64 y x))) |
(*.f64 2 (*.f64 y x)) |
(+.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 y (*.f64 x 3/2))) |
(*.f64 2 (*.f64 y x)) |
(+.f64 (*.f64 y (*.f64 x 3/2)) (*.f64 y (*.f64 x 1/2))) |
(*.f64 2 (*.f64 y x)) |
(-.f64 (*.f64 2 (*.f64 y x)) 0) |
(*.f64 2 (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 y x)) 1) |
(*.f64 2 (*.f64 y x)) |
(/.f64 (*.f64 y (*.f64 x 4)) 2) |
(*.f64 2 (*.f64 y x)) |
(/.f64 (*.f64 y (*.f64 x 8)) 4) |
(*.f64 2 (*.f64 y x)) |
(/.f64 (*.f64 16 (*.f64 y x)) 8) |
(*.f64 2 (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 16 (*.f64 y x))) 16) |
(*.f64 2 (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x)))) 32) |
(*.f64 2 (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x))))) 64) |
(*.f64 2 (*.f64 y x)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x)))))) 128) |
(*.f64 2 (*.f64 y x)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x))))))) 256) |
(*.f64 2 (*.f64 y x)) |
(pow.f64 (*.f64 2 (*.f64 y x)) 1) |
(*.f64 2 (*.f64 y x)) |
(-.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 0) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 1) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(*.f64 1 (*.f64 2 (+.f64 (*.f64 y x) z))) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(*.f64 (*.f64 4 (+.f64 (*.f64 y x) z)) 1/2) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(*.f64 4 (/.f64 (+.f64 (*.f64 y x) z) 2)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(*.f64 (*.f64 (+.f64 (*.f64 y x) z) 8) 1/4) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(*.f64 1/2 (*.f64 4 (+.f64 (*.f64 y x) z))) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(*.f64 1/2 (+.f64 (*.f64 y (*.f64 x 4)) (*.f64 z 4))) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(*.f64 (+.f64 (*.f64 y x) z) 2) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y x) z) 8)) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(*.f64 (/.f64 (+.f64 (*.f64 y x) z) 2) 4) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(*.f64 (+.f64 (*.f64 y (*.f64 x 4)) (*.f64 z 4)) 1/2) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(/.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 1) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(/.f64 (*.f64 4 (+.f64 (*.f64 y x) z)) 2) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(/.f64 (*.f64 (+.f64 (*.f64 y x) z) 8) 4) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(/.f64 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8) 8) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8)) 16) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8))) 32) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8)))) 64) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8))))) 128) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8)))))) 256) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
(pow.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 1) |
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z)) |
(*.f64 2 (+.f64 (*.f64 y x) z)) |
Compiled 606 to 394 computations (35% saved)
8 alts after pruning (2 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 42 | 1 | 43 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 5 | 5 |
| Total | 42 | 8 | 50 |
| Status | Error | Program |
|---|---|---|
| ✓ | 30.2b | (+.f64 (*.f64 y x) z) |
| ✓ | 0.1b | (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
| ✓ | 37.9b | (*.f64 (sin.f64 y) x) |
| ✓ | 24.6b | (*.f64 (cos.f64 y) z) |
| ✓ | 52.7b | (*.f64 y x) |
| 30.2b | (*.f64 1/2 (+.f64 z (+.f64 (+.f64 (*.f64 y (*.f64 x 3/2)) (*.f64 y (*.f64 x 1/2))) z))) | |
| ✓ | 30.2b | (*.f64 1/2 (+.f64 z (+.f64 (*.f64 2 (*.f64 y x)) z))) |
| 38.9b | z |
Compiled 78 to 54 computations (30.8% saved)
| Inputs |
|---|
z |
(*.f64 y x) |
(+.f64 (*.f64 y x) z) |
(*.f64 1/2 (+.f64 z (+.f64 (*.f64 2 (*.f64 y x)) z))) |
(*.f64 1/2 (+.f64 z (+.f64 (+.f64 (*.f64 y (*.f64 x 3/2)) (*.f64 y (*.f64 x 1/2))) z))) |
(*.f64 (cos.f64 y) z) |
(*.f64 (sin.f64 y) x) |
(+.f64 (*.f64 x (sin.f64 y)) z) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(*.f64 1/2 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 2))))) |
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 (*.f64 y x) z)) |
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
| Outputs |
|---|
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
4 calls:
| 10.0ms | x |
| 10.0ms | z |
| 7.0ms | (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
| 7.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 0.1b | 1 | x |
| 0.1b | 1 | y |
| 0.1b | 1 | z |
| 0.1b | 1 | (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
Compiled 120 to 61 computations (49.2% saved)
| Inputs |
|---|
z |
(*.f64 y x) |
(+.f64 (*.f64 y x) z) |
(*.f64 1/2 (+.f64 z (+.f64 (*.f64 2 (*.f64 y x)) z))) |
(*.f64 1/2 (+.f64 z (+.f64 (+.f64 (*.f64 y (*.f64 x 3/2)) (*.f64 y (*.f64 x 1/2))) z))) |
(*.f64 (cos.f64 y) z) |
(*.f64 (sin.f64 y) x) |
(+.f64 (*.f64 x (sin.f64 y)) z) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
(*.f64 1/2 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 2))))) |
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 (*.f64 y x) z)) |
| Outputs |
|---|
(*.f64 1/2 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 2))))) |
(*.f64 (cos.f64 y) z) |
(+.f64 (*.f64 x (sin.f64 y)) z) |
3 calls:
| 34.0ms | z |
| 32.0ms | y |
| 25.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 5.5b | 3 | x |
| 8.7b | 5 | y |
| 7.1b | 3 | z |
Compiled 99 to 52 computations (47.5% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 17.0ms | 5.053843011193707e+61 | 8.348537531282851e+61 |
| 41.0ms | -3.204835188873037e-91 | -1.6165842927581834e-102 |
| 25.0ms | 57× | body | 1024 | valid |
| 21.0ms | 139× | body | 256 | valid |
| 8.0ms | 28× | body | 512 | valid |
Compiled 330 to 245 computations (25.8% saved)
| Inputs |
|---|
z |
(*.f64 y x) |
(+.f64 (*.f64 y x) z) |
(*.f64 1/2 (+.f64 z (+.f64 (*.f64 2 (*.f64 y x)) z))) |
(*.f64 1/2 (+.f64 z (+.f64 (+.f64 (*.f64 y (*.f64 x 3/2)) (*.f64 y (*.f64 x 1/2))) z))) |
(*.f64 (cos.f64 y) z) |
(*.f64 (sin.f64 y) x) |
(+.f64 (*.f64 x (sin.f64 y)) z) |
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) |
| Outputs |
|---|
(+.f64 (*.f64 x (sin.f64 y)) z) |
(*.f64 (cos.f64 y) z) |
(+.f64 (*.f64 x (sin.f64 y)) z) |
3 calls:
| 27.0ms | x |
| 26.0ms | y |
| 22.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 5.6b | 3 | x |
| 8.7b | 5 | y |
| 7.1b | 3 | z |
Compiled 74 to 39 computations (47.3% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 15.0ms | 5.053843011193707e+61 | 8.348537531282851e+61 |
| 38.0ms | -3.204835188873037e-91 | -1.6165842927581834e-102 |
| 26.0ms | 162× | body | 256 | valid |
| 17.0ms | 41× | body | 1024 | valid |
| 6.0ms | 21× | body | 512 | valid |
Compiled 270 to 195 computations (27.8% saved)
| Inputs |
|---|
z |
(*.f64 y x) |
(+.f64 (*.f64 y x) z) |
(*.f64 1/2 (+.f64 z (+.f64 (*.f64 2 (*.f64 y x)) z))) |
(*.f64 1/2 (+.f64 z (+.f64 (+.f64 (*.f64 y (*.f64 x 3/2)) (*.f64 y (*.f64 x 1/2))) z))) |
(*.f64 (cos.f64 y) z) |
(*.f64 (sin.f64 y) x) |
| Outputs |
|---|
(*.f64 (cos.f64 y) z) |
(*.f64 (sin.f64 y) x) |
(*.f64 (cos.f64 y) z) |
(+.f64 (*.f64 y x) z) |
(*.f64 (sin.f64 y) x) |
(*.f64 (cos.f64 y) z) |
3 calls:
| 33.0ms | z |
| 28.0ms | y |
| 19.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 11.0b | 3 | x |
| 9.2b | 6 | y |
| 12.6b | 7 | z |
Compiled 60 to 35 computations (41.7% saved)
| 5× | binary-search |
| Time | Left | Right |
|---|---|---|
| 80.0ms | 2.315829213662888e+189 | 2.1677701931159204e+209 |
| 21.0ms | 0.0001673401896680197 | 7.690939866672559 |
| 28.0ms | -0.003422578037935901 | -1.3298643990163413e-14 |
| 45.0ms | -7.704874662714785e+84 | -1.8729048674612314e+75 |
| 21.0ms | -4.103699330492612e+189 | -2.9939001924919907e+189 |
| 98.0ms | 224× | body | 1024 | valid |
| 46.0ms | 288× | body | 256 | valid |
| 42.0ms | 144× | body | 512 | valid |
Compiled 692 to 505 computations (27% saved)
| Inputs |
|---|
z |
(*.f64 y x) |
(+.f64 (*.f64 y x) z) |
(*.f64 1/2 (+.f64 z (+.f64 (*.f64 2 (*.f64 y x)) z))) |
(*.f64 1/2 (+.f64 z (+.f64 (+.f64 (*.f64 y (*.f64 x 3/2)) (*.f64 y (*.f64 x 1/2))) z))) |
(*.f64 (cos.f64 y) z) |
| Outputs |
|---|
(*.f64 (cos.f64 y) z) |
(+.f64 (*.f64 y x) z) |
(*.f64 (cos.f64 y) z) |
3 calls:
| 15.0ms | z |
| 13.0ms | x |
| 13.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 18.0b | 3 | x |
| 15.2b | 3 | y |
| 17.7b | 3 | z |
Compiled 56 to 33 computations (41.1% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 3.0ms | 5.893632056097838e-14 | 6.344751712011336e-14 |
| 28.0ms | -0.003422578037935901 | -1.3298643990163413e-14 |
| 29.0ms | 176× | body | 256 | valid |
Compiled 205 to 145 computations (29.3% saved)
| Inputs |
|---|
z |
(*.f64 y x) |
(+.f64 (*.f64 y x) z) |
(*.f64 1/2 (+.f64 z (+.f64 (*.f64 2 (*.f64 y x)) z))) |
(*.f64 1/2 (+.f64 z (+.f64 (+.f64 (*.f64 y (*.f64 x 3/2)) (*.f64 y (*.f64 x 1/2))) z))) |
| Outputs |
|---|
(+.f64 (*.f64 y x) z) |
3 calls:
| 5.0ms | x |
| 4.0ms | z |
| 4.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 30.2b | 1 | x |
| 30.2b | 1 | y |
| 30.2b | 1 | z |
Compiled 52 to 31 computations (40.4% saved)
Total -28.3b remaining (-83.3%)
Threshold costs -28.3b (-83.3%)
| Inputs |
|---|
z |
(*.f64 y x) |
| Outputs |
|---|
z |
(*.f64 y x) |
z |
3 calls:
| 11.0ms | x |
| 11.0ms | z |
| 3.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 34.1b | 4 | x |
| 38.9b | 1 | y |
| 33.9b | 3 | z |
Compiled 19 to 13 computations (31.6% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 33.0ms | 1.7137137094964654e-164 | 1.040141712217307e-161 |
| 31.0ms | -2.985703867875477e-185 | -7.716168248865292e-188 |
| 27.0ms | 62× | body | 1024 | valid |
| 26.0ms | 167× | body | 256 | valid |
| 8.0ms | 27× | body | 512 | valid |
Compiled 210 to 157 computations (25.2% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 65 | 378 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
(if (<=.f64 x -2660458394548483/9173994463960286046443283581208347763186259956673124494950355357547691504353939232280074212440502746218496) (*.f64 1/2 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 2))))) (if (<=.f64 x 59999999999999999817723503236360894134390639559794877150527488) (*.f64 (cos.f64 y) z) (+.f64 (*.f64 x (sin.f64 y)) z))) |
(if (<=.f64 x -3170532486744675/587135645693458306972370149197334256843920637227079967676822742883052256278652110865924749596192175757983744) (+.f64 (*.f64 x (sin.f64 y)) z) (if (<=.f64 x 51000000000000000986863131915674664860860819185421754684145664) (*.f64 (cos.f64 y) z) (+.f64 (*.f64 x (sin.f64 y)) z))) |
(if (<=.f64 y -3499999999999999957160618822890283391003173277157352446441301472936027706846573864581553735771894078729537818412382514889261452387905887598383586854912310666219032459116640812352997269962752) (*.f64 (cos.f64 y) z) (if (<=.f64 y -57999999999999998435749346502495219922922977430039984493490115914787391356796928) (*.f64 (sin.f64 y) x) (if (<=.f64 y -4150517416584649/18446744073709551616) (*.f64 (cos.f64 y) z) (if (<=.f64 y 8070450532247929/1152921504606846976) (+.f64 (*.f64 y x) z) (if (<=.f64 y 54000000000000000752366127399475995521206222102697380802987789017937798414564603012956686817805606759349446691179873027421013414077058490668575536085796850093357387094331989199770655871991808) (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)))))) |
(if (<=.f64 y -2674777890687885/9223372036854775808) (*.f64 (cos.f64 y) z) (if (<=.f64 y 4912146075884389/79228162514264337593543950336) (+.f64 (*.f64 y x) z) (*.f64 (cos.f64 y) z))) |
(+.f64 (*.f64 y x) z) |
(if (<=.f64 z -3674162482993007/2449441655328671218473925200700819802261115891310932980616707775308160183158275122807205904404441104841876294862561960570988912251863537292521360689146388717906188066642938460312627143172697498123763712) z (if (<=.f64 z 4943758783237121/4052261297735344686047273304385899561535592023674254785152009111026028136145418111718463914987406049109568248643848426935932764722081811824108276205189417663145685354884286644224) (*.f64 y x) z)) |
z |
| Outputs |
|---|
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) |
(if (<=.f64 x -2660458394548483/9173994463960286046443283581208347763186259956673124494950355357547691504353939232280074212440502746218496) (*.f64 1/2 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 2))))) (if (<=.f64 x 59999999999999999817723503236360894134390639559794877150527488) (*.f64 (cos.f64 y) z) (+.f64 (*.f64 x (sin.f64 y)) z))) |
(if (<=.f64 x -3170532486744675/587135645693458306972370149197334256843920637227079967676822742883052256278652110865924749596192175757983744) (+.f64 (*.f64 x (sin.f64 y)) z) (if (<=.f64 x 51000000000000000986863131915674664860860819185421754684145664) (*.f64 (cos.f64 y) z) (+.f64 (*.f64 x (sin.f64 y)) z))) |
(if (<=.f64 y -3499999999999999957160618822890283391003173277157352446441301472936027706846573864581553735771894078729537818412382514889261452387905887598383586854912310666219032459116640812352997269962752) (*.f64 (cos.f64 y) z) (if (<=.f64 y -57999999999999998435749346502495219922922977430039984493490115914787391356796928) (*.f64 (sin.f64 y) x) (if (<=.f64 y -4150517416584649/18446744073709551616) (*.f64 (cos.f64 y) z) (if (<=.f64 y 8070450532247929/1152921504606846976) (+.f64 (*.f64 y x) z) (if (<=.f64 y 54000000000000000752366127399475995521206222102697380802987789017937798414564603012956686817805606759349446691179873027421013414077058490668575536085796850093357387094331989199770655871991808) (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)))))) |
(if (<=.f64 y -2674777890687885/9223372036854775808) (*.f64 (cos.f64 y) z) (if (<=.f64 y 4912146075884389/79228162514264337593543950336) (+.f64 (*.f64 y x) z) (*.f64 (cos.f64 y) z))) |
(+.f64 (*.f64 y x) z) |
(if (<=.f64 z -3674162482993007/2449441655328671218473925200700819802261115891310932980616707775308160183158275122807205904404441104841876294862561960570988912251863537292521360689146388717906188066642938460312627143172697498123763712) z (if (<=.f64 z 4943758783237121/4052261297735344686047273304385899561535592023674254785152009111026028136145418111718463914987406049109568248643848426935932764722081811824108276205189417663145685354884286644224) (*.f64 y x) z)) |
z |
Compiled 172 to 98 computations (43% saved)
Compiled 151 to 59 computations (60.9% saved)
Loading profile data...