Time bar (total: 15.7s)
| 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)
| 2.1s | 6186× | body | 256 | valid |
| 1.2s | 1378× | body | 1024 | valid |
| 373.0ms | 690× | body | 512 | valid |
| 2.0ms | 2× | body | 2048 | valid |
| 2× | egg-herbie |
| 1806× | rational.json-simplify-35 |
| 1342× | rational.json-simplify-48 |
| 1096× | rational.json-simplify-26 |
| 1022× | rational.json-simplify-41 |
| 920× | rational.json-simplify-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 24 | 108 |
| 1 | 54 | 108 |
| 2 | 89 | 108 |
| 3 | 129 | 108 |
| 4 | 207 | 108 |
| 5 | 353 | 108 |
| 6 | 836 | 108 |
| 7 | 2239 | 108 |
| 8 | 5314 | 108 |
| 9 | 6425 | 108 |
| 10 | 7633 | 108 |
| 0 | 3 | 3 |
| 1× | saturated |
| 1× | node limit |
| Inputs |
|---|
0 |
1 |
2 |
| Outputs |
|---|
0 |
1 |
2 |
| Inputs |
|---|
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 y (cos.f64 x)) (*.f64 z (sin.f64 x))) |
(-.f64 (+.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))) |
(-.f64 (+.f64 x (cos.f64 z)) (*.f64 y (sin.f64 z))) |
| Outputs |
|---|
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 y (cos.f64 x)) (*.f64 z (sin.f64 x))) |
(+.f64 (cos.f64 x) (-.f64 y (*.f64 z (sin.f64 x)))) |
(+.f64 y (-.f64 (cos.f64 x) (*.f64 z (sin.f64 x)))) |
(-.f64 (+.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) z) (*.f64 x (sin.f64 y))) |
(+.f64 z (-.f64 (cos.f64 y) (*.f64 x (sin.f64 y)))) |
(-.f64 (+.f64 x (cos.f64 z)) (*.f64 y (sin.f64 z))) |
(+.f64 (cos.f64 z) (-.f64 x (*.f64 y (sin.f64 z)))) |
Compiled 15 to 11 computations (26.7% saved)
| 1× | egg-herbie |
| 2198× | rational.json-simplify-35 |
| 1816× | rational.json-simplify-1 |
| 1284× | rational.json-simplify-26 |
| 916× | rational.json-simplify-2 |
| 656× | rational.json-simplify-52 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 27 |
| 1 | 21 | 27 |
| 2 | 33 | 27 |
| 3 | 48 | 27 |
| 4 | 79 | 27 |
| 5 | 135 | 27 |
| 6 | 297 | 27 |
| 7 | 740 | 27 |
| 8 | 2052 | 27 |
| 9 | 3325 | 27 |
| 10 | 4083 | 27 |
| 11 | 4569 | 27 |
| 12 | 5323 | 27 |
| 13 | 5743 | 27 |
| 14 | 6355 | 27 |
| 15 | 6934 | 27 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
| Outputs |
|---|
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
Compiled 30 to 12 computations (60% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 2 | 1 | 3 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 2 | 2 | 4 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.1b | (-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
Compiled 12 to 8 computations (33.3% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
| ✓ | 0.0b | (sin.f64 y) |
| ✓ | 0.0b | (+.f64 x (cos.f64 y)) |
| ✓ | 0.2b | (*.f64 z (sin.f64 y)) |
Compiled 27 to 8 computations (70.4% saved)
24 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | z | @ | 0 | (*.f64 z (sin.f64 y)) |
| 0.0ms | y | @ | 0 | (*.f64 z (sin.f64 y)) |
| 0.0ms | y | @ | -inf | (sin.f64 y) |
| 0.0ms | x | @ | 0 | (-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
| 0.0ms | y | @ | -inf | (*.f64 z (sin.f64 y)) |
| 1× | batch-egg-rewrite |
| 1332× | bool.json-1 |
| 1332× | bool.json-2 |
| 1298× | rational.json-1 |
| 1298× | rational.json-2 |
| 1298× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 54 |
| 1 | 114 | 54 |
| 2 | 335 | 54 |
| 3 | 761 | 54 |
| 4 | 1734 | 54 |
| 5 | 4197 | 54 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 z (sin.f64 y)) |
(+.f64 x (cos.f64 y)) |
(sin.f64 y) |
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 (sin.f64 y) 1/2)) (*.f64 z (*.f64 (sin.f64 y) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (+.f64 z z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (*.f64 z 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4)))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 z (sin.f64 y)) (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 z (sin.f64 y)) (*.f64 z (sin.f64 y))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (cos.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (cos.f64 y)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (cos.f64 y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (cos.f64 y)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x (cos.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (cos.f64 y)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (cos.f64 y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (cos.f64 y)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (cos.f64 y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (cos.f64 y)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x (cos.f64 y)) (+.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x (cos.f64 y)) (+.f64 x (cos.f64 y))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (neg.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) 1/2) (*.f64 (sin.f64 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (sin.f64 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sin.f64 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sin.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sin.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (neg.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 (neg.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (sin.f64 y)) (neg.f64 (sin.f64 y))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (sin.f64 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x and (sin.f64 y) (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x or (sin.f64 y) (sin.f64 y)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (cos.f64 y)) (neg.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 z (sin.f64 y))) (+.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2) (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))))))) |
| 1× | egg-herbie |
| 1758× | rational.json-simplify-35 |
| 1710× | rational.json-simplify-1 |
| 1540× | rational.json-simplify-52 |
| 1018× | rational.json-simplify-51 |
| 800× | rational.json-simplify-53 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 226 | 2951 |
| 1 | 478 | 2945 |
| 2 | 1192 | 2927 |
| 3 | 2409 | 2901 |
| 4 | 4120 | 2901 |
| 5 | 5731 | 2901 |
| 6 | 6576 | 2901 |
| 7 | 7636 | 2901 |
| 8 | 7761 | 2901 |
| 9 | 7979 | 2901 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 y z) |
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z)) |
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (*.f64 1/120 (*.f64 (pow.f64 y 5) z)))) |
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) z)) (*.f64 1/120 (*.f64 (pow.f64 y 5) z))))) |
(cos.f64 y) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
x |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
x |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 1 x) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))) |
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
y |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) y)) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/5040 (pow.f64 y 7))))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
x |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
x |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 1 x) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) x) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 (*.f64 z (sin.f64 y)) 0) |
(+.f64 0 (*.f64 z (sin.f64 y))) |
(+.f64 (*.f64 z (*.f64 (sin.f64 y) 1/2)) (*.f64 z (*.f64 (sin.f64 y) 1/2))) |
(-.f64 (*.f64 z (sin.f64 y)) 0) |
(/.f64 (*.f64 z (sin.f64 y)) 1) |
(/.f64 (*.f64 (sin.f64 y) (+.f64 z z)) 2) |
(/.f64 (*.f64 (sin.f64 y) (*.f64 z 4)) 4) |
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4))) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4)))) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4)))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4))))) 32) |
(-.f64 (+.f64 x (cos.f64 y)) 0) |
(*.f64 (+.f64 x (cos.f64 y)) 1) |
(*.f64 1 (+.f64 x (cos.f64 y))) |
(*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 1/2)) |
(*.f64 (*.f64 (+.f64 x (cos.f64 y)) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 x (cos.f64 y)) 4)) |
(*.f64 (*.f64 (+.f64 x (cos.f64 y)) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 x (cos.f64 y)) 2)) |
(*.f64 (*.f64 (+.f64 x (cos.f64 y)) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 x (cos.f64 y)) 4)) |
(*.f64 (/.f64 (+.f64 x (cos.f64 y)) 4) 4) |
(/.f64 (+.f64 x (cos.f64 y)) 1) |
(/.f64 (*.f64 (+.f64 x (cos.f64 y)) 2) 2) |
(/.f64 (*.f64 (+.f64 x (cos.f64 y)) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 4)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 4))) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 4)))) 32) |
(+.f64 (sin.f64 y) 0) |
(+.f64 0 (sin.f64 y)) |
(+.f64 -1 (-.f64 1 (neg.f64 (sin.f64 y)))) |
(+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y)))) |
(+.f64 (*.f64 (sin.f64 y) 1/2) (*.f64 (sin.f64 y) 1/2)) |
(-.f64 (sin.f64 y) 0) |
(-.f64 0 (neg.f64 (sin.f64 y))) |
(-.f64 0 (sin.f64 (neg.f64 y))) |
(*.f64 (sin.f64 y) 1) |
(*.f64 1 (sin.f64 y)) |
(*.f64 -1 (neg.f64 (sin.f64 y))) |
(*.f64 2 (*.f64 (sin.f64 y) 1/2)) |
(*.f64 (*.f64 (sin.f64 y) 2) 1/2) |
(*.f64 4 (/.f64 (sin.f64 y) 4)) |
(*.f64 (*.f64 (sin.f64 y) 4) 1/4) |
(*.f64 1/2 (*.f64 (sin.f64 y) 2)) |
(*.f64 (*.f64 (sin.f64 y) 1/2) 2) |
(*.f64 (neg.f64 (sin.f64 y)) -1) |
(*.f64 1/4 (*.f64 (sin.f64 y) 4)) |
(*.f64 (/.f64 (sin.f64 y) 4) 4) |
(*.f64 (sin.f64 (neg.f64 y)) -1) |
(/.f64 (sin.f64 y) 1) |
(/.f64 (*.f64 (sin.f64 y) 2) 2) |
(/.f64 (*.f64 (sin.f64 y) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) 8) |
(/.f64 (neg.f64 (sin.f64 y)) -1) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4))) 16) |
(/.f64 (sin.f64 (neg.f64 y)) -1) |
(/.f64 (+.f64 (neg.f64 (sin.f64 y)) (neg.f64 (sin.f64 y))) -2) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4)))) 32) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(neg.f64 (sin.f64 (neg.f64 y))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 (+.f64 x (cos.f64 y)) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 0) |
(+.f64 0 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) |
(+.f64 -1 (+.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))) |
(+.f64 -1 (+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (neg.f64 (*.f64 z (sin.f64 y))) (+.f64 x (cos.f64 y))) |
(+.f64 (+.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))) -1) |
(+.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2) (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2)) |
(*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1) |
(*.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))) |
(*.f64 -1 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))) |
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2)) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2) 1/2) |
(*.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))) -1) |
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2)) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)) |
(*.f64 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 4) |
(/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2) 2) |
(/.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))) -1) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 4) |
(/.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))) -2) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) -4) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))) 16) |
(/.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) 2) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)))) 32) |
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))))) 4) |
(neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))) |
| Outputs |
|---|
(*.f64 y z) |
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 z (pow.f64 y 3)))) |
(+.f64 (*.f64 y z) (*.f64 z (*.f64 -1/6 (pow.f64 y 3)))) |
(*.f64 z (+.f64 y (*.f64 -1/6 (pow.f64 y 3)))) |
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (*.f64 1/120 (*.f64 (pow.f64 y 5) z)))) |
(+.f64 (*.f64 -1/6 (*.f64 z (pow.f64 y 3))) (+.f64 (*.f64 y z) (*.f64 1/120 (*.f64 z (pow.f64 y 5))))) |
(+.f64 (*.f64 z (*.f64 -1/6 (pow.f64 y 3))) (+.f64 (*.f64 y z) (*.f64 z (*.f64 1/120 (pow.f64 y 5))))) |
(+.f64 (*.f64 (pow.f64 y 3) (*.f64 z -1/6)) (*.f64 z (+.f64 y (*.f64 1/120 (pow.f64 y 5))))) |
(*.f64 z (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (*.f64 1/120 (pow.f64 y 5))))) |
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) z)) (*.f64 1/120 (*.f64 (pow.f64 y 5) z))))) |
(+.f64 (*.f64 y z) (+.f64 (+.f64 (*.f64 1/120 (*.f64 z (pow.f64 y 5))) (*.f64 -1/5040 (*.f64 z (pow.f64 y 7)))) (*.f64 -1/6 (*.f64 z (pow.f64 y 3))))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 z (*.f64 -1/6 (pow.f64 y 3))) (+.f64 (*.f64 z (*.f64 1/120 (pow.f64 y 5))) (*.f64 z (*.f64 -1/5040 (pow.f64 y 7)))))) |
(+.f64 (*.f64 (pow.f64 y 3) (*.f64 z -1/6)) (+.f64 (*.f64 z (+.f64 y (*.f64 1/120 (pow.f64 y 5)))) (*.f64 z (*.f64 -1/5040 (pow.f64 y 7))))) |
(+.f64 (*.f64 z (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (*.f64 1/120 (pow.f64 y 5))))) (*.f64 z (*.f64 -1/5040 (pow.f64 y 7)))) |
(+.f64 (*.f64 -1/6 (*.f64 z (pow.f64 y 3))) (*.f64 z (+.f64 y (+.f64 (*.f64 1/120 (pow.f64 y 5)) (*.f64 -1/5040 (pow.f64 y 7)))))) |
(cos.f64 y) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
x |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
x |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 1 x) |
(+.f64 x 1) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)) |
(+.f64 1 (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))) |
(+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) 1)) |
(+.f64 (+.f64 x 1) (*.f64 -1/2 (pow.f64 y 2))) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 1/24 (pow.f64 y 4))))) |
(+.f64 1 (+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))) |
(+.f64 (+.f64 x 1) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))) |
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))) |
(+.f64 1 (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 1/24 (pow.f64 y 4)))) (*.f64 -1/720 (pow.f64 y 6)))) |
(+.f64 1 (+.f64 (+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))) (*.f64 -1/720 (pow.f64 y 6)))) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 x (+.f64 1 (*.f64 1/24 (pow.f64 y 4)))))) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
y |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) |
(+.f64 y (*.f64 -1/6 (pow.f64 y 3))) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) y)) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (*.f64 1/120 (pow.f64 y 5)))) |
(+.f64 y (+.f64 (*.f64 1/120 (pow.f64 y 5)) (*.f64 -1/6 (pow.f64 y 3)))) |
(+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (*.f64 1/120 (pow.f64 y 5)))) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/5040 (pow.f64 y 7))))) |
(+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (*.f64 -1/5040 (pow.f64 y 7))))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
x |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
x |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 1 x) |
(+.f64 x 1) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 1 (+.f64 x (*.f64 y (*.f64 z -1)))) |
(+.f64 x (+.f64 (*.f64 y (neg.f64 z)) 1)) |
(+.f64 (+.f64 x 1) (*.f64 z (neg.f64 y))) |
(+.f64 x (-.f64 1 (*.f64 y z))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))) |
(+.f64 (*.f64 y (*.f64 z -1)) (+.f64 1 (+.f64 x (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 (+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) 1)) (*.f64 y (neg.f64 z))) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (+.f64 x 1) (*.f64 z (neg.f64 y)))) |
(+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (-.f64 1 (*.f64 y z)))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x)))) |
(+.f64 1 (+.f64 (*.f64 y (*.f64 z -1)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 (*.f64 z (pow.f64 y 3)) 1/6))))) |
(+.f64 1 (+.f64 (*.f64 y (neg.f64 z)) (+.f64 x (+.f64 (*.f64 z (*.f64 (pow.f64 y 3) 1/6)) (*.f64 -1/2 (pow.f64 y 2)))))) |
(+.f64 (*.f64 z (neg.f64 y)) (+.f64 (*.f64 z (*.f64 (pow.f64 y 3) 1/6)) (+.f64 (+.f64 x 1) (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 (+.f64 x (*.f64 z (+.f64 (*.f64 (pow.f64 y 3) 1/6) (neg.f64 y)))) (+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))) |
(+.f64 1 (+.f64 (+.f64 x (*.f64 -1/2 (pow.f64 y 2))) (*.f64 z (+.f64 (neg.f64 y) (*.f64 (pow.f64 y 3) 1/6))))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) x) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 (*.f64 z (sin.f64 y)) 0) |
(*.f64 z (sin.f64 y)) |
(+.f64 0 (*.f64 z (sin.f64 y))) |
(*.f64 z (sin.f64 y)) |
(+.f64 (*.f64 z (*.f64 (sin.f64 y) 1/2)) (*.f64 z (*.f64 (sin.f64 y) 1/2))) |
(*.f64 z (sin.f64 y)) |
(-.f64 (*.f64 z (sin.f64 y)) 0) |
(*.f64 z (sin.f64 y)) |
(/.f64 (*.f64 z (sin.f64 y)) 1) |
(*.f64 z (sin.f64 y)) |
(/.f64 (*.f64 (sin.f64 y) (+.f64 z z)) 2) |
(*.f64 z (sin.f64 y)) |
(/.f64 (*.f64 (sin.f64 y) (*.f64 z 4)) 4) |
(*.f64 z (sin.f64 y)) |
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4))) 8) |
(*.f64 z (sin.f64 y)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4)))) 16) |
(*.f64 z (sin.f64 y)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4)))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4))))) 32) |
(*.f64 z (sin.f64 y)) |
(-.f64 (+.f64 x (cos.f64 y)) 0) |
(+.f64 (cos.f64 y) x) |
(*.f64 (+.f64 x (cos.f64 y)) 1) |
(+.f64 (cos.f64 y) x) |
(*.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 (cos.f64 y) x) |
(*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 1/2)) |
(+.f64 (cos.f64 y) x) |
(*.f64 (*.f64 (+.f64 x (cos.f64 y)) 2) 1/2) |
(+.f64 (cos.f64 y) x) |
(*.f64 4 (/.f64 (+.f64 x (cos.f64 y)) 4)) |
(+.f64 (cos.f64 y) x) |
(*.f64 (*.f64 (+.f64 x (cos.f64 y)) 4) 1/4) |
(+.f64 (cos.f64 y) x) |
(*.f64 1/2 (*.f64 (+.f64 x (cos.f64 y)) 2)) |
(+.f64 (cos.f64 y) x) |
(*.f64 (*.f64 (+.f64 x (cos.f64 y)) 1/2) 2) |
(+.f64 (cos.f64 y) x) |
(*.f64 1/4 (*.f64 (+.f64 x (cos.f64 y)) 4)) |
(+.f64 (cos.f64 y) x) |
(*.f64 (/.f64 (+.f64 x (cos.f64 y)) 4) 4) |
(+.f64 (cos.f64 y) x) |
(/.f64 (+.f64 x (cos.f64 y)) 1) |
(+.f64 (cos.f64 y) x) |
(/.f64 (*.f64 (+.f64 x (cos.f64 y)) 2) 2) |
(+.f64 (cos.f64 y) x) |
(/.f64 (*.f64 (+.f64 x (cos.f64 y)) 4) 4) |
(+.f64 (cos.f64 y) x) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 4)) 8) |
(+.f64 (cos.f64 y) x) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 4))) 16) |
(+.f64 (cos.f64 y) x) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 4)))) 32) |
(+.f64 (cos.f64 y) x) |
(+.f64 (sin.f64 y) 0) |
(sin.f64 y) |
(+.f64 0 (sin.f64 y)) |
(sin.f64 y) |
(+.f64 -1 (-.f64 1 (neg.f64 (sin.f64 y)))) |
(sin.f64 y) |
(+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y)))) |
(sin.f64 y) |
(+.f64 (*.f64 (sin.f64 y) 1/2) (*.f64 (sin.f64 y) 1/2)) |
(sin.f64 y) |
(-.f64 (sin.f64 y) 0) |
(sin.f64 y) |
(-.f64 0 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(-.f64 0 (sin.f64 (neg.f64 y))) |
(sin.f64 y) |
(*.f64 (sin.f64 y) 1) |
(sin.f64 y) |
(*.f64 1 (sin.f64 y)) |
(sin.f64 y) |
(*.f64 -1 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(*.f64 2 (*.f64 (sin.f64 y) 1/2)) |
(sin.f64 y) |
(*.f64 (*.f64 (sin.f64 y) 2) 1/2) |
(sin.f64 y) |
(*.f64 4 (/.f64 (sin.f64 y) 4)) |
(sin.f64 y) |
(*.f64 (*.f64 (sin.f64 y) 4) 1/4) |
(sin.f64 y) |
(*.f64 1/2 (*.f64 (sin.f64 y) 2)) |
(sin.f64 y) |
(*.f64 (*.f64 (sin.f64 y) 1/2) 2) |
(sin.f64 y) |
(*.f64 (neg.f64 (sin.f64 y)) -1) |
(sin.f64 y) |
(*.f64 1/4 (*.f64 (sin.f64 y) 4)) |
(sin.f64 y) |
(*.f64 (/.f64 (sin.f64 y) 4) 4) |
(sin.f64 y) |
(*.f64 (sin.f64 (neg.f64 y)) -1) |
(sin.f64 y) |
(/.f64 (sin.f64 y) 1) |
(sin.f64 y) |
(/.f64 (*.f64 (sin.f64 y) 2) 2) |
(sin.f64 y) |
(/.f64 (*.f64 (sin.f64 y) 4) 4) |
(sin.f64 y) |
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) 8) |
(sin.f64 y) |
(/.f64 (neg.f64 (sin.f64 y)) -1) |
(sin.f64 y) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4))) 16) |
(sin.f64 y) |
(/.f64 (sin.f64 (neg.f64 y)) -1) |
(sin.f64 y) |
(/.f64 (+.f64 (neg.f64 (sin.f64 y)) (neg.f64 (sin.f64 y))) -2) |
(sin.f64 y) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4)))) 32) |
(sin.f64 y) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(neg.f64 (sin.f64 (neg.f64 y))) |
(sin.f64 y) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (+.f64 x (cos.f64 y)) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 0) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 0 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 -1 (+.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 -1 (+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 (neg.f64 (*.f64 z (sin.f64 y))) (+.f64 x (cos.f64 y))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 (+.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))) -1) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2) (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2)) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(*.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(*.f64 -1 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2)) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2) 1/2) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(*.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))) -1) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 1/4) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2)) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2) 2) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(*.f64 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 4) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2) 2) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(/.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))) -1) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 4) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(/.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))) -2) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)) 8) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) -4) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))) 16) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(/.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) 2) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)))) 32) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))))) 4) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
Compiled 2400 to 1119 computations (53.4% saved)
9 alts after pruning (8 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 153 | 8 | 161 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 153 | 9 | 162 |
| Status | Error | Program |
|---|---|---|
| ▶ | 4.2b | (-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y)))))) |
| ✓ | 0.1b | (-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
| ▶ | 21.3b | (-.f64 (+.f64 x (cos.f64 y)) (*.f64 z y)) |
| 8.0b | (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) | |
| 26.8b | (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) | |
| ▶ | 19.0b | (-.f64 x (*.f64 z (sin.f64 y))) |
| ▶ | 25.2b | (+.f64 x (-.f64 1 (*.f64 y z))) |
| ▶ | 0.2b | (+.f64 -1 (+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y))) |
| 45.3b | (*.f64 (sin.f64 y) (neg.f64 z)) |
Compiled 196 to 140 computations (28.6% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (cos.f64 y) |
| ✓ | 0.1b | (+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y)) |
| ✓ | 0.1b | (+.f64 -1 (+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y))) |
| 0.2b | (*.f64 z (sin.f64 y)) |
Compiled 54 to 19 computations (64.8% saved)
21 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | inf | (+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y)) |
| 0.0ms | y | @ | -inf | (+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y)) |
| 0.0ms | x | @ | 0 | (+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y)) |
| 0.0ms | y | @ | 0 | (+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y)) |
| 0.0ms | x | @ | 0 | (+.f64 -1 (+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y))) |
| 1× | batch-egg-rewrite |
| 1376× | bool.json-1 |
| 1376× | bool.json-2 |
| 1338× | rational.json-1 |
| 1338× | rational.json-2 |
| 1338× | rational.json-4 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 15 | 77 |
| 1 | 159 | 77 |
| 2 | 436 | 65 |
| 3 | 971 | 65 |
| 4 | 2315 | 65 |
| 5 | 5155 | 65 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 -1 (+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y))) |
(+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y)) |
(cos.f64 y) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 1 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (cos.f64 (-.f64 (PI.f64) y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 -1 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (cos.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 (cos.f64 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (cos.f64 (-.f64 (PI.f64) y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -1 (cos.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (cos.f64 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (cos.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 y) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 y) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (cos.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 y) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (-.f64 (PI.f64) y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 y) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 (-.f64 (PI.f64) y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) 4))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (cos.f64 (-.f64 (PI.f64) y)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x and (cos.f64 y) (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x or (cos.f64 y) (cos.f64 y)))))) |
| 1× | egg-herbie |
| 2168× | rational.json-simplify-1 |
| 1702× | rational.json-simplify-35 |
| 1170× | rational.json-simplify-52 |
| 1000× | rational.json-simplify-2 |
| 828× | rational.json-simplify-41 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 161 | 3269 |
| 1 | 348 | 3249 |
| 2 | 832 | 3249 |
| 3 | 2311 | 3229 |
| 4 | 3833 | 3229 |
| 5 | 4708 | 3229 |
| 6 | 5491 | 3229 |
| 7 | 6231 | 3229 |
| 8 | 7013 | 3229 |
| 9 | 7495 | 3229 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
x |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
x |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) x) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 1 x) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 1 (cos.f64 y)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
x |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
x |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 1 (+.f64 (cos.f64 y) x))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 1 (+.f64 (cos.f64 y) x))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 1 (+.f64 (cos.f64 y) x))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))) |
(+.f64 2 x) |
(+.f64 2 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 2 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))) |
(+.f64 2 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x)))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
1 |
(+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))) |
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))) |
(-.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1) |
(-.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 0) |
(-.f64 (+.f64 -1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) -1) |
(*.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) |
(*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 1) |
(*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 1/2)) |
(*.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4)) |
(*.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2)) |
(*.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 1/2) 2) |
(/.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 1) |
(/.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 2) |
(/.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4))) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4)))) 32) |
(-.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 0) |
(-.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) -1) |
(-.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) 2)) 1) |
(*.f64 1 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)))) |
(*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1) |
(*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1/2)) |
(*.f64 (+.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4)) |
(*.f64 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4) 1/4) |
(*.f64 1/2 (+.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 2)) |
(*.f64 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1/2) 2) |
(/.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1) |
(/.f64 (+.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 2) 2) |
(/.f64 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4))) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4)))) 32) |
(+.f64 -1 (+.f64 1 (cos.f64 y))) |
(+.f64 -1 (-.f64 1 (cos.f64 (-.f64 (PI.f64) y)))) |
(+.f64 1 (+.f64 -1 (cos.f64 y))) |
(+.f64 (cos.f64 y) 0) |
(+.f64 0 (cos.f64 y)) |
(+.f64 (+.f64 -1 (cos.f64 y)) 1) |
(+.f64 (+.f64 1 (cos.f64 y)) -1) |
(+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 (cos.f64 y) 1/2)) |
(-.f64 (cos.f64 y) 0) |
(-.f64 0 (cos.f64 (-.f64 (PI.f64) y))) |
(-.f64 (+.f64 -1 (cos.f64 y)) -1) |
(-.f64 (+.f64 1 (cos.f64 y)) 1) |
(*.f64 1 (cos.f64 y)) |
(*.f64 (cos.f64 y) 1) |
(*.f64 2 (*.f64 (cos.f64 y) 1/2)) |
(*.f64 4 (/.f64 (cos.f64 y) 4)) |
(*.f64 (*.f64 (cos.f64 y) 2) 1/2) |
(*.f64 (*.f64 (cos.f64 y) 4) 1/4) |
(*.f64 1/2 (*.f64 (cos.f64 y) 2)) |
(*.f64 (*.f64 (cos.f64 y) 1/2) 2) |
(*.f64 (cos.f64 (-.f64 (PI.f64) y)) -1) |
(/.f64 (cos.f64 y) 1) |
(/.f64 (*.f64 (cos.f64 y) 2) 2) |
(/.f64 (*.f64 (cos.f64 y) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (cos.f64 y) 4)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) 4))) 16) |
(/.f64 (cos.f64 (-.f64 (PI.f64) y)) -1) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) 4))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) 4)))) 32) |
(neg.f64 (cos.f64 (-.f64 (PI.f64) y))) |
| Outputs |
|---|
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
x |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
x |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) x) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (*.f64 (sin.f64 y) -1)) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (*.f64 (sin.f64 y) -1)) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(+.f64 1 x) |
(+.f64 x 1) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 (*.f64 y (*.f64 z -1)) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (*.f64 z (neg.f64 y)))) |
(+.f64 (+.f64 x 1) (*.f64 y (neg.f64 z))) |
(+.f64 x (-.f64 1 (*.f64 y z))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))) |
(+.f64 1 (+.f64 (*.f64 y (*.f64 z -1)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 1 (+.f64 x (+.f64 (*.f64 z (neg.f64 y)) (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 x (+.f64 (+.f64 1 (*.f64 y (neg.f64 z))) (*.f64 -1/2 (pow.f64 y 2)))) |
(+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (-.f64 1 (*.f64 y z)))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x)))) |
(+.f64 1 (+.f64 (*.f64 y (*.f64 z -1)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 (pow.f64 y 3) (*.f64 z 1/6)))))) |
(+.f64 1 (+.f64 (*.f64 z (neg.f64 y)) (+.f64 x (+.f64 (*.f64 z (*.f64 (pow.f64 y 3) 1/6)) (*.f64 -1/2 (pow.f64 y 2)))))) |
(+.f64 (*.f64 y (neg.f64 z)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 (pow.f64 y 3) (*.f64 z 1/6)))))) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (neg.f64 y)))))) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 z (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3))))))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 1 (cos.f64 y)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) 1) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
x |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
x |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 1 (+.f64 (cos.f64 y) x))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 1 (+.f64 (cos.f64 y) x))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 1 (+.f64 (cos.f64 y) x))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (*.f64 (sin.f64 y) -1)) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (*.f64 (sin.f64 y) -1)) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(+.f64 2 x) |
(+.f64 x 2) |
(+.f64 2 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 (*.f64 y (*.f64 z -1)) (+.f64 x 2)) |
(+.f64 (*.f64 z (neg.f64 y)) (+.f64 x 2)) |
(+.f64 (*.f64 y (neg.f64 z)) (+.f64 x 2)) |
(+.f64 2 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))) |
(+.f64 2 (+.f64 (*.f64 y (*.f64 z -1)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 z (neg.f64 y)) (+.f64 x 2))) |
(+.f64 x (+.f64 (+.f64 (*.f64 y (neg.f64 z)) 2) (*.f64 -1/2 (pow.f64 y 2)))) |
(+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 y (neg.f64 z)) 2))) |
(+.f64 (+.f64 x (*.f64 y (neg.f64 z))) (+.f64 2 (*.f64 -1/2 (pow.f64 y 2)))) |
(+.f64 2 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x)))) |
(+.f64 (*.f64 y (*.f64 z -1)) (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 (pow.f64 y 3) (*.f64 z 1/6)))) 2)) |
(+.f64 (*.f64 z (neg.f64 y)) (+.f64 2 (+.f64 x (+.f64 (*.f64 z (*.f64 (pow.f64 y 3) 1/6)) (*.f64 -1/2 (pow.f64 y 2)))))) |
(+.f64 (*.f64 y (neg.f64 z)) (+.f64 (*.f64 (pow.f64 y 3) (*.f64 z 1/6)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x 2)))) |
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (neg.f64 y)))))) |
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 z (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3))))))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
1 |
(+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))) |
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))) |
(+.f64 1 (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))) (*.f64 -1/720 (pow.f64 y 6)))) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/720 (pow.f64 y 6))))) |
(-.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 0) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 -1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) -1) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(*.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 1) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 1/2)) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(*.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 1/2) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(*.f64 4 (/.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4)) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(*.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4) 1/4) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(*.f64 1/2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2)) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(*.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 1/2) 2) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(/.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 1) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(/.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 2) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(/.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4) 4) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4)) 8) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4))) 16) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4)))) 32) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 0) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) -1) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) 2)) 1) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(*.f64 1 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1/2)) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(*.f64 (+.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 2) 1/2) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(*.f64 4 (/.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4)) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(*.f64 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4) 1/4) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(*.f64 1/2 (+.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 2)) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(*.f64 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1/2) 2) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(/.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(/.f64 (+.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 2) 2) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(/.f64 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4) 4) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4)) 8) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4))) 16) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4)))) 32) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))) |
(+.f64 -1 (+.f64 1 (cos.f64 y))) |
(cos.f64 y) |
(+.f64 -1 (-.f64 1 (cos.f64 (-.f64 (PI.f64) y)))) |
(cos.f64 y) |
(+.f64 1 (+.f64 -1 (cos.f64 y))) |
(cos.f64 y) |
(+.f64 (cos.f64 y) 0) |
(cos.f64 y) |
(+.f64 0 (cos.f64 y)) |
(cos.f64 y) |
(+.f64 (+.f64 -1 (cos.f64 y)) 1) |
(cos.f64 y) |
(+.f64 (+.f64 1 (cos.f64 y)) -1) |
(cos.f64 y) |
(+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 (cos.f64 y) 1/2)) |
(cos.f64 y) |
(-.f64 (cos.f64 y) 0) |
(cos.f64 y) |
(-.f64 0 (cos.f64 (-.f64 (PI.f64) y))) |
(cos.f64 y) |
(-.f64 (+.f64 -1 (cos.f64 y)) -1) |
(cos.f64 y) |
(-.f64 (+.f64 1 (cos.f64 y)) 1) |
(cos.f64 y) |
(*.f64 1 (cos.f64 y)) |
(cos.f64 y) |
(*.f64 (cos.f64 y) 1) |
(cos.f64 y) |
(*.f64 2 (*.f64 (cos.f64 y) 1/2)) |
(cos.f64 y) |
(*.f64 4 (/.f64 (cos.f64 y) 4)) |
(cos.f64 y) |
(*.f64 (*.f64 (cos.f64 y) 2) 1/2) |
(cos.f64 y) |
(*.f64 (*.f64 (cos.f64 y) 4) 1/4) |
(cos.f64 y) |
(*.f64 1/2 (*.f64 (cos.f64 y) 2)) |
(cos.f64 y) |
(*.f64 (*.f64 (cos.f64 y) 1/2) 2) |
(cos.f64 y) |
(*.f64 (cos.f64 (-.f64 (PI.f64) y)) -1) |
(cos.f64 y) |
(/.f64 (cos.f64 y) 1) |
(cos.f64 y) |
(/.f64 (*.f64 (cos.f64 y) 2) 2) |
(cos.f64 y) |
(/.f64 (*.f64 (cos.f64 y) 4) 4) |
(cos.f64 y) |
(/.f64 (*.f64 2 (*.f64 (cos.f64 y) 4)) 8) |
(cos.f64 y) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) 4))) 16) |
(cos.f64 y) |
(/.f64 (cos.f64 (-.f64 (PI.f64) y)) -1) |
(cos.f64 y) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) 4))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) 4)))) 32) |
(cos.f64 y) |
(neg.f64 (cos.f64 (-.f64 (PI.f64) y))) |
(cos.f64 y) |
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (+.f64 x (-.f64 1 (*.f64 y z))) |
Compiled 22 to 10 computations (54.5% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | z | @ | -inf | (+.f64 x (-.f64 1 (*.f64 y z))) |
| 0.0ms | y | @ | inf | (+.f64 x (-.f64 1 (*.f64 y z))) |
| 0.0ms | x | @ | 0 | (+.f64 x (-.f64 1 (*.f64 y z))) |
| 0.0ms | z | @ | inf | (+.f64 x (-.f64 1 (*.f64 y z))) |
| 0.0ms | y | @ | -inf | (+.f64 x (-.f64 1 (*.f64 y z))) |
| 1× | batch-egg-rewrite |
| 1480× | rational.json-simplify-35 |
| 1332× | bool.json-1 |
| 1332× | bool.json-2 |
| 1286× | rational.json-1 |
| 1286× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 19 |
| 1 | 96 | 19 |
| 2 | 276 | 19 |
| 3 | 551 | 19 |
| 4 | 1104 | 19 |
| 5 | 2429 | 19 |
| 6 | 5075 | 19 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 x (-.f64 1 (*.f64 y z))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (neg.f64 (+.f64 (*.f64 y z) -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (-.f64 1 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (/.f64 (+.f64 (*.f64 y z) -1) -2) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/2) (/.f64 (+.f64 (*.f64 y z) -1) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (+.f64 (*.f64 y z) -1) -2) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (+.f64 (*.f64 y z) -1) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x (-.f64 1 (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x (-.f64 1 (*.f64 y z))) (+.f64 x (-.f64 1 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x (-.f64 1 (*.f64 y z))) (+.f64 x (-.f64 1 (*.f64 y z)))))))) |
| 1× | egg-herbie |
| 2714× | rational.json-simplify-42 |
| 2146× | rational.json-simplify-2 |
| 1848× | rational.json-simplify-35 |
| 1226× | rational.json-simplify-1 |
| 1188× | rational.json-simplify-52 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 69 | 1103 |
| 1 | 144 | 1095 |
| 2 | 346 | 1095 |
| 3 | 810 | 1095 |
| 4 | 1345 | 1095 |
| 5 | 2211 | 1095 |
| 6 | 2660 | 1095 |
| 7 | 2807 | 1095 |
| 8 | 3054 | 1095 |
| 9 | 3476 | 1095 |
| 10 | 3940 | 1095 |
| 11 | 4418 | 1095 |
| 12 | 4607 | 1095 |
| 13 | 4750 | 1095 |
| 14 | 4933 | 1095 |
| 15 | 5422 | 1095 |
| 16 | 6389 | 1095 |
| 17 | 6802 | 1095 |
| 18 | 6945 | 1095 |
| 19 | 7073 | 1095 |
| 20 | 7196 | 1095 |
| 21 | 7318 | 1095 |
| 22 | 7318 | 1095 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 1 (*.f64 y z)) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
x |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
x |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(+.f64 1 x) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 1 x) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(-.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 0) |
(-.f64 (+.f64 x (neg.f64 (+.f64 (*.f64 y z) -2))) 1) |
(*.f64 1 (+.f64 x (-.f64 1 (*.f64 y z)))) |
(*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 1) |
(*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 1/2)) |
(*.f64 2 (+.f64 (/.f64 (+.f64 (*.f64 y z) -1) -2) (*.f64 x 1/2))) |
(*.f64 2 (+.f64 (*.f64 x 1/2) (/.f64 (+.f64 (*.f64 y z) -1) -2))) |
(*.f64 4 (/.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4)) |
(*.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 2) 1/2) |
(*.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 2)) |
(*.f64 1/2 (+.f64 (*.f64 (+.f64 (*.f64 y z) -1) -2) (+.f64 x x))) |
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (+.f64 (*.f64 y z) -1) -2))) |
(*.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4)) |
(*.f64 (/.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4) 4) |
(/.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 1) |
(/.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 2) 2) |
(/.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4) 4) |
(/.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8)))) 64) |
| Outputs |
|---|
(-.f64 1 (*.f64 y z)) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
x |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
x |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(+.f64 1 x) |
(-.f64 x -1) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(*.f64 -1 (*.f64 y z)) |
(*.f64 y (*.f64 z -1)) |
(*.f64 y (neg.f64 z)) |
(*.f64 z (neg.f64 y)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(*.f64 -1 (*.f64 y z)) |
(*.f64 y (*.f64 z -1)) |
(*.f64 y (neg.f64 z)) |
(*.f64 z (neg.f64 y)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(+.f64 1 x) |
(-.f64 x -1) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(*.f64 -1 (*.f64 y z)) |
(*.f64 y (*.f64 z -1)) |
(*.f64 y (neg.f64 z)) |
(*.f64 z (neg.f64 y)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(*.f64 -1 (*.f64 y z)) |
(*.f64 y (*.f64 z -1)) |
(*.f64 y (neg.f64 z)) |
(*.f64 z (neg.f64 y)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(-.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 0) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(-.f64 (+.f64 x (neg.f64 (+.f64 (*.f64 y z) -2))) 1) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(*.f64 1 (+.f64 x (-.f64 1 (*.f64 y z)))) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 1) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 1/2)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(*.f64 2 (+.f64 (/.f64 (+.f64 (*.f64 y z) -1) -2) (*.f64 x 1/2))) |
(*.f64 2 (+.f64 (*.f64 x 1/2) (/.f64 (+.f64 (*.f64 y z) -1) -2))) |
(*.f64 2 (+.f64 (/.f64 (+.f64 (*.f64 y z) -1) -2) (*.f64 x 1/2))) |
(*.f64 4 (/.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(*.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 2) 1/2) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(*.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4) 1/4) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(*.f64 1/2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 2)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(*.f64 1/2 (+.f64 (*.f64 (+.f64 (*.f64 y z) -1) -2) (+.f64 x x))) |
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 -2 (+.f64 (*.f64 y z) -1))))) |
(*.f64 1/2 (+.f64 (*.f64 -2 (+.f64 (*.f64 y z) -1)) (+.f64 x x))) |
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (+.f64 (*.f64 y z) -1) -2))) |
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 -2 (+.f64 (*.f64 y z) -1))))) |
(*.f64 1/2 (+.f64 (*.f64 -2 (+.f64 (*.f64 y z) -1)) (+.f64 x x))) |
(*.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 1/2) 2) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(*.f64 1/4 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4)) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(*.f64 (/.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4) 4) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(/.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 1) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(/.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 2) 2) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(/.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4) 4) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(/.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8) 8) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8)) 16) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8))) 32) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8)))) 64) |
(+.f64 (-.f64 1 (*.f64 y z)) x) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 1 x) (*.f64 y z)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (sin.f64 y) | |
| 0.2b | (*.f64 z (sin.f64 y)) |
Compiled 18 to 6 computations (66.7% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (cos.f64 y) | |
| ✓ | 0.0b | (-.f64 (+.f64 x (cos.f64 y)) (*.f64 z y)) |
| 0.0b | (+.f64 x (cos.f64 y)) |
Compiled 23 to 7 computations (69.6% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (-.f64 (+.f64 x (cos.f64 y)) (*.f64 z y)) |
| 0.0ms | x | @ | 0 | (-.f64 (+.f64 x (cos.f64 y)) (*.f64 z y)) |
| 0.0ms | y | @ | inf | (-.f64 (+.f64 x (cos.f64 y)) (*.f64 z y)) |
| 0.0ms | x | @ | inf | (-.f64 (+.f64 x (cos.f64 y)) (*.f64 z y)) |
| 0.0ms | y | @ | -inf | (-.f64 (+.f64 x (cos.f64 y)) (*.f64 z y)) |
| 1× | batch-egg-rewrite |
| 1928× | bool.json-1 |
| 1928× | bool.json-2 |
| 1086× | rational.json-1 |
| 1086× | rational.json-2 |
| 1086× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 10 | 23 |
| 1 | 101 | 23 |
| 2 | 286 | 23 |
| 3 | 650 | 23 |
| 4 | 1474 | 23 |
| 5 | 3547 | 23 |
| 6 | 7221 | 23 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z y)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (-.f64 (cos.f64 y) (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (cos.f64 y)) (neg.f64 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 y z)) (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (cos.f64 y) (+.f64 x (-.f64 1 (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 y z)) (+.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) (+.f64 x (-.f64 1 (*.f64 y z)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1/2) (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 (+.f64 x (cos.f64 y)) 1/2) (*.f64 z (*.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 (+.f64 x (cos.f64 y)) 2) (*.f64 y (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))) (neg.f64 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y)))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))))))) |
| 1× | egg-herbie |
| 2112× | rational.json-simplify-1 |
| 1926× | rational.json-simplify-35 |
| 1754× | rational.json-simplify-2 |
| 952× | rational.json-simplify-52 |
| 838× | rational.json-simplify-42 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 104 | 1607 |
| 1 | 217 | 1607 |
| 2 | 475 | 1595 |
| 3 | 964 | 1595 |
| 4 | 2346 | 1595 |
| 5 | 3215 | 1595 |
| 6 | 3591 | 1595 |
| 7 | 4235 | 1595 |
| 8 | 5150 | 1595 |
| 9 | 5737 | 1595 |
| 10 | 6353 | 1595 |
| 11 | 7026 | 1595 |
| 12 | 7280 | 1595 |
| 13 | 7811 | 1595 |
| 14 | 7883 | 1595 |
| 15 | 7890 | 1595 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (cos.f64 y) (*.f64 y z)) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z)) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z)) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z)) |
x |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z)) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z)) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z)) |
x |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z)) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z)) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z)) |
(+.f64 1 x) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 y z))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(+.f64 (+.f64 x (cos.f64 y)) (neg.f64 (*.f64 y z))) |
(+.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 0) |
(+.f64 0 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))) |
(+.f64 (-.f64 x (*.f64 y z)) (cos.f64 y)) |
(+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x (-.f64 1 (*.f64 y z))))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (neg.f64 (*.f64 y z)) (+.f64 x (cos.f64 y))) |
(+.f64 (+.f64 (cos.f64 y) (+.f64 x (-.f64 1 (*.f64 y z)))) -1) |
(+.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1/2) (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1/2)) |
(*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1) |
(*.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))) |
(*.f64 -1 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y)))) |
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1/2)) |
(*.f64 2 (-.f64 (*.f64 (+.f64 x (cos.f64 y)) 1/2) (*.f64 z (*.f64 y 1/2)))) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 2) 1/2) |
(*.f64 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))) -1) |
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4)) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 2)) |
(*.f64 1/2 (-.f64 (*.f64 (+.f64 x (cos.f64 y)) 2) (*.f64 y (+.f64 z z)))) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4)) |
(*.f64 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4) 4) |
(/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 2) 2) |
(/.f64 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))) -1) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4) 4) |
(/.f64 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y)))) -2) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))) -4) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4))) 16) |
(/.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))) 2) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4)))) 32) |
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))) (neg.f64 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y)))))) 4) |
(neg.f64 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y)))) |
| Outputs |
|---|
(-.f64 (cos.f64 y) (*.f64 y z)) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
x |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
x |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(+.f64 1 x) |
(+.f64 x 1) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x)) |
(+.f64 (neg.f64 (*.f64 y z)) (+.f64 x 1)) |
(+.f64 (+.f64 x 1) (*.f64 y (neg.f64 z))) |
(+.f64 x (-.f64 1 (*.f64 y z))) |
(+.f64 1 (-.f64 x (*.f64 y z))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))) |
(+.f64 1 (+.f64 (neg.f64 (*.f64 y z)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (+.f64 x 1) (*.f64 y (neg.f64 z)))) |
(+.f64 (+.f64 x (*.f64 -1/2 (pow.f64 y 2))) (-.f64 1 (*.f64 y z))) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (-.f64 x (*.f64 y z)))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))) |
(+.f64 1 (+.f64 (neg.f64 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 1/24 (pow.f64 y 4)))))) |
(+.f64 1 (+.f64 (+.f64 x (*.f64 1/24 (pow.f64 y 4))) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 y (neg.f64 z))))) |
(+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 (+.f64 x (*.f64 -1/2 (pow.f64 y 2))) (-.f64 1 (*.f64 y z)))) |
(+.f64 (+.f64 x (*.f64 -1/2 (pow.f64 y 2))) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (-.f64 1 (*.f64 y z)))) |
(+.f64 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (-.f64 x (*.f64 y z))) (+.f64 1 (*.f64 1/24 (pow.f64 y 4)))) |
(+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (-.f64 1 (*.f64 y z))))) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 y z)) |
(*.f64 y (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 y z)) |
(*.f64 y (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(+.f64 (cos.f64 y) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 y z)) |
(*.f64 y (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 y z)) |
(*.f64 y (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(+.f64 x (-.f64 (cos.f64 y) (*.f64 y z))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (+.f64 x (cos.f64 y)) (neg.f64 (*.f64 y z))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(+.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 0) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(+.f64 0 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(+.f64 (-.f64 x (*.f64 y z)) (cos.f64 y)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x (-.f64 1 (*.f64 y z))))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(+.f64 (neg.f64 (*.f64 y z)) (+.f64 x (cos.f64 y))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(+.f64 (+.f64 (cos.f64 y) (+.f64 x (-.f64 1 (*.f64 y z)))) -1) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(+.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1/2) (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1/2)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(*.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(*.f64 -1 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y)))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1/2)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(*.f64 2 (-.f64 (*.f64 (+.f64 x (cos.f64 y)) 1/2) (*.f64 z (*.f64 y 1/2)))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 2) 1/2) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(*.f64 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))) -1) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4) 1/4) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 2)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(*.f64 1/2 (-.f64 (*.f64 (+.f64 x (cos.f64 y)) 2) (*.f64 y (+.f64 z z)))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1/2) 2) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(*.f64 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4) 4) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 2) 2) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(/.f64 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))) -1) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4) 4) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(/.f64 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y)))) -2) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4)) 8) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))) -4) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4))) 16) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(/.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))) 2) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4)))) 32) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))) (neg.f64 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y)))))) 4) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
(neg.f64 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y)))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (+.f64 x (cos.f64 y)) | |
| ✓ | 0.2b | (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))) |
| ✓ | 0.5b | (-.f64 1 (sin.f64 (neg.f64 y))) |
| ✓ | 3.4b | (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y)))) |
Compiled 54 to 26 computations (51.9% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 2.0ms | z | @ | 0 | (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))) |
| 0.0ms | z | @ | inf | (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))) |
| 0.0ms | y | @ | inf | (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))) |
| 0.0ms | y | @ | -inf | (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))) |
| 0.0ms | y | @ | 0 | (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))) |
| 1× | batch-egg-rewrite |
| 1312× | bool.json-1 |
| 1312× | bool.json-2 |
| 1270× | rational.json-1 |
| 1270× | rational.json-2 |
| 1270× | rational.json-4 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 63 |
| 1 | 130 | 63 |
| 2 | 367 | 47 |
| 3 | 801 | 27 |
| 4 | 1794 | 27 |
| 5 | 4271 | 27 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y)))) |
(-.f64 1 (sin.f64 (neg.f64 y))) |
(*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (-.f64 -1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (-.f64 1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (sin.f64 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -1 (sin.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (sin.f64 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (neg.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sin.f64 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sin.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sin.f64 y)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sin.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 (neg.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) -2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sin.f64 y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (sin.f64 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 y)))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 (-.f64 (neg.f64 y) (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 (-.f64 (PI.f64) y))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 (-.f64 (PI.f64) (-.f64 (neg.f64 y) (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 (neg.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) y))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x and (sin.f64 y) (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x or (sin.f64 y) (sin.f64 y)))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 (sin.f64 y) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 (-.f64 (sin.f64 y) -2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 y) -2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 1 (sin.f64 y)) 1/2) (*.f64 (+.f64 1 (sin.f64 y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 -1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 1 (sin.f64 y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (sin.f64 y)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 -1 (sin.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (sin.f64 y)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 1 (sin.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (sin.f64 y)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 1 (sin.f64 y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 1 (sin.f64 y)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (sin.f64 y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 -1 (sin.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (sin.f64 y)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 -2 (*.f64 (sin.f64 y) -2))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2))) (neg.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 -1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 1 (sin.f64 y)) (+.f64 1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 1 (sin.f64 y)) (+.f64 1 (sin.f64 y))))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 (sin.f64 y) 1/2)) (*.f64 z (*.f64 (sin.f64 y) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 z (sin.f64 y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 (sin.f64 y) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 z (*.f64 (sin.f64 y) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (sin.f64 y) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (sin.f64 y) 4)))) (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (sin.f64 y) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 z (sin.f64 y)) (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 z (sin.f64 y)) (*.f64 z (sin.f64 y))))))) |
| 1× | egg-herbie |
| 2382× | rational.json-simplify-2 |
| 1844× | rational.json-simplify-35 |
| 1622× | rational.json-simplify-1 |
| 886× | rational.json-simplify-51 |
| 744× | rational.json-simplify-41 |
Useful iterations: 4 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 175 | 2034 |
| 1 | 379 | 2034 |
| 2 | 904 | 1336 |
| 3 | 2414 | 1324 |
| 4 | 4626 | 1320 |
| 5 | 5212 | 1320 |
| 6 | 5846 | 1320 |
| 7 | 6206 | 1320 |
| 8 | 6635 | 1320 |
| 9 | 6960 | 1320 |
| 1× | node limit |
| Inputs |
|---|
y |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) y)) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/5040 (pow.f64 y 7))))) |
(*.f64 -1 (sin.f64 (neg.f64 y))) |
(*.f64 -1 (sin.f64 (neg.f64 y))) |
(*.f64 -1 (sin.f64 (neg.f64 y))) |
(*.f64 -1 (sin.f64 (neg.f64 y))) |
(*.f64 -1 (sin.f64 (*.f64 -1 y))) |
(*.f64 -1 (sin.f64 (*.f64 -1 y))) |
(*.f64 -1 (sin.f64 (*.f64 -1 y))) |
(*.f64 -1 (sin.f64 (*.f64 -1 y))) |
1 |
(+.f64 1 y) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 1 y)) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 1 (+.f64 y (*.f64 1/120 (pow.f64 y 5))))) |
(-.f64 1 (sin.f64 (*.f64 -1 y))) |
(-.f64 1 (sin.f64 (*.f64 -1 y))) |
(-.f64 1 (sin.f64 (*.f64 -1 y))) |
(-.f64 1 (sin.f64 (*.f64 -1 y))) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 y z) |
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z)) |
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (*.f64 1/120 (*.f64 (pow.f64 y 5) z)))) |
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) z)) (*.f64 1/120 (*.f64 (pow.f64 y 5) z))))) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 -1 (*.f64 (sin.f64 (*.f64 -1 y)) z)) |
(*.f64 -1 (*.f64 (sin.f64 (*.f64 -1 y)) z)) |
(*.f64 -1 (*.f64 (sin.f64 (*.f64 -1 y)) z)) |
(*.f64 -1 (*.f64 (sin.f64 (*.f64 -1 y)) z)) |
(-.f64 -1 (-.f64 -1 (sin.f64 y))) |
(-.f64 1 (-.f64 1 (sin.f64 y))) |
(-.f64 (+.f64 1 (sin.f64 y)) 1) |
(-.f64 0 (sin.f64 (neg.f64 y))) |
(-.f64 (sin.f64 y) 0) |
(-.f64 (+.f64 -1 (sin.f64 y)) -1) |
(*.f64 -1 (sin.f64 (neg.f64 y))) |
(*.f64 1 (sin.f64 y)) |
(*.f64 (sin.f64 (neg.f64 y)) -1) |
(*.f64 2 (*.f64 (sin.f64 y) 1/2)) |
(*.f64 (sin.f64 y) 1) |
(*.f64 4 (/.f64 (sin.f64 y) 4)) |
(*.f64 (*.f64 2 (sin.f64 y)) 1/2) |
(*.f64 (*.f64 (sin.f64 y) 4) 1/4) |
(*.f64 1/2 (*.f64 2 (sin.f64 y))) |
(*.f64 (*.f64 (sin.f64 y) 1/2) 2) |
(*.f64 1/4 (*.f64 (sin.f64 y) 4)) |
(*.f64 (/.f64 (sin.f64 y) 4) 4) |
(/.f64 (sin.f64 (neg.f64 y)) -1) |
(/.f64 (sin.f64 y) 1) |
(/.f64 (*.f64 (sin.f64 y) -2) -2) |
(/.f64 (*.f64 2 (sin.f64 y)) 2) |
(/.f64 (*.f64 (sin.f64 y) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4))) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4)))) 32) |
(neg.f64 (sin.f64 (neg.f64 y))) |
(sin.f64 y) |
(sin.f64 (-.f64 (neg.f64 y) (PI.f64))) |
(sin.f64 (-.f64 (PI.f64) y)) |
(sin.f64 (-.f64 (PI.f64) (-.f64 (neg.f64 y) (PI.f64)))) |
(sin.f64 (neg.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) y)))) |
(+.f64 -1 (-.f64 (sin.f64 y) -2)) |
(+.f64 1 (sin.f64 y)) |
(+.f64 (+.f64 1 (sin.f64 y)) 0) |
(+.f64 0 (+.f64 1 (sin.f64 y))) |
(+.f64 (sin.f64 y) 1) |
(+.f64 -2 (+.f64 (-.f64 (sin.f64 y) -2) 1)) |
(+.f64 (-.f64 (sin.f64 y) -2) -1) |
(+.f64 (*.f64 (+.f64 1 (sin.f64 y)) 1/2) (*.f64 (+.f64 1 (sin.f64 y)) 1/2)) |
(*.f64 -1 (-.f64 -1 (sin.f64 y))) |
(*.f64 1 (+.f64 1 (sin.f64 y))) |
(*.f64 (+.f64 1 (sin.f64 y)) 1) |
(*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 1/2)) |
(*.f64 4 (/.f64 (+.f64 1 (sin.f64 y)) 4)) |
(*.f64 (*.f64 (+.f64 1 (sin.f64 y)) 2) 1/2) |
(*.f64 (-.f64 -1 (sin.f64 y)) -1) |
(*.f64 (*.f64 (+.f64 1 (sin.f64 y)) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 1 (sin.f64 y)) 2)) |
(*.f64 (*.f64 (+.f64 1 (sin.f64 y)) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 1 (sin.f64 y)) 4)) |
(*.f64 (/.f64 (+.f64 1 (sin.f64 y)) 4) 4) |
(/.f64 (+.f64 1 (sin.f64 y)) 1) |
(/.f64 (*.f64 (+.f64 1 (sin.f64 y)) 2) 2) |
(/.f64 (-.f64 -1 (sin.f64 y)) -1) |
(/.f64 (*.f64 (+.f64 1 (sin.f64 y)) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 4)) 8) |
(/.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)) -2) |
(/.f64 (*.f64 2 (+.f64 -2 (*.f64 (sin.f64 y) -2))) -4) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 4))) 16) |
(/.f64 (neg.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2))) 2) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 4)))) 32) |
(/.f64 (+.f64 (neg.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2))) (neg.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)))) 4) |
(neg.f64 (-.f64 -1 (sin.f64 y))) |
(+.f64 (*.f64 z (sin.f64 y)) 0) |
(+.f64 0 (*.f64 z (sin.f64 y))) |
(+.f64 (*.f64 z (*.f64 (sin.f64 y) 1/2)) (*.f64 z (*.f64 (sin.f64 y) 1/2))) |
(-.f64 (*.f64 z (sin.f64 y)) 0) |
(/.f64 (*.f64 z (sin.f64 y)) 1) |
(/.f64 (*.f64 (*.f64 z (sin.f64 y)) 2) 2) |
(/.f64 (*.f64 z (*.f64 (sin.f64 y) 4)) 4) |
(/.f64 (*.f64 2 (*.f64 z (*.f64 (sin.f64 y) 4))) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (sin.f64 y) 4)))) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (sin.f64 y) 4)))) (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (sin.f64 y) 4))))) 32) |
| Outputs |
|---|
y |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) y) |
(+.f64 y (*.f64 -1/6 (pow.f64 y 3))) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) y)) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (*.f64 1/120 (pow.f64 y 5)))) |
(+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (*.f64 1/120 (pow.f64 y 5)))) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/5040 (pow.f64 y 7))))) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 (*.f64 -1/5040 (pow.f64 y 7)) (*.f64 1/120 (pow.f64 y 5))))) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 (*.f64 1/120 (pow.f64 y 5)) (*.f64 -1/5040 (pow.f64 y 7))))) |
(+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (*.f64 -1/5040 (pow.f64 y 7))))) |
(+.f64 (+.f64 y (*.f64 1/120 (pow.f64 y 5))) (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (*.f64 -1/5040 (pow.f64 y 7)))) |
(+.f64 y (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (*.f64 1/120 (pow.f64 y 5))) (*.f64 -1/5040 (pow.f64 y 7)))) |
(*.f64 -1 (sin.f64 (neg.f64 y))) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(*.f64 -1 (sin.f64 (neg.f64 y))) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(*.f64 -1 (sin.f64 (neg.f64 y))) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(*.f64 -1 (sin.f64 (neg.f64 y))) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(*.f64 -1 (sin.f64 (*.f64 -1 y))) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(*.f64 -1 (sin.f64 (*.f64 -1 y))) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(*.f64 -1 (sin.f64 (*.f64 -1 y))) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(*.f64 -1 (sin.f64 (*.f64 -1 y))) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
1 |
(+.f64 1 y) |
(+.f64 y 1) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 1 y)) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y 1)) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 1 (+.f64 y (*.f64 1/120 (pow.f64 y 5))))) |
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 (*.f64 1/120 (pow.f64 y 5)) 1))) |
(+.f64 y (+.f64 (+.f64 (*.f64 1/120 (pow.f64 y 5)) 1) (*.f64 -1/6 (pow.f64 y 3)))) |
(+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) 1))) |
(-.f64 1 (sin.f64 (*.f64 -1 y))) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(-.f64 1 (sin.f64 (*.f64 -1 y))) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(-.f64 1 (sin.f64 (*.f64 -1 y))) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(-.f64 1 (sin.f64 (*.f64 -1 y))) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(*.f64 y z) |
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z)) |
(+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z))) |
(*.f64 z (+.f64 y (*.f64 -1/6 (pow.f64 y 3)))) |
(*.f64 (+.f64 y (*.f64 -1/6 (pow.f64 y 3))) z) |
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (*.f64 1/120 (*.f64 (pow.f64 y 5) z)))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) |
(+.f64 (*.f64 (pow.f64 y 3) (*.f64 -1/6 z)) (*.f64 z (+.f64 y (*.f64 1/120 (pow.f64 y 5))))) |
(*.f64 z (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (*.f64 1/120 (pow.f64 y 5))))) |
(*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (*.f64 1/120 (pow.f64 y 5)))) z) |
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) z)) (*.f64 1/120 (*.f64 (pow.f64 y 5) z))))) |
(+.f64 (*.f64 y z) (+.f64 (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 -1/5040 (*.f64 (pow.f64 y 7) z))) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 -1/5040 (*.f64 (pow.f64 y 7) z))))) |
(+.f64 (+.f64 (*.f64 (pow.f64 y 3) (*.f64 -1/6 z)) (*.f64 1/120 (*.f64 (pow.f64 y 5) z))) (*.f64 z (+.f64 y (*.f64 -1/5040 (pow.f64 y 7))))) |
(+.f64 (*.f64 (pow.f64 y 3) (*.f64 -1/6 z)) (*.f64 z (+.f64 y (+.f64 (*.f64 1/120 (pow.f64 y 5)) (*.f64 -1/5040 (pow.f64 y 7)))))) |
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 z (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/5040 (pow.f64 y 7)))))) |
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/5040 (pow.f64 y 7)))) z)) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y)))) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(*.f64 -1 (*.f64 (sin.f64 (*.f64 -1 y)) z)) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(*.f64 -1 (*.f64 (sin.f64 (*.f64 -1 y)) z)) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(*.f64 -1 (*.f64 (sin.f64 (*.f64 -1 y)) z)) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(*.f64 -1 (*.f64 (sin.f64 (*.f64 -1 y)) z)) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(-.f64 -1 (-.f64 -1 (sin.f64 y))) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(-.f64 1 (-.f64 1 (sin.f64 y))) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(-.f64 (+.f64 1 (sin.f64 y)) 1) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(-.f64 0 (sin.f64 (neg.f64 y))) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(-.f64 (sin.f64 y) 0) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(-.f64 (+.f64 -1 (sin.f64 y)) -1) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(*.f64 -1 (sin.f64 (neg.f64 y))) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(*.f64 1 (sin.f64 y)) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(*.f64 (sin.f64 (neg.f64 y)) -1) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(*.f64 2 (*.f64 (sin.f64 y) 1/2)) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(*.f64 (sin.f64 y) 1) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(*.f64 4 (/.f64 (sin.f64 y) 4)) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(*.f64 (*.f64 2 (sin.f64 y)) 1/2) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(*.f64 (*.f64 (sin.f64 y) 4) 1/4) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(*.f64 1/2 (*.f64 2 (sin.f64 y))) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(*.f64 (*.f64 (sin.f64 y) 1/2) 2) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(*.f64 1/4 (*.f64 (sin.f64 y) 4)) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(*.f64 (/.f64 (sin.f64 y) 4) 4) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(/.f64 (sin.f64 (neg.f64 y)) -1) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(/.f64 (sin.f64 y) 1) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(/.f64 (*.f64 (sin.f64 y) -2) -2) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(/.f64 (*.f64 2 (sin.f64 y)) 2) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(/.f64 (*.f64 (sin.f64 y) 4) 4) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) 8) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4))) 16) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4)))) 32) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(neg.f64 (sin.f64 (neg.f64 y))) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(sin.f64 y) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 (-.f64 (neg.f64 y) (PI.f64))) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(sin.f64 (-.f64 (PI.f64) y)) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(sin.f64 (-.f64 (PI.f64) (-.f64 (neg.f64 y) (PI.f64)))) |
(neg.f64 (neg.f64 (sin.f64 y))) |
(sin.f64 y) |
(sin.f64 (neg.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) y)))) |
(neg.f64 (sin.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) y)))) |
(sin.f64 (-.f64 (-.f64 y (PI.f64)) (PI.f64))) |
(+.f64 -1 (-.f64 (sin.f64 y) -2)) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(+.f64 1 (sin.f64 y)) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 (+.f64 1 (sin.f64 y)) 0) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(+.f64 0 (+.f64 1 (sin.f64 y))) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(+.f64 (sin.f64 y) 1) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(+.f64 -2 (+.f64 (-.f64 (sin.f64 y) -2) 1)) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(+.f64 (-.f64 (sin.f64 y) -2) -1) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(+.f64 (*.f64 (+.f64 1 (sin.f64 y)) 1/2) (*.f64 (+.f64 1 (sin.f64 y)) 1/2)) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(*.f64 -1 (-.f64 -1 (sin.f64 y))) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(*.f64 1 (+.f64 1 (sin.f64 y))) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(*.f64 (+.f64 1 (sin.f64 y)) 1) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 1/2)) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(*.f64 4 (/.f64 (+.f64 1 (sin.f64 y)) 4)) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(*.f64 (*.f64 (+.f64 1 (sin.f64 y)) 2) 1/2) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(*.f64 (-.f64 -1 (sin.f64 y)) -1) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(*.f64 (*.f64 (+.f64 1 (sin.f64 y)) 4) 1/4) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(*.f64 1/2 (*.f64 (+.f64 1 (sin.f64 y)) 2)) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(*.f64 (*.f64 (+.f64 1 (sin.f64 y)) 1/2) 2) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(*.f64 1/4 (*.f64 (+.f64 1 (sin.f64 y)) 4)) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(*.f64 (/.f64 (+.f64 1 (sin.f64 y)) 4) 4) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(/.f64 (+.f64 1 (sin.f64 y)) 1) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(/.f64 (*.f64 (+.f64 1 (sin.f64 y)) 2) 2) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(/.f64 (-.f64 -1 (sin.f64 y)) -1) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(/.f64 (*.f64 (+.f64 1 (sin.f64 y)) 4) 4) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 4)) 8) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(/.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)) -2) |
(*.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)) -1/2) |
(/.f64 (*.f64 2 (+.f64 -2 (*.f64 (sin.f64 y) -2))) -4) |
(/.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)) -2) |
(*.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)) -1/2) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 4))) 16) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(/.f64 (neg.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2))) 2) |
(/.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)) -2) |
(*.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)) -1/2) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 4)))) 32) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(/.f64 (+.f64 (neg.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2))) (neg.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)))) 4) |
(/.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)) -2) |
(*.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)) -1/2) |
(neg.f64 (-.f64 -1 (sin.f64 y))) |
(-.f64 1 (neg.f64 (sin.f64 y))) |
(+.f64 1 (sin.f64 y)) |
(+.f64 (*.f64 z (sin.f64 y)) 0) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(+.f64 0 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(+.f64 (*.f64 z (*.f64 (sin.f64 y) 1/2)) (*.f64 z (*.f64 (sin.f64 y) 1/2))) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(-.f64 (*.f64 z (sin.f64 y)) 0) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(/.f64 (*.f64 z (sin.f64 y)) 1) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(/.f64 (*.f64 (*.f64 z (sin.f64 y)) 2) 2) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(/.f64 (*.f64 z (*.f64 (sin.f64 y) 4)) 4) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(/.f64 (*.f64 2 (*.f64 z (*.f64 (sin.f64 y) 4))) 8) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (sin.f64 y) 4)))) 16) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (sin.f64 y) 4)))) (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (sin.f64 y) 4))))) 32) |
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y)))) |
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z)) |
(*.f64 z (sin.f64 y)) |
Compiled 8300 to 4530 computations (45.4% saved)
15 alts after pruning (13 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 541 | 10 | 551 |
| Fresh | 0 | 3 | 3 |
| Picked | 1 | 0 | 1 |
| Done | 3 | 2 | 5 |
| Total | 545 | 15 | 560 |
| Status | Error | Program |
|---|---|---|
| 21.3b | (-.f64 (+.f64 x (-.f64 (+.f64 1 (cos.f64 y)) 1)) (*.f64 z y)) | |
| ✓ | 0.1b | (-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
| 12.1b | (-.f64 (+.f64 x 1) (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y)))))) | |
| ▶ | 8.0b | (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) |
| 26.8b | (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) | |
| 22.9b | (-.f64 x (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y)))))) | |
| ✓ | 19.0b | (-.f64 x (*.f64 z (sin.f64 y))) |
| 35.8b | (-.f64 x (*.f64 z y)) | |
| ▶ | 25.3b | (-.f64 x -1) |
| ▶ | 47.6b | (-.f64 1 (*.f64 y z)) |
| ▶ | 17.7b | (+.f64 (cos.f64 y) x) |
| ▶ | 17.7b | (+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x 1))) |
| 45.3b | (*.f64 (sin.f64 y) (neg.f64 z)) | |
| 58.1b | (*.f64 z (neg.f64 y)) | |
| 36.2b | x |
Compiled 267 to 199 computations (25.5% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (sin.f64 y) | |
| 0.2b | (*.f64 z (sin.f64 y)) |
Compiled 24 to 11 computations (54.2% saved)
Compiled 8 to 6 computations (25% saved)
Compiled 14 to 7 computations (50% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (cos.f64 y) | |
| ✓ | 0.0b | (+.f64 (cos.f64 y) x) |
Compiled 11 to 5 computations (54.5% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (+.f64 (cos.f64 y) x) |
| 0.0ms | x | @ | inf | (+.f64 (cos.f64 y) x) |
| 0.0ms | y | @ | -inf | (+.f64 (cos.f64 y) x) |
| 0.0ms | y | @ | inf | (+.f64 (cos.f64 y) x) |
| 0.0ms | x | @ | -inf | (+.f64 (cos.f64 y) x) |
| 1× | batch-egg-rewrite |
| 1826× | bool.json-1 |
| 1826× | bool.json-2 |
| 1324× | rational.json-simplify-35 |
| 1140× | rational.json-1 |
| 1140× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 11 |
| 1 | 71 | 11 |
| 2 | 210 | 11 |
| 3 | 464 | 11 |
| 4 | 1003 | 11 |
| 5 | 2234 | 11 |
| 6 | 4607 | 11 |
| 7 | 7435 | 11 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (cos.f64 y) x) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 y) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) x) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (cos.f64 y) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (cos.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) x) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (cos.f64 y) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cos.f64 y) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) x) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) x) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 y) x) (+.f64 (cos.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 y) x) (+.f64 (cos.f64 y) x)))))) |
| 1× | egg-herbie |
| 2042× | rational.json-simplify-2 |
| 1828× | rational.json-simplify-1 |
| 1272× | rational.json-simplify-35 |
| 1208× | rational.json-simplify-49 |
| 1200× | rational.json-simplify-41 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 68 | 381 |
| 1 | 142 | 381 |
| 2 | 344 | 381 |
| 3 | 813 | 381 |
| 4 | 1350 | 381 |
| 5 | 2987 | 381 |
| 6 | 3403 | 381 |
| 7 | 3473 | 381 |
| 8 | 3551 | 381 |
| 9 | 3648 | 381 |
| 10 | 3761 | 381 |
| 11 | 4603 | 381 |
| 12 | 4767 | 381 |
| 13 | 4896 | 381 |
| 14 | 4998 | 381 |
| 15 | 5083 | 381 |
| 16 | 5167 | 381 |
| 17 | 6311 | 381 |
| 18 | 6682 | 381 |
| 19 | 7781 | 381 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 1 x) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))) |
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))) |
(cos.f64 y) |
x |
x |
(-.f64 (+.f64 (cos.f64 y) x) 0) |
(*.f64 (+.f64 (cos.f64 y) x) 1) |
(*.f64 1 (+.f64 (cos.f64 y) x)) |
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 1/2)) |
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 x 1/2))) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) x) 2) 1/2) |
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) x) 4)) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) x) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 y) x) 2)) |
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (cos.f64 y) 2))) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) x) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) x) 4)) |
(*.f64 (/.f64 (+.f64 (cos.f64 y) x) 4) 4) |
(/.f64 (+.f64 (cos.f64 y) x) 1) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) x) 2) 2) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) x) 4) 4) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) x) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8))) 32) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8)))) 64) |
| Outputs |
|---|
(+.f64 1 x) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)) |
(+.f64 1 (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))) |
(+.f64 (+.f64 1 x) (*.f64 -1/2 (pow.f64 y 2))) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 1/24 (pow.f64 y 4))))) |
(+.f64 1 (+.f64 x (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 1 (+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))) |
(+.f64 (+.f64 1 x) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))) |
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))) |
(+.f64 1 (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 1/24 (pow.f64 y 4)))) (*.f64 -1/720 (pow.f64 y 6)))) |
(+.f64 (+.f64 x (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/2 (pow.f64 y 2)))) (+.f64 1 (*.f64 -1/720 (pow.f64 y 6)))) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 1 x)))) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (+.f64 x (*.f64 1/24 (pow.f64 y 4))) (*.f64 -1/720 (pow.f64 y 6))))) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 1 (+.f64 x (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/720 (pow.f64 y 6)))))) |
(+.f64 x (+.f64 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/720 (pow.f64 y 6))) (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 x (+.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/720 (pow.f64 y 6))))) |
(cos.f64 y) |
x |
x |
(-.f64 (+.f64 (cos.f64 y) x) 0) |
(+.f64 x (cos.f64 y)) |
(*.f64 (+.f64 (cos.f64 y) x) 1) |
(+.f64 x (cos.f64 y)) |
(*.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 x (cos.f64 y)) |
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 1/2)) |
(+.f64 x (cos.f64 y)) |
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 x 1/2))) |
(+.f64 x (cos.f64 y)) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) x) 2) 1/2) |
(+.f64 x (cos.f64 y)) |
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) x) 4)) |
(+.f64 x (cos.f64 y)) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) x) 4) 1/4) |
(+.f64 x (cos.f64 y)) |
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 y) x) 2)) |
(+.f64 x (cos.f64 y)) |
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (cos.f64 y) 2))) |
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 2 (cos.f64 y)))) |
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 2 (cos.f64 y))))) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) x) 1/2) 2) |
(+.f64 x (cos.f64 y)) |
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) x) 4)) |
(+.f64 x (cos.f64 y)) |
(*.f64 (/.f64 (+.f64 (cos.f64 y) x) 4) 4) |
(+.f64 x (cos.f64 y)) |
(/.f64 (+.f64 (cos.f64 y) x) 1) |
(+.f64 x (cos.f64 y)) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) x) 2) 2) |
(+.f64 x (cos.f64 y)) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) x) 4) 4) |
(+.f64 x (cos.f64 y)) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) x) 8) 8) |
(+.f64 x (cos.f64 y)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8)) 16) |
(+.f64 x (cos.f64 y)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8))) 32) |
(+.f64 x (cos.f64 y)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8)))) 64) |
(+.f64 x (cos.f64 y)) |
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (cos.f64 y) | |
| ✓ | 0.2b | (+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x 1))) |
| ✓ | 0.2b | (+.f64 (cos.f64 y) (+.f64 x 1)) |
Compiled 26 to 16 computations (38.5% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (+.f64 (cos.f64 y) (+.f64 x 1)) |
| 0.0ms | y | @ | 0 | (+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x 1))) |
| 0.0ms | x | @ | -inf | (+.f64 (cos.f64 y) (+.f64 x 1)) |
| 0.0ms | x | @ | inf | (+.f64 (cos.f64 y) (+.f64 x 1)) |
| 0.0ms | x | @ | 0 | (+.f64 (cos.f64 y) (+.f64 x 1)) |
| 1× | batch-egg-rewrite |
| 1742× | bool.json-1 |
| 1742× | bool.json-2 |
| 1692× | rational.json-1 |
| 1162× | bool.json-3 |
| 980× | rational.json-simplify-35 |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 40 |
| 1 | 121 | 40 |
| 2 | 356 | 28 |
| 3 | 781 | 28 |
| 4 | 1802 | 28 |
| 5 | 3815 | 28 |
| 6 | 6699 | 28 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x 1))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 y) (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (+.f64 x 1) 1/2) (*.f64 (cos.f64 y) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 (+.f64 x 1) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/2) (/.f64 (+.f64 (cos.f64 y) 1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x (+.f64 x 2)) (*.f64 (cos.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (+.f64 (cos.f64 y) 1) 2) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (cos.f64 y) 2) (+.f64 x (+.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 8)) (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 y) (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 y) (+.f64 x 1)) (+.f64 (cos.f64 y) (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 y) (+.f64 x 1)) (+.f64 (cos.f64 y) (+.f64 x 1))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) (+.f64 x -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (cos.f64 y) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (cos.f64 y) x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 y) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 (cos.f64 y) x)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (cos.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (cos.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (cos.f64 y) 2) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 4 (+.f64 (cos.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) x) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cos.f64 y) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (cos.f64 y) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (cos.f64 y) x)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) x) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8)) (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 y) x) (+.f64 (cos.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 y) x) (+.f64 (cos.f64 y) x)))))) |
| 1× | egg-herbie |
| 1936× | rational.json-simplify-1 |
| 1900× | rational.json-simplify-35 |
| 1878× | rational.json-simplify-2 |
| 1572× | rational.json-simplify-48 |
| 1522× | rational.json-simplify-51 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 127 | 1554 |
| 1 | 258 | 1554 |
| 2 | 634 | 1554 |
| 3 | 1486 | 1554 |
| 4 | 2288 | 1554 |
| 5 | 2815 | 1554 |
| 6 | 3266 | 1554 |
| 7 | 3427 | 1554 |
| 8 | 3545 | 1554 |
| 9 | 3651 | 1554 |
| 10 | 4486 | 1554 |
| 11 | 4620 | 1554 |
| 12 | 5422 | 1554 |
| 13 | 5963 | 1554 |
| 14 | 6476 | 1554 |
| 15 | 6774 | 1554 |
| 16 | 7395 | 1554 |
| 17 | 7576 | 1554 |
| 18 | 7773 | 1554 |
| 19 | 7951 | 1554 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 2 x) |
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)) |
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))) |
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (cos.f64 y)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
x |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
x |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 x) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))) |
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(cos.f64 y) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
x |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
x |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 0) |
(-.f64 (+.f64 (cos.f64 y) x) -1) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1) |
(*.f64 1 (+.f64 (cos.f64 y) (+.f64 x 1))) |
(*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1) |
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1/2)) |
(*.f64 2 (+.f64 (*.f64 (+.f64 x 1) 1/2) (*.f64 (cos.f64 y) 1/2))) |
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 (+.f64 x 1) 1/2))) |
(*.f64 2 (+.f64 (*.f64 x 1/2) (/.f64 (+.f64 (cos.f64 y) 1) 2))) |
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4)) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 2) 1/2) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4) 1/4) |
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 2)) |
(*.f64 1/2 (+.f64 (+.f64 x (+.f64 x 2)) (*.f64 (cos.f64 y) 2))) |
(*.f64 1/2 (+.f64 (*.f64 (+.f64 (cos.f64 y) 1) 2) (+.f64 x x))) |
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 y) 2) (+.f64 x (+.f64 x 2)))) |
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4)) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1/2) 2) |
(*.f64 (/.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4) 4) |
(/.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 2) 2) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4) 4) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 8)) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 8)) (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 8))) 32) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1) |
(-.f64 (+.f64 (cos.f64 y) x) 0) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x -1)) -1) |
(*.f64 1 (+.f64 (cos.f64 y) x)) |
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 1/2)) |
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (cos.f64 y) 1/2))) |
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 x 1/2))) |
(*.f64 (*.f64 2 (+.f64 (cos.f64 y) x)) 1/2) |
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) x) 4)) |
(*.f64 (+.f64 (cos.f64 y) x) 1) |
(*.f64 (*.f64 4 (+.f64 (cos.f64 y) x)) 1/4) |
(*.f64 1/2 (*.f64 2 (+.f64 (cos.f64 y) x))) |
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (cos.f64 y) 2))) |
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 y) 2) (+.f64 x x))) |
(*.f64 1/4 (*.f64 4 (+.f64 (cos.f64 y) x))) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) x) 1/2) 2) |
(*.f64 (/.f64 (+.f64 (cos.f64 y) x) 4) 4) |
(/.f64 (*.f64 2 (+.f64 (cos.f64 y) x)) 2) |
(/.f64 (+.f64 (cos.f64 y) x) 1) |
(/.f64 (*.f64 4 (+.f64 (cos.f64 y) x)) 4) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) x) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8)) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8)) (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8))) 32) |
| Outputs |
|---|
(+.f64 2 x) |
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))) |
(+.f64 x (+.f64 2 (*.f64 -1/2 (pow.f64 y 2)))) |
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))) |
(+.f64 2 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 2 (+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))) |
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 1/24 (pow.f64 y 4))))) |
(+.f64 x (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 2 (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))) |
(+.f64 2 (+.f64 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))) (*.f64 -1/720 (pow.f64 y 6)))) |
(+.f64 (+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) 2)) |
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (+.f64 x (*.f64 1/24 (pow.f64 y 4))) (*.f64 -1/720 (pow.f64 y 6))))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (cos.f64 y)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
x |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
x |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 x) |
(+.f64 x 1) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x 1)) |
(+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) 1)) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))) |
(+.f64 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))) 1) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (-.f64 (+.f64 x (*.f64 1/24 (pow.f64 y 4))) -1)) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (+.f64 x (*.f64 1/24 (pow.f64 y 4))) 1)) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (+.f64 (*.f64 1/24 (pow.f64 y 4)) 1))) |
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))) |
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))) 1)) |
(+.f64 (+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))) (+.f64 1 (*.f64 -1/720 (pow.f64 y 6)))) |
(+.f64 (+.f64 x (*.f64 -1/2 (pow.f64 y 2))) (+.f64 (+.f64 1 (*.f64 1/24 (pow.f64 y 4))) (*.f64 -1/720 (pow.f64 y 6)))) |
(+.f64 (+.f64 x (*.f64 -1/2 (pow.f64 y 2))) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) 1))) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (+.f64 x (*.f64 1/24 (pow.f64 y 4))) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) 1))) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(cos.f64 y) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
x |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
x |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 0) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) x) -1) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(*.f64 1 (+.f64 (cos.f64 y) (+.f64 x 1))) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1/2)) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(*.f64 2 (+.f64 (*.f64 (+.f64 x 1) 1/2) (*.f64 (cos.f64 y) 1/2))) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 (+.f64 x 1) 1/2))) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(*.f64 2 (+.f64 (*.f64 x 1/2) (/.f64 (+.f64 (cos.f64 y) 1) 2))) |
(*.f64 2 (+.f64 (*.f64 x 1/2) (/.f64 (+.f64 1 (cos.f64 y)) 2))) |
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4)) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 2) 1/2) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4) 1/4) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 2)) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(*.f64 1/2 (+.f64 (+.f64 x (+.f64 x 2)) (*.f64 (cos.f64 y) 2))) |
(*.f64 1/2 (+.f64 x (+.f64 (+.f64 2 x) (*.f64 2 (cos.f64 y))))) |
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 2 (cos.f64 y)) (+.f64 x x)))) |
(*.f64 1/2 (+.f64 (+.f64 2 x) (+.f64 x (*.f64 2 (cos.f64 y))))) |
(*.f64 1/2 (+.f64 (*.f64 (+.f64 (cos.f64 y) 1) 2) (+.f64 x x))) |
(*.f64 1/2 (+.f64 (*.f64 2 (+.f64 1 (cos.f64 y))) (+.f64 x x))) |
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 2 (+.f64 1 (cos.f64 y)))))) |
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 y) 2) (+.f64 x (+.f64 x 2)))) |
(*.f64 1/2 (+.f64 x (+.f64 (+.f64 2 x) (*.f64 2 (cos.f64 y))))) |
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 2 (cos.f64 y)) (+.f64 x x)))) |
(*.f64 1/2 (+.f64 (+.f64 2 x) (+.f64 x (*.f64 2 (cos.f64 y))))) |
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4)) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1/2) 2) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(*.f64 (/.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4) 4) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(/.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 2) 2) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4) 4) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 8) 8) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 8)) 16) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 8)) (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 8))) 32) |
(+.f64 (cos.f64 y) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1) |
(+.f64 x (cos.f64 y)) |
(-.f64 (+.f64 (cos.f64 y) x) 0) |
(+.f64 x (cos.f64 y)) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x -1)) -1) |
(+.f64 x (cos.f64 y)) |
(*.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 x (cos.f64 y)) |
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 1/2)) |
(+.f64 x (cos.f64 y)) |
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (cos.f64 y) 1/2))) |
(+.f64 x (cos.f64 y)) |
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 x 1/2))) |
(+.f64 x (cos.f64 y)) |
(*.f64 (*.f64 2 (+.f64 (cos.f64 y) x)) 1/2) |
(+.f64 x (cos.f64 y)) |
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) x) 4)) |
(+.f64 x (cos.f64 y)) |
(*.f64 (+.f64 (cos.f64 y) x) 1) |
(+.f64 x (cos.f64 y)) |
(*.f64 (*.f64 4 (+.f64 (cos.f64 y) x)) 1/4) |
(+.f64 x (cos.f64 y)) |
(*.f64 1/2 (*.f64 2 (+.f64 (cos.f64 y) x))) |
(+.f64 x (cos.f64 y)) |
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (cos.f64 y) 2))) |
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 2 (cos.f64 y))))) |
(*.f64 1/2 (+.f64 (*.f64 2 (cos.f64 y)) (+.f64 x x))) |
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 y) 2) (+.f64 x x))) |
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 2 (cos.f64 y))))) |
(*.f64 1/2 (+.f64 (*.f64 2 (cos.f64 y)) (+.f64 x x))) |
(*.f64 1/4 (*.f64 4 (+.f64 (cos.f64 y) x))) |
(+.f64 x (cos.f64 y)) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) x) 1/2) 2) |
(+.f64 x (cos.f64 y)) |
(*.f64 (/.f64 (+.f64 (cos.f64 y) x) 4) 4) |
(+.f64 x (cos.f64 y)) |
(/.f64 (*.f64 2 (+.f64 (cos.f64 y) x)) 2) |
(+.f64 x (cos.f64 y)) |
(/.f64 (+.f64 (cos.f64 y) x) 1) |
(+.f64 x (cos.f64 y)) |
(/.f64 (*.f64 4 (+.f64 (cos.f64 y) x)) 4) |
(+.f64 x (cos.f64 y)) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) x) 8) 8) |
(+.f64 x (cos.f64 y)) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8)) 16) |
(+.f64 x (cos.f64 y)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8)) (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8))) 32) |
(+.f64 x (cos.f64 y)) |
Compiled 3466 to 2394 computations (30.9% saved)
18 alts after pruning (11 fresh and 7 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 273 | 4 | 277 |
| Fresh | 1 | 7 | 8 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 6 | 6 |
| Total | 274 | 18 | 292 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.1b | (-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
| ▶ | 12.1b | (-.f64 (+.f64 x 1) (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y)))))) |
| ✓ | 8.0b | (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) |
| 26.8b | (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) | |
| 22.9b | (-.f64 x (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y)))))) | |
| ✓ | 19.0b | (-.f64 x (*.f64 z (sin.f64 y))) |
| ▶ | 35.8b | (-.f64 x (*.f64 z y)) |
| ✓ | 25.3b | (-.f64 x -1) |
| ✓ | 47.6b | (-.f64 1 (*.f64 y z)) |
| 17.7b | (+.f64 (-.f64 (+.f64 1 (cos.f64 y)) 1) x) | |
| ✓ | 17.7b | (+.f64 (cos.f64 y) x) |
| ▶ | 17.8b | (+.f64 -1 (-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1)) |
| ✓ | 17.7b | (+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x 1))) |
| ▶ | 35.7b | (+.f64 -1 x) |
| ▶ | 45.3b | (*.f64 (sin.f64 y) (neg.f64 z)) |
| 58.1b | (*.f64 z (neg.f64 y)) | |
| 44.1b | (cos.f64 y) | |
| 36.2b | x |
Compiled 264 to 202 computations (23.5% saved)
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (sin.f64 (neg.f64 y)) |
| 0.2b | (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))) | |
| 0.5b | (-.f64 1 (sin.f64 (neg.f64 y))) | |
| 3.4b | (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y)))) |
Compiled 50 to 28 computations (44% saved)
3 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (sin.f64 (neg.f64 y)) |
| 0.0ms | y | @ | -inf | (sin.f64 (neg.f64 y)) |
| 0.0ms | y | @ | inf | (sin.f64 (neg.f64 y)) |
| 1× | batch-egg-rewrite |
| 1808× | bool.json-1 |
| 1808× | bool.json-2 |
| 1248× | bool.json-3 |
| 894× | rational.json-1 |
| 894× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 5 | 9 |
| 1 | 61 | 9 |
| 2 | 234 | 9 |
| 3 | 553 | 9 |
| 4 | 1248 | 9 |
| 5 | 2996 | 9 |
| 6 | 7039 | 9 |
| 1× | node limit |
| Inputs |
|---|
(sin.f64 (neg.f64 y)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (neg.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (sin.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (+.f64 -1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) -1/2) (*.f64 (sin.f64 y) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (+.f64 -1 (sin.f64 y))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (+.f64 -1 (sin.f64 y)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (-.f64 (sin.f64 y) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (+.f64 -1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (neg.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sin.f64 y) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (/.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sin.f64 y) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) -4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sin.f64 y) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sin.f64 y) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) -4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 y) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) -4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sin.f64 y)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (neg.f64 (sin.f64 y)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) (*.f64 2 (*.f64 (sin.f64 y) 4))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (neg.f64 (sin.f64 y)) 8)) (*.f64 2 (*.f64 (neg.f64 (sin.f64 y)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (neg.f64 (*.f64 (sin.f64 y) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) -1) 8)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (neg.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (neg.f64 (sin.f64 y)) (neg.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (neg.f64 (sin.f64 y)) (neg.f64 (sin.f64 y))))))) |
| 1× | egg-herbie |
| 2040× | rational.json-simplify-35 |
| 1854× | rational.json-simplify-2 |
| 1616× | rational.json-simplify-1 |
| 722× | rational.json-simplify-51 |
| 658× | rational.json-simplify-48 |
Useful iterations: 1 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 101 | 664 |
| 1 | 207 | 560 |
| 2 | 463 | 560 |
| 3 | 1507 | 560 |
| 4 | 3337 | 560 |
| 5 | 4171 | 560 |
| 6 | 5310 | 560 |
| 7 | 6069 | 560 |
| 8 | 6333 | 560 |
| 9 | 6539 | 560 |
| 10 | 6750 | 560 |
| 11 | 7046 | 560 |
| 12 | 7900 | 560 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1 y) |
(+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1 y)) |
(+.f64 (*.f64 -1/120 (pow.f64 y 5)) (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1 y))) |
(+.f64 (*.f64 1/5040 (pow.f64 y 7)) (+.f64 (*.f64 -1/120 (pow.f64 y 5)) (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1 y)))) |
(sin.f64 (*.f64 -1 y)) |
(sin.f64 (*.f64 -1 y)) |
(sin.f64 (*.f64 -1 y)) |
(sin.f64 (*.f64 -1 y)) |
(+.f64 (neg.f64 (sin.f64 y)) 0) |
(+.f64 0 (neg.f64 (sin.f64 y))) |
(+.f64 -1 (-.f64 1 (sin.f64 y))) |
(+.f64 (-.f64 1 (sin.f64 y)) -1) |
(+.f64 -2 (-.f64 1 (+.f64 -1 (sin.f64 y)))) |
(+.f64 (*.f64 (sin.f64 y) -1/2) (*.f64 (sin.f64 y) -1/2)) |
(+.f64 (-.f64 1 (+.f64 -1 (sin.f64 y))) -2) |
(-.f64 (neg.f64 (sin.f64 y)) 0) |
(-.f64 0 (sin.f64 y)) |
(-.f64 0 (-.f64 (+.f64 -1 (sin.f64 y)) -1)) |
(-.f64 1 (-.f64 (sin.f64 y) -1)) |
(-.f64 -1 (+.f64 -1 (sin.f64 y))) |
(-.f64 (-.f64 1 (sin.f64 y)) 1) |
(*.f64 (neg.f64 (sin.f64 y)) 1) |
(*.f64 1 (neg.f64 (sin.f64 y))) |
(*.f64 -1 (sin.f64 y)) |
(*.f64 (sin.f64 y) -1) |
(*.f64 2 (*.f64 (sin.f64 y) -1/2)) |
(*.f64 (*.f64 (sin.f64 y) -2) 1/2) |
(*.f64 -2 (/.f64 (sin.f64 y) 2)) |
(*.f64 4 (/.f64 (sin.f64 y) -4)) |
(*.f64 (*.f64 (sin.f64 y) 2) -1/2) |
(*.f64 (*.f64 (sin.f64 y) -4) 1/4) |
(*.f64 1/2 (*.f64 (sin.f64 y) -2)) |
(*.f64 (*.f64 (sin.f64 y) -1/2) 2) |
(*.f64 -1/2 (*.f64 (sin.f64 y) 2)) |
(*.f64 (/.f64 (sin.f64 y) 2) -2) |
(*.f64 1/4 (*.f64 (sin.f64 y) -4)) |
(*.f64 (/.f64 (sin.f64 y) -4) 4) |
(/.f64 (neg.f64 (sin.f64 y)) 1) |
(/.f64 (sin.f64 y) -1) |
(/.f64 (*.f64 (sin.f64 y) -2) 2) |
(/.f64 (*.f64 (sin.f64 y) 2) -2) |
(/.f64 (*.f64 (sin.f64 y) -4) 4) |
(/.f64 (*.f64 (sin.f64 y) 4) -4) |
(/.f64 (*.f64 (neg.f64 (sin.f64 y)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) -8) |
(/.f64 (*.f64 2 (*.f64 (neg.f64 (sin.f64 y)) 8)) 16) |
(/.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) 4) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) (*.f64 2 (*.f64 (sin.f64 y) 4))) -16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (neg.f64 (sin.f64 y)) 8)) (*.f64 2 (*.f64 (neg.f64 (sin.f64 y)) 8))) 32) |
(/.f64 (+.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (neg.f64 (*.f64 (sin.f64 y) 4))) 8) |
(/.f64 (/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) -1) 8) |
(neg.f64 (sin.f64 y)) |
| Outputs |
|---|
(*.f64 -1 y) |
(neg.f64 y) |
(+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1 y)) |
(+.f64 (*.f64 -1 y) (*.f64 1/6 (pow.f64 y 3))) |
(+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3))) |
(+.f64 (*.f64 -1/120 (pow.f64 y 5)) (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1 y))) |
(+.f64 (*.f64 1/6 (pow.f64 y 3)) (+.f64 (*.f64 -1 y) (*.f64 -1/120 (pow.f64 y 5)))) |
(+.f64 (neg.f64 y) (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1/120 (pow.f64 y 5)))) |
(+.f64 (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3))) (*.f64 -1/120 (pow.f64 y 5))) |
(+.f64 (*.f64 1/6 (pow.f64 y 3)) (+.f64 (neg.f64 y) (*.f64 -1/120 (pow.f64 y 5)))) |
(+.f64 (*.f64 1/5040 (pow.f64 y 7)) (+.f64 (*.f64 -1/120 (pow.f64 y 5)) (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1 y)))) |
(+.f64 (*.f64 -1/120 (pow.f64 y 5)) (+.f64 (+.f64 (*.f64 -1 y) (*.f64 1/6 (pow.f64 y 3))) (*.f64 1/5040 (pow.f64 y 7)))) |
(+.f64 (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3))) (+.f64 (*.f64 1/5040 (pow.f64 y 7)) (*.f64 -1/120 (pow.f64 y 5)))) |
(+.f64 (neg.f64 y) (+.f64 (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1/120 (pow.f64 y 5))) (*.f64 1/5040 (pow.f64 y 7)))) |
(+.f64 (neg.f64 y) (+.f64 (*.f64 1/5040 (pow.f64 y 7)) (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1/120 (pow.f64 y 5))))) |
(+.f64 (neg.f64 y) (+.f64 (*.f64 -1/120 (pow.f64 y 5)) (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 1/5040 (pow.f64 y 7))))) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(+.f64 (neg.f64 (sin.f64 y)) 0) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(+.f64 0 (neg.f64 (sin.f64 y))) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(+.f64 -1 (-.f64 1 (sin.f64 y))) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(+.f64 (-.f64 1 (sin.f64 y)) -1) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(+.f64 -2 (-.f64 1 (+.f64 -1 (sin.f64 y)))) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(+.f64 (*.f64 (sin.f64 y) -1/2) (*.f64 (sin.f64 y) -1/2)) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(+.f64 (-.f64 1 (+.f64 -1 (sin.f64 y))) -2) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(-.f64 (neg.f64 (sin.f64 y)) 0) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(-.f64 0 (sin.f64 y)) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(-.f64 0 (-.f64 (+.f64 -1 (sin.f64 y)) -1)) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(-.f64 1 (-.f64 (sin.f64 y) -1)) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(-.f64 -1 (+.f64 -1 (sin.f64 y))) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(-.f64 (-.f64 1 (sin.f64 y)) 1) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(*.f64 (neg.f64 (sin.f64 y)) 1) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(*.f64 1 (neg.f64 (sin.f64 y))) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(*.f64 -1 (sin.f64 y)) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(*.f64 (sin.f64 y) -1) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(*.f64 2 (*.f64 (sin.f64 y) -1/2)) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(*.f64 (*.f64 (sin.f64 y) -2) 1/2) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(*.f64 -2 (/.f64 (sin.f64 y) 2)) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(*.f64 4 (/.f64 (sin.f64 y) -4)) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(*.f64 (*.f64 (sin.f64 y) 2) -1/2) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(*.f64 (*.f64 (sin.f64 y) -4) 1/4) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(*.f64 1/2 (*.f64 (sin.f64 y) -2)) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(*.f64 (*.f64 (sin.f64 y) -1/2) 2) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(*.f64 -1/2 (*.f64 (sin.f64 y) 2)) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(*.f64 (/.f64 (sin.f64 y) 2) -2) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(*.f64 1/4 (*.f64 (sin.f64 y) -4)) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(*.f64 (/.f64 (sin.f64 y) -4) 4) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(/.f64 (neg.f64 (sin.f64 y)) 1) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(/.f64 (sin.f64 y) -1) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(/.f64 (*.f64 (sin.f64 y) -2) 2) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(/.f64 (*.f64 (sin.f64 y) 2) -2) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(/.f64 (*.f64 (sin.f64 y) -4) 4) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(/.f64 (*.f64 (sin.f64 y) 4) -4) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(/.f64 (*.f64 (neg.f64 (sin.f64 y)) 8) 8) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) -8) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(/.f64 (*.f64 2 (*.f64 (neg.f64 (sin.f64 y)) 8)) 16) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(/.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) 4) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) (*.f64 2 (*.f64 (sin.f64 y) 4))) -16) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (neg.f64 (sin.f64 y)) 8)) (*.f64 2 (*.f64 (neg.f64 (sin.f64 y)) 8))) 32) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(/.f64 (+.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (neg.f64 (*.f64 (sin.f64 y) 4))) 8) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(/.f64 (/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) -1) 8) |
(sin.f64 (*.f64 -1 y)) |
(neg.f64 (sin.f64 y)) |
(neg.f64 (sin.f64 y)) |
(sin.f64 (*.f64 -1 y)) |
Compiled 8 to 6 computations (25% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f64 x (*.f64 z y)) |
Compiled 14 to 5 computations (64.3% saved)
9 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | x | @ | 0 | (-.f64 x (*.f64 z y)) |
| 0.0ms | x | @ | inf | (-.f64 x (*.f64 z y)) |
| 0.0ms | z | @ | 0 | (-.f64 x (*.f64 z y)) |
| 0.0ms | z | @ | -inf | (-.f64 x (*.f64 z y)) |
| 0.0ms | z | @ | inf | (-.f64 x (*.f64 z y)) |
| 1× | batch-egg-rewrite |
| 1320× | bool.json-1 |
| 1320× | bool.json-2 |
| 1278× | rational.json-1 |
| 1278× | rational.json-2 |
| 1278× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 7 | 13 |
| 1 | 69 | 13 |
| 2 | 197 | 13 |
| 3 | 429 | 13 |
| 4 | 883 | 13 |
| 5 | 1945 | 13 |
| 6 | 4435 | 13 |
| 7 | 7956 | 13 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 x (*.f64 z y)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (neg.f64 (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 x (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 z y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 x (-.f64 1 (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (-.f64 1 (*.f64 z y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (-.f64 1 (*.f64 z y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x (*.f64 z y)) 1/2) (*.f64 (-.f64 x (*.f64 z y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 2 (-.f64 (*.f64 z y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (*.f64 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x (*.f64 z y)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 z y) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 x (*.f64 z y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (/.f64 x 4) (/.f64 (*.f64 z y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x (*.f64 z y)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 z y) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 x (*.f64 z y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x (*.f64 z y)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 x (*.f64 z y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 x 4) (*.f64 z (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 x (*.f64 z y)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 x (*.f64 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x (*.f64 z y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z y) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x (*.f64 z y)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 z y) x)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x (*.f64 z y)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 z y) x) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 z y) x) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 (*.f64 z y) x) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (-.f64 (*.f64 z y) x) 4)) (neg.f64 (*.f64 (-.f64 (*.f64 z y) x) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 z y) x))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 x (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 x (*.f64 z y)) (-.f64 x (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 x (*.f64 z y)) (-.f64 x (*.f64 z y))))))) |
| 1× | egg-herbie |
| 1986× | rational.json-simplify-35 |
| 1902× | rational.json-simplify-1 |
| 1816× | rational.json-simplify-2 |
| 1310× | rational.json-simplify-52 |
| 898× | rational.json-simplify-41 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 88 | 1037 |
| 1 | 189 | 1037 |
| 2 | 422 | 1037 |
| 3 | 967 | 1037 |
| 4 | 1854 | 1037 |
| 5 | 3006 | 1037 |
| 6 | 3662 | 1037 |
| 7 | 3810 | 1037 |
| 8 | 3922 | 1037 |
| 9 | 4058 | 1037 |
| 10 | 4262 | 1037 |
| 11 | 4757 | 1037 |
| 12 | 5852 | 1037 |
| 13 | 6573 | 1037 |
| 14 | 7546 | 1037 |
| 15 | 7598 | 1037 |
| 16 | 7611 | 1037 |
| 17 | 7611 | 1037 |
| 18 | 7611 | 1037 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
x |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
x |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
x |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
x |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 z y))) |
(+.f64 (-.f64 x (*.f64 z y)) 0) |
(+.f64 0 (-.f64 x (*.f64 z y))) |
(+.f64 (neg.f64 (*.f64 z y)) x) |
(+.f64 -1 (+.f64 x (-.f64 1 (*.f64 z y)))) |
(+.f64 -1 (+.f64 (-.f64 1 (*.f64 z y)) x)) |
(+.f64 (+.f64 x (-.f64 1 (*.f64 z y))) -1) |
(+.f64 (*.f64 (-.f64 x (*.f64 z y)) 1/2) (*.f64 (-.f64 x (*.f64 z y)) 1/2)) |
(+.f64 -2 (-.f64 2 (-.f64 (*.f64 z y) x))) |
(*.f64 (-.f64 x (*.f64 z y)) 1) |
(*.f64 1 (-.f64 x (*.f64 z y))) |
(*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 1/2)) |
(*.f64 (*.f64 (-.f64 x (*.f64 z y)) 2) 1/2) |
(*.f64 (-.f64 (*.f64 z y) x) -1) |
(*.f64 4 (/.f64 (-.f64 x (*.f64 z y)) 4)) |
(*.f64 4 (-.f64 (/.f64 x 4) (/.f64 (*.f64 z y) 4))) |
(*.f64 (*.f64 (-.f64 x (*.f64 z y)) 4) 1/4) |
(*.f64 -1 (-.f64 (*.f64 z y) x)) |
(*.f64 1/2 (*.f64 (-.f64 x (*.f64 z y)) 2)) |
(*.f64 (*.f64 (-.f64 x (*.f64 z y)) 1/2) 2) |
(*.f64 1/4 (*.f64 (-.f64 x (*.f64 z y)) 4)) |
(*.f64 1/4 (-.f64 (*.f64 x 4) (*.f64 z (*.f64 y 4)))) |
(*.f64 (/.f64 (-.f64 x (*.f64 z y)) 4) 4) |
(/.f64 (-.f64 x (*.f64 z y)) 1) |
(/.f64 (*.f64 (-.f64 x (*.f64 z y)) 2) 2) |
(/.f64 (-.f64 (*.f64 z y) x) -1) |
(/.f64 (*.f64 (-.f64 x (*.f64 z y)) 4) 4) |
(/.f64 (*.f64 2 (-.f64 (*.f64 z y) x)) -2) |
(/.f64 (*.f64 (-.f64 x (*.f64 z y)) 8) 8) |
(/.f64 (*.f64 (-.f64 (*.f64 z y) x) 4) -4) |
(/.f64 (*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 8)) 16) |
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 z y) x) 4)) -8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 8))) 32) |
(/.f64 (neg.f64 (*.f64 (-.f64 (*.f64 z y) x) 4)) 4) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 8)))) 64) |
(/.f64 (+.f64 (neg.f64 (*.f64 (-.f64 (*.f64 z y) x) 4)) (neg.f64 (*.f64 (-.f64 (*.f64 z y) x) 4))) 8) |
(neg.f64 (-.f64 (*.f64 z y) x)) |
| Outputs |
|---|
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 y z)) |
(*.f64 y (neg.f64 z)) |
(*.f64 z (neg.f64 y)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
x |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
x |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
x |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 y z)) |
(*.f64 y (neg.f64 z)) |
(*.f64 z (neg.f64 y)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 y z)) |
(*.f64 y (neg.f64 z)) |
(*.f64 z (neg.f64 y)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
x |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 y z)) |
(*.f64 y (neg.f64 z)) |
(*.f64 z (neg.f64 y)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(*.f64 -1 (*.f64 y z)) |
(neg.f64 (*.f64 y z)) |
(*.f64 y (neg.f64 z)) |
(*.f64 z (neg.f64 y)) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 y z)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(+.f64 x (neg.f64 (*.f64 z y))) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(+.f64 (-.f64 x (*.f64 z y)) 0) |
(-.f64 x (*.f64 y z)) |
(+.f64 0 (-.f64 x (*.f64 z y))) |
(-.f64 x (*.f64 y z)) |
(+.f64 (neg.f64 (*.f64 z y)) x) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(+.f64 -1 (+.f64 x (-.f64 1 (*.f64 z y)))) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(+.f64 -1 (+.f64 (-.f64 1 (*.f64 z y)) x)) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(+.f64 (+.f64 x (-.f64 1 (*.f64 z y))) -1) |
(+.f64 x (neg.f64 (*.f64 y z))) |
(+.f64 x (*.f64 y (neg.f64 z))) |
(+.f64 x (*.f64 z (neg.f64 y))) |
(+.f64 (*.f64 (-.f64 x (*.f64 z y)) 1/2) (*.f64 (-.f64 x (*.f64 z y)) 1/2)) |
(-.f64 x (*.f64 y z)) |
(+.f64 -2 (-.f64 2 (-.f64 (*.f64 z y) x))) |
(-.f64 x (*.f64 y z)) |
(*.f64 (-.f64 x (*.f64 z y)) 1) |
(-.f64 x (*.f64 y z)) |
(*.f64 1 (-.f64 x (*.f64 z y))) |
(-.f64 x (*.f64 y z)) |
(*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 1/2)) |
(-.f64 x (*.f64 y z)) |
(*.f64 (*.f64 (-.f64 x (*.f64 z y)) 2) 1/2) |
(-.f64 x (*.f64 y z)) |
(*.f64 (-.f64 (*.f64 z y) x) -1) |
(-.f64 x (*.f64 y z)) |
(*.f64 4 (/.f64 (-.f64 x (*.f64 z y)) 4)) |
(-.f64 x (*.f64 y z)) |
(*.f64 4 (-.f64 (/.f64 x 4) (/.f64 (*.f64 z y) 4))) |
(*.f64 4 (-.f64 (/.f64 x 4) (*.f64 y (/.f64 z 4)))) |
(*.f64 4 (-.f64 (/.f64 x 4) (/.f64 (*.f64 y z) 4))) |
(*.f64 (*.f64 (-.f64 x (*.f64 z y)) 4) 1/4) |
(-.f64 x (*.f64 y z)) |
(*.f64 -1 (-.f64 (*.f64 z y) x)) |
(-.f64 x (*.f64 y z)) |
(*.f64 1/2 (*.f64 (-.f64 x (*.f64 z y)) 2)) |
(-.f64 x (*.f64 y z)) |
(*.f64 (*.f64 (-.f64 x (*.f64 z y)) 1/2) 2) |
(-.f64 x (*.f64 y z)) |
(*.f64 1/4 (*.f64 (-.f64 x (*.f64 z y)) 4)) |
(-.f64 x (*.f64 y z)) |
(*.f64 1/4 (-.f64 (*.f64 x 4) (*.f64 z (*.f64 y 4)))) |
(-.f64 x (*.f64 y z)) |
(*.f64 (/.f64 (-.f64 x (*.f64 z y)) 4) 4) |
(-.f64 x (*.f64 y z)) |
(/.f64 (-.f64 x (*.f64 z y)) 1) |
(-.f64 x (*.f64 y z)) |
(/.f64 (*.f64 (-.f64 x (*.f64 z y)) 2) 2) |
(-.f64 x (*.f64 y z)) |
(/.f64 (-.f64 (*.f64 z y) x) -1) |
(-.f64 x (*.f64 y z)) |
(/.f64 (*.f64 (-.f64 x (*.f64 z y)) 4) 4) |
(-.f64 x (*.f64 y z)) |
(/.f64 (*.f64 2 (-.f64 (*.f64 z y) x)) -2) |
(-.f64 x (*.f64 y z)) |
(/.f64 (*.f64 (-.f64 x (*.f64 z y)) 8) 8) |
(-.f64 x (*.f64 y z)) |
(/.f64 (*.f64 (-.f64 (*.f64 z y) x) 4) -4) |
(-.f64 x (*.f64 y z)) |
(/.f64 (*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 8)) 16) |
(-.f64 x (*.f64 y z)) |
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 z y) x) 4)) -8) |
(-.f64 x (*.f64 y z)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 8))) 32) |
(-.f64 x (*.f64 y z)) |
(/.f64 (neg.f64 (*.f64 (-.f64 (*.f64 z y) x) 4)) 4) |
(-.f64 x (*.f64 y z)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 8)))) 64) |
(-.f64 x (*.f64 y z)) |
(/.f64 (+.f64 (neg.f64 (*.f64 (-.f64 (*.f64 z y) x) 4)) (neg.f64 (*.f64 (-.f64 (*.f64 z y) x) 4))) 8) |
(-.f64 x (*.f64 y z)) |
(neg.f64 (-.f64 (*.f64 z y) x)) |
(-.f64 x (*.f64 y z)) |
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (sin.f64 y) | |
| ✓ | 0.2b | (*.f64 (sin.f64 y) (neg.f64 z)) |
Compiled 14 to 6 computations (57.1% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (*.f64 (sin.f64 y) (neg.f64 z)) |
| 0.0ms | y | @ | -inf | (*.f64 (sin.f64 y) (neg.f64 z)) |
| 0.0ms | z | @ | 0 | (*.f64 (sin.f64 y) (neg.f64 z)) |
| 0.0ms | y | @ | inf | (*.f64 (sin.f64 y) (neg.f64 z)) |
| 0.0ms | z | @ | inf | (*.f64 (sin.f64 y) (neg.f64 z)) |
| 1× | batch-egg-rewrite |
| 1700× | bool.json-1 |
| 1700× | bool.json-2 |
| 1646× | rational.json-1 |
| 1138× | bool.json-3 |
| 842× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 15 |
| 1 | 86 | 15 |
| 2 | 266 | 15 |
| 3 | 589 | 15 |
| 4 | 1286 | 15 |
| 5 | 2961 | 15 |
| 6 | 6474 | 15 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 (sin.f64 y) (neg.f64 z)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 (sin.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) (/.f64 z -2)) (*.f64 (sin.f64 y) (/.f64 z -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (sin.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (*.f64 z -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (*.f64 z -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) z) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 8)) (*.f64 2 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sin.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sin.f64 y) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sin.f64 y) (neg.f64 z)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sin.f64 y) (neg.f64 z)) (*.f64 (sin.f64 y) (neg.f64 z))))))) |
| 1× | egg-herbie |
| 2246× | rational.json-simplify-2 |
| 1916× | rational.json-simplify-35 |
| 1626× | rational.json-simplify-1 |
| 846× | rational.json-simplify-53 |
| 776× | rational.json-simplify-52 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 66 | 698 |
| 1 | 151 | 698 |
| 2 | 291 | 698 |
| 3 | 641 | 674 |
| 4 | 2179 | 674 |
| 5 | 3021 | 674 |
| 6 | 3740 | 674 |
| 7 | 4262 | 674 |
| 8 | 5235 | 674 |
| 9 | 5747 | 674 |
| 10 | 6806 | 674 |
| 11 | 7030 | 674 |
| 12 | 7275 | 674 |
| 13 | 7530 | 674 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 -1 (*.f64 y z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z))) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) |
(+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 7) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(+.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 0) |
(+.f64 0 (*.f64 (sin.f64 y) (neg.f64 z))) |
(+.f64 -1 (-.f64 1 (*.f64 (sin.f64 y) z))) |
(+.f64 (*.f64 (sin.f64 y) (/.f64 z -2)) (*.f64 (sin.f64 y) (/.f64 z -2))) |
(-.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 0) |
(-.f64 0 (*.f64 (sin.f64 y) z)) |
(/.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1) |
(/.f64 (*.f64 (sin.f64 y) (*.f64 z -2)) 2) |
(/.f64 (*.f64 (sin.f64 y) (*.f64 z -4)) 4) |
(/.f64 (*.f64 (sin.f64 y) z) -1) |
(/.f64 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 8)) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 8)) (*.f64 2 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 8))) 32) |
(neg.f64 (*.f64 (sin.f64 y) z)) |
| Outputs |
|---|
(*.f64 -1 (*.f64 y z)) |
(*.f64 y (neg.f64 z)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z))) |
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 1/6 (*.f64 z (pow.f64 y 3)))) |
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 z (*.f64 1/6 (pow.f64 y 3)))) |
(*.f64 z (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3)))) |
(*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (neg.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))) |
(+.f64 (*.f64 y (neg.f64 z)) (+.f64 (*.f64 1/6 (*.f64 z (pow.f64 y 3))) (*.f64 -1/120 (*.f64 z (pow.f64 y 5))))) |
(+.f64 (*.f64 z (*.f64 1/6 (pow.f64 y 3))) (+.f64 (*.f64 y (neg.f64 z)) (*.f64 (pow.f64 y 5) (*.f64 z -1/120)))) |
(+.f64 (+.f64 (*.f64 y (neg.f64 z)) (*.f64 z (*.f64 1/6 (pow.f64 y 3)))) (*.f64 (pow.f64 y 5) (*.f64 z -1/120))) |
(+.f64 (*.f64 z (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3)))) (*.f64 (pow.f64 y 5) (*.f64 z -1/120))) |
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 z (+.f64 (*.f64 -1/120 (pow.f64 y 5)) (*.f64 1/6 (pow.f64 y 3))))) |
(+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 7) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))) |
(+.f64 (*.f64 y (neg.f64 z)) (+.f64 (+.f64 (*.f64 1/6 (*.f64 z (pow.f64 y 3))) (*.f64 -1/120 (*.f64 z (pow.f64 y 5)))) (*.f64 1/5040 (*.f64 z (pow.f64 y 7))))) |
(+.f64 (*.f64 y (neg.f64 z)) (+.f64 (+.f64 (*.f64 z (*.f64 1/6 (pow.f64 y 3))) (*.f64 (pow.f64 y 5) (*.f64 z -1/120))) (*.f64 (pow.f64 y 7) (*.f64 z 1/5040)))) |
(+.f64 (*.f64 y (neg.f64 z)) (+.f64 (*.f64 z (*.f64 1/6 (pow.f64 y 3))) (+.f64 (*.f64 (pow.f64 y 5) (*.f64 z -1/120)) (*.f64 (pow.f64 y 7) (*.f64 z 1/5040))))) |
(+.f64 (*.f64 z (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3)))) (*.f64 z (+.f64 (*.f64 -1/120 (pow.f64 y 5)) (*.f64 1/5040 (pow.f64 y 7))))) |
(+.f64 (*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (neg.f64 y))) (*.f64 z (+.f64 (*.f64 -1/120 (pow.f64 y 5)) (*.f64 1/5040 (pow.f64 y 7))))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(+.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 0) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(+.f64 0 (*.f64 (sin.f64 y) (neg.f64 z))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(+.f64 -1 (-.f64 1 (*.f64 (sin.f64 y) z))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(+.f64 (*.f64 (sin.f64 y) (/.f64 z -2)) (*.f64 (sin.f64 y) (/.f64 z -2))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(-.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 0) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(-.f64 0 (*.f64 (sin.f64 y) z)) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(/.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(/.f64 (*.f64 (sin.f64 y) (*.f64 z -2)) 2) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(/.f64 (*.f64 (sin.f64 y) (*.f64 z -4)) 4) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(/.f64 (*.f64 (sin.f64 y) z) -1) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(/.f64 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 8) 8) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 8)) 16) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 8)) (*.f64 2 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 8))) 32) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
(neg.f64 (*.f64 (sin.f64 y) z)) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 z (sin.f64 (neg.f64 y))) |
Found 4 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (cos.f64 y) | |
| ✓ | 0.0b | (+.f64 (cos.f64 y) (+.f64 x 2)) |
| ✓ | 0.2b | (+.f64 -1 (-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1)) |
| ✓ | 0.3b | (-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1) |
Compiled 37 to 24 computations (35.1% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1) |
| 0.0ms | y | @ | 0 | (+.f64 (cos.f64 y) (+.f64 x 2)) |
| 0.0ms | y | @ | inf | (+.f64 (cos.f64 y) (+.f64 x 2)) |
| 0.0ms | y | @ | -inf | (+.f64 (cos.f64 y) (+.f64 x 2)) |
| 0.0ms | y | @ | 0 | (+.f64 -1 (-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1)) |
| 1× | batch-egg-rewrite |
| 1300× | bool.json-1 |
| 1300× | bool.json-2 |
| 1260× | rational.json-1 |
| 1260× | rational.json-2 |
| 1260× | rational.json-4 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 13 | 69 |
| 1 | 139 | 63 |
| 2 | 384 | 57 |
| 3 | 837 | 45 |
| 4 | 2191 | 45 |
| 5 | 4985 | 45 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1) |
(+.f64 -1 (-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1)) |
(+.f64 (cos.f64 y) (+.f64 x 2)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 y) (-.f64 x -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (+.f64 (cos.f64 y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 2 (+.f64 (cos.f64 y) (+.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x 2) (+.f64 (cos.f64 y) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (cos.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (cos.f64 y) (+.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (cos.f64 y) (-.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) 2) (+.f64 x -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) -1) (+.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x -1) (+.f64 (cos.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x -1) (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) (+.f64 x -1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1/2) (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 y) (-.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 (*.f64 2 (+.f64 (cos.f64 y) x))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 2 (*.f64 2 (+.f64 (cos.f64 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 2 (*.f64 2 (+.f64 (cos.f64 y) x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 y) (-.f64 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 y) (-.f64 x -1)) (+.f64 (cos.f64 y) (-.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 y) (-.f64 x -1)) (+.f64 (cos.f64 y) (-.f64 x -1))))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) (+.f64 x -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (cos.f64 y) x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 y) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 (cos.f64 y) x)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (cos.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 4 (+.f64 (cos.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) x) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cos.f64 y) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (cos.f64 y) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (cos.f64 y) x)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (+.f64 (cos.f64 y) x))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cos.f64 y) x)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cos.f64 y) x)))) (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cos.f64 y) x))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 y) x) (+.f64 (cos.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 y) x) (+.f64 (cos.f64 y) x)))))) |
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 y) (+.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (cos.f64 y) (+.f64 x 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (cos.f64 y) (+.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (cos.f64 y) (+.f64 x 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 y) (+.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 y) (+.f64 x 2)) (+.f64 (cos.f64 y) (+.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 y) (+.f64 x 2)) (+.f64 (cos.f64 y) (+.f64 x 2))))))) |
| 1× | egg-herbie |
| 2536× | rational.json-simplify-51 |
| 1792× | rational.json-simplify-1 |
| 1790× | rational.json-simplify-35 |
| 1666× | rational.json-simplify-49 |
| 1032× | rational.json-simplify-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 144 | 2265 |
| 1 | 284 | 2265 |
| 2 | 729 | 2265 |
| 3 | 1878 | 2265 |
| 4 | 3014 | 2265 |
| 5 | 3639 | 2265 |
| 6 | 3832 | 2265 |
| 7 | 3991 | 2265 |
| 8 | 4165 | 2265 |
| 9 | 4334 | 2265 |
| 10 | 4794 | 2265 |
| 11 | 5034 | 2265 |
| 12 | 5330 | 2265 |
| 13 | 5648 | 2265 |
| 14 | 5997 | 2265 |
| 15 | 6222 | 2265 |
| 16 | 6291 | 2265 |
| 17 | 6307 | 2265 |
| 18 | 6307 | 2265 |
| 19 | 7239 | 2265 |
| 1× | node limit |
| Inputs |
|---|
(+.f64 2 x) |
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)) |
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))) |
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (cos.f64 y)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
x |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
x |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 1 x) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))) |
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(cos.f64 y) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
x |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
x |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 (cos.f64 y) x) |
(+.f64 3 x) |
(+.f64 3 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)) |
(+.f64 3 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))) |
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 3 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 2 (cos.f64 y)) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
x |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
x |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (-.f64 x -1)) |
(+.f64 x (+.f64 (cos.f64 y) 1)) |
(+.f64 2 (+.f64 (cos.f64 y) (+.f64 x -1))) |
(+.f64 (+.f64 x 2) (+.f64 (cos.f64 y) -1)) |
(+.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) -1) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 0) |
(+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x 2))) |
(+.f64 0 (+.f64 (cos.f64 y) (-.f64 x -1))) |
(+.f64 (+.f64 (cos.f64 y) 2) (+.f64 x -1)) |
(+.f64 (+.f64 (cos.f64 y) -1) (+.f64 x 2)) |
(+.f64 (+.f64 (cos.f64 y) x) 1) |
(+.f64 (+.f64 x -1) (+.f64 (cos.f64 y) 2)) |
(+.f64 (-.f64 x -1) (cos.f64 y)) |
(+.f64 (+.f64 (cos.f64 y) (+.f64 x -1)) 2) |
(+.f64 (+.f64 (cos.f64 y) 1) x) |
(+.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1/2) (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1/2)) |
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1/2)) |
(*.f64 1 (+.f64 (cos.f64 y) (-.f64 x -1))) |
(*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1) |
(*.f64 (+.f64 2 (*.f64 2 (+.f64 (cos.f64 y) x))) 1/2) |
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4)) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4) 1/4) |
(*.f64 1/2 (+.f64 2 (*.f64 2 (+.f64 (cos.f64 y) x)))) |
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4)) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1/2) 2) |
(*.f64 (/.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4) 4) |
(/.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1) |
(/.f64 (+.f64 2 (*.f64 2 (+.f64 (cos.f64 y) x))) 2) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4))) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4)))) 32) |
(-.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1) |
(-.f64 (+.f64 (cos.f64 y) x) 0) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x -1)) -1) |
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 1/2)) |
(*.f64 1 (+.f64 (cos.f64 y) x)) |
(*.f64 (*.f64 2 (+.f64 (cos.f64 y) x)) 1/2) |
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) x) 4)) |
(*.f64 (+.f64 (cos.f64 y) x) 1) |
(*.f64 (*.f64 4 (+.f64 (cos.f64 y) x)) 1/4) |
(*.f64 1/2 (*.f64 2 (+.f64 (cos.f64 y) x))) |
(*.f64 1/4 (*.f64 4 (+.f64 (cos.f64 y) x))) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) x) 1/2) 2) |
(*.f64 (/.f64 (+.f64 (cos.f64 y) x) 4) 4) |
(/.f64 (*.f64 2 (+.f64 (cos.f64 y) x)) 2) |
(/.f64 (+.f64 (cos.f64 y) x) 1) |
(/.f64 (*.f64 4 (+.f64 (cos.f64 y) x)) 4) |
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (cos.f64 y) x))) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cos.f64 y) x)))) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cos.f64 y) x)))) (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cos.f64 y) x))))) 32) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 0) |
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1/2)) |
(*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1) |
(*.f64 1 (+.f64 (cos.f64 y) (+.f64 x 2))) |
(*.f64 (*.f64 2 (+.f64 (cos.f64 y) (+.f64 x 2))) 1/2) |
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4)) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4) 1/4) |
(*.f64 1/2 (*.f64 2 (+.f64 (cos.f64 y) (+.f64 x 2)))) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1/2) 2) |
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4)) |
(*.f64 (/.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4) 4) |
(/.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1) |
(/.f64 (*.f64 2 (+.f64 (cos.f64 y) (+.f64 x 2))) 2) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4) 4) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4)) 8) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4))) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4)))) 32) |
| Outputs |
|---|
(+.f64 2 x) |
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))) |
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))) |
(+.f64 2 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 2 (+.f64 x (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 2 (+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 2 x))) |
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 1/24 (pow.f64 y 4))))) |
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))) |
(+.f64 2 (+.f64 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))) (*.f64 -1/720 (pow.f64 y 6)))) |
(+.f64 (+.f64 x (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/2 (pow.f64 y 2)))) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) 2)) |
(+.f64 2 (+.f64 x (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))) (*.f64 -1/720 (pow.f64 y 6))))) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 2 x)))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 1 (cos.f64 y)) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
x |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
x |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 1 x) |
(+.f64 x 1) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x 1)) |
(+.f64 x (+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))) |
(+.f64 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))) 1) |
(+.f64 (+.f64 x (*.f64 -1/2 (pow.f64 y 2))) (-.f64 (*.f64 1/24 (pow.f64 y 4)) -1)) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x 1))) |
(+.f64 x (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) 1))) |
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))) |
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))) 1)) |
(+.f64 (+.f64 x (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/2 (pow.f64 y 2)))) (+.f64 1 (*.f64 -1/720 (pow.f64 y 6)))) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x 1)))) |
(+.f64 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/720 (pow.f64 y 6))) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x 1))) |
(+.f64 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x 1)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/720 (pow.f64 y 6)))) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 1 (+.f64 (+.f64 x (*.f64 1/24 (pow.f64 y 4))) (*.f64 -1/720 (pow.f64 y 6))))) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(cos.f64 y) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
x |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
x |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 (cos.f64 y) x) |
(+.f64 x (cos.f64 y)) |
(+.f64 3 x) |
(+.f64 x 3) |
(+.f64 3 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x 3)) |
(+.f64 x (+.f64 3 (*.f64 -1/2 (pow.f64 y 2)))) |
(+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) 3)) |
(+.f64 3 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))) |
(+.f64 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))) 3) |
(+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x (+.f64 3 (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x 3))) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (+.f64 (*.f64 1/24 (pow.f64 y 4)) 3))) |
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 3 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))) |
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))) 3)) |
(+.f64 (+.f64 x (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/2 (pow.f64 y 2)))) (+.f64 3 (*.f64 -1/720 (pow.f64 y 6)))) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x 3)))) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 x (+.f64 (*.f64 1/24 (pow.f64 y 4)) 3)))) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(+.f64 2 (cos.f64 y)) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
x |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
x |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(+.f64 2 (+.f64 (cos.f64 y) x)) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(+.f64 (cos.f64 y) (-.f64 x -1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 x (+.f64 (cos.f64 y) 1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 2 (+.f64 (cos.f64 y) (+.f64 x -1))) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 (+.f64 x 2) (+.f64 (cos.f64 y) -1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) -1) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 0) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x 2))) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 0 (+.f64 (cos.f64 y) (-.f64 x -1))) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 (+.f64 (cos.f64 y) 2) (+.f64 x -1)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 (+.f64 (cos.f64 y) -1) (+.f64 x 2)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 (+.f64 (cos.f64 y) x) 1) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 (+.f64 x -1) (+.f64 (cos.f64 y) 2)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 (-.f64 x -1) (cos.f64 y)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 (+.f64 (cos.f64 y) (+.f64 x -1)) 2) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 (+.f64 (cos.f64 y) 1) x) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(+.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1/2) (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1/2)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1/2)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(*.f64 1 (+.f64 (cos.f64 y) (-.f64 x -1))) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(*.f64 (+.f64 2 (*.f64 2 (+.f64 (cos.f64 y) x))) 1/2) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4) 1/4) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(*.f64 1/2 (+.f64 2 (*.f64 2 (+.f64 (cos.f64 y) x)))) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4)) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1/2) 2) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(*.f64 (/.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4) 4) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(/.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(/.f64 (+.f64 2 (*.f64 2 (+.f64 (cos.f64 y) x))) 2) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4) 4) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4)) 8) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4))) 16) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4)))) 32) |
(+.f64 x (+.f64 1 (cos.f64 y))) |
(+.f64 1 (+.f64 x (cos.f64 y))) |
(-.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1) |
(+.f64 x (cos.f64 y)) |
(-.f64 (+.f64 (cos.f64 y) x) 0) |
(+.f64 x (cos.f64 y)) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x -1)) -1) |
(+.f64 x (cos.f64 y)) |
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 1/2)) |
(+.f64 x (cos.f64 y)) |
(*.f64 1 (+.f64 (cos.f64 y) x)) |
(+.f64 x (cos.f64 y)) |
(*.f64 (*.f64 2 (+.f64 (cos.f64 y) x)) 1/2) |
(+.f64 x (cos.f64 y)) |
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) x) 4)) |
(+.f64 x (cos.f64 y)) |
(*.f64 (+.f64 (cos.f64 y) x) 1) |
(+.f64 x (cos.f64 y)) |
(*.f64 (*.f64 4 (+.f64 (cos.f64 y) x)) 1/4) |
(+.f64 x (cos.f64 y)) |
(*.f64 1/2 (*.f64 2 (+.f64 (cos.f64 y) x))) |
(+.f64 x (cos.f64 y)) |
(*.f64 1/4 (*.f64 4 (+.f64 (cos.f64 y) x))) |
(+.f64 x (cos.f64 y)) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) x) 1/2) 2) |
(+.f64 x (cos.f64 y)) |
(*.f64 (/.f64 (+.f64 (cos.f64 y) x) 4) 4) |
(+.f64 x (cos.f64 y)) |
(/.f64 (*.f64 2 (+.f64 (cos.f64 y) x)) 2) |
(+.f64 x (cos.f64 y)) |
(/.f64 (+.f64 (cos.f64 y) x) 1) |
(+.f64 x (cos.f64 y)) |
(/.f64 (*.f64 4 (+.f64 (cos.f64 y) x)) 4) |
(+.f64 x (cos.f64 y)) |
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (cos.f64 y) x))) 8) |
(+.f64 x (cos.f64 y)) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cos.f64 y) x)))) 16) |
(+.f64 x (cos.f64 y)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cos.f64 y) x)))) (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cos.f64 y) x))))) 32) |
(+.f64 x (cos.f64 y)) |
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 0) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1/2)) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(*.f64 1 (+.f64 (cos.f64 y) (+.f64 x 2))) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(*.f64 (*.f64 2 (+.f64 (cos.f64 y) (+.f64 x 2))) 1/2) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4)) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4) 1/4) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(*.f64 1/2 (*.f64 2 (+.f64 (cos.f64 y) (+.f64 x 2)))) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1/2) 2) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4)) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(*.f64 (/.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4) 4) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(/.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(/.f64 (*.f64 2 (+.f64 (cos.f64 y) (+.f64 x 2))) 2) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4) 4) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4)) 8) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4))) 16) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4)))) 32) |
(+.f64 (cos.f64 y) (+.f64 2 x)) |
(+.f64 2 (+.f64 x (cos.f64 y))) |
Compiled 6642 to 4587 computations (30.9% saved)
19 alts after pruning (9 fresh and 10 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 473 | 4 | 477 |
| Fresh | 1 | 5 | 6 |
| Picked | 1 | 0 | 1 |
| Done | 1 | 10 | 11 |
| Total | 476 | 19 | 495 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.1b | (-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
| 12.1b | (-.f64 (+.f64 x 1) (*.f64 z (-.f64 (+.f64 1 (sin.f64 y)) 1))) | |
| ✓ | 8.0b | (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) |
| 26.8b | (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) | |
| ✓ | 19.0b | (-.f64 x (*.f64 z (sin.f64 y))) |
| ✓ | 35.8b | (-.f64 x (*.f64 z y)) |
| ✓ | 25.3b | (-.f64 x -1) |
| ✓ | 47.6b | (-.f64 1 (*.f64 y z)) |
| 17.7b | (+.f64 (-.f64 (+.f64 1 (cos.f64 y)) 1) x) | |
| ✓ | 17.7b | (+.f64 (cos.f64 y) x) |
| 44.3b | (+.f64 -1 (-.f64 (+.f64 2 (cos.f64 y)) 1)) | |
| 25.4b | (+.f64 -1 (-.f64 (+.f64 1 (+.f64 x 2)) 1)) | |
| ✓ | 17.7b | (+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x 1))) |
| ✓ | 35.7b | (+.f64 -1 x) |
| 49.1b | (*.f64 (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y)))) (neg.f64 z)) | |
| ✓ | 45.3b | (*.f64 (sin.f64 y) (neg.f64 z)) |
| 58.1b | (*.f64 z (neg.f64 y)) | |
| 44.1b | (cos.f64 y) | |
| 36.2b | x |
Compiled 174 to 135 computations (22.4% saved)
| Inputs |
|---|
x |
(+.f64 -1 x) |
(-.f64 x -1) |
(*.f64 z (neg.f64 y)) |
(-.f64 1 (*.f64 y z)) |
(-.f64 x (*.f64 z y)) |
(+.f64 x (-.f64 1 (*.f64 y z))) |
(+.f64 -1 (-.f64 (+.f64 1 (+.f64 x 2)) 1)) |
(cos.f64 y) |
(+.f64 (cos.f64 y) x) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(-.f64 x (*.f64 z (sin.f64 y))) |
(+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x 1))) |
(+.f64 -1 (-.f64 (+.f64 2 (cos.f64 y)) 1)) |
(+.f64 (-.f64 (+.f64 1 (cos.f64 y)) 1) x) |
(-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z y)) |
(*.f64 (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y)))) (neg.f64 z)) |
(+.f64 -1 (-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1)) |
(-.f64 x (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y)))))) |
(-.f64 (+.f64 x 1) (*.f64 z (-.f64 (+.f64 1 (sin.f64 y)) 1))) |
(-.f64 (+.f64 x (-.f64 (+.f64 1 (cos.f64 y)) 1)) (*.f64 z y)) |
(-.f64 (+.f64 x 1) (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y)))))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
(+.f64 -1 (+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y))) |
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y)))))) |
| Outputs |
|---|
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
4 calls:
| 14.0ms | x |
| 14.0ms | z |
| 13.0ms | y |
| 12.0ms | (-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
| Error | Segments | Branch |
|---|---|---|
| 0.1b | 1 | x |
| 0.1b | 1 | y |
| 0.1b | 1 | z |
| 0.1b | 1 | (-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
Compiled 232 to 124 computations (46.6% saved)
| Inputs |
|---|
x |
(+.f64 -1 x) |
(-.f64 x -1) |
(*.f64 z (neg.f64 y)) |
(-.f64 1 (*.f64 y z)) |
(-.f64 x (*.f64 z y)) |
(+.f64 x (-.f64 1 (*.f64 y z))) |
(+.f64 -1 (-.f64 (+.f64 1 (+.f64 x 2)) 1)) |
(cos.f64 y) |
(+.f64 (cos.f64 y) x) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(-.f64 x (*.f64 z (sin.f64 y))) |
(+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x 1))) |
(+.f64 -1 (-.f64 (+.f64 2 (cos.f64 y)) 1)) |
(+.f64 (-.f64 (+.f64 1 (cos.f64 y)) 1) x) |
(-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z y)) |
(*.f64 (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y)))) (neg.f64 z)) |
(+.f64 -1 (-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1)) |
(-.f64 x (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y)))))) |
(-.f64 (+.f64 x 1) (*.f64 z (-.f64 (+.f64 1 (sin.f64 y)) 1))) |
(-.f64 (+.f64 x (-.f64 (+.f64 1 (cos.f64 y)) 1)) (*.f64 z y)) |
(-.f64 (+.f64 x 1) (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y)))))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
| Outputs |
|---|
(-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) x) |
(-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) |
3 calls:
| 787.0ms | y |
| 34.0ms | x |
| 33.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 0.5b | 3 | x |
| 6.7b | 3 | y |
| 0.4b | 3 | z |
Compiled 184 to 104 computations (43.5% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 480.0ms | 2.1872686632363805e-8 | 6.162303252407949e-8 |
| 81.0ms | -3.577370718482088e+33 | -1.9169520782054402e+30 |
| 491.0ms | 117× | body | 256 | valid |
| 63.0ms | 26× | body | 1024 | valid |
| 5.0ms | 17× | body | 512 | valid |
Compiled 218 to 163 computations (25.2% saved)
| Inputs |
|---|
x |
(+.f64 -1 x) |
(-.f64 x -1) |
(*.f64 z (neg.f64 y)) |
(-.f64 1 (*.f64 y z)) |
(-.f64 x (*.f64 z y)) |
(+.f64 x (-.f64 1 (*.f64 y z))) |
(+.f64 -1 (-.f64 (+.f64 1 (+.f64 x 2)) 1)) |
(cos.f64 y) |
(+.f64 (cos.f64 y) x) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(-.f64 x (*.f64 z (sin.f64 y))) |
(+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x 1))) |
(+.f64 -1 (-.f64 (+.f64 2 (cos.f64 y)) 1)) |
(+.f64 (-.f64 (+.f64 1 (cos.f64 y)) 1) x) |
| Outputs |
|---|
(-.f64 x (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) x) |
(-.f64 x (*.f64 z (sin.f64 y))) |
3 calls:
| 200.0ms | y |
| 53.0ms | x |
| 30.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 9.1b | 5 | x |
| 7.2b | 4 | y |
| 2.5b | 3 | z |
Compiled 93 to 57 computations (38.7% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 32.0ms | 7338313.172730743 | 149870060554.7033 |
| 31.0ms | -3.577370718482088e+33 | -1.9169520782054402e+30 |
| 32.0ms | 191× | body | 256 | valid |
| 22.0ms | 45× | body | 1024 | valid |
| 6.0ms | 20× | body | 512 | valid |
Compiled 306 to 221 computations (27.8% saved)
| Inputs |
|---|
x |
(+.f64 -1 x) |
(-.f64 x -1) |
(*.f64 z (neg.f64 y)) |
(-.f64 1 (*.f64 y z)) |
(-.f64 x (*.f64 z y)) |
(+.f64 x (-.f64 1 (*.f64 y z))) |
(+.f64 -1 (-.f64 (+.f64 1 (+.f64 x 2)) 1)) |
(cos.f64 y) |
(+.f64 (cos.f64 y) x) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
| Outputs |
|---|
(*.f64 (sin.f64 y) (neg.f64 z)) |
(+.f64 (cos.f64 y) x) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
3 calls:
| 46.0ms | x |
| 33.0ms | y |
| 29.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 12.5b | 7 | x |
| 11.3b | 5 | y |
| 9.5b | 3 | z |
Compiled 63 to 39 computations (38.1% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 34.0ms | 3.419643350310442e+61 | 4.143322969997955e+64 |
| 47.0ms | -1.8455524438385234e+137 | -1.1702815112371461e+117 |
| 39.0ms | 219× | body | 256 | valid |
| 30.0ms | 55× | body | 1024 | valid |
| 9.0ms | 30× | body | 512 | valid |
Compiled 341 to 260 computations (23.8% saved)
| Inputs |
|---|
x |
(+.f64 -1 x) |
(-.f64 x -1) |
(*.f64 z (neg.f64 y)) |
(-.f64 1 (*.f64 y z)) |
(-.f64 x (*.f64 z y)) |
(+.f64 x (-.f64 1 (*.f64 y z))) |
(+.f64 -1 (-.f64 (+.f64 1 (+.f64 x 2)) 1)) |
(cos.f64 y) |
(+.f64 (cos.f64 y) x) |
| Outputs |
|---|
(+.f64 (cos.f64 y) x) |
(+.f64 x (-.f64 1 (*.f64 y z))) |
(+.f64 (cos.f64 y) x) |
3 calls:
| 20.0ms | y |
| 20.0ms | z |
| 6.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 17.7b | 1 | x |
| 13.3b | 3 | y |
| 14.3b | 3 | z |
Compiled 58 to 36 computations (37.9% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 26.0ms | 2.2672321248419857e-8 | 0.00017573250958829027 |
| 29.0ms | -4423724562333958.5 | -5280360.007553062 |
| 52.0ms | 272× | body | 256 | valid |
Compiled 341 to 251 computations (26.4% saved)
| Inputs |
|---|
x |
(+.f64 -1 x) |
(-.f64 x -1) |
(*.f64 z (neg.f64 y)) |
(-.f64 1 (*.f64 y z)) |
(-.f64 x (*.f64 z y)) |
(+.f64 x (-.f64 1 (*.f64 y z))) |
(+.f64 -1 (-.f64 (+.f64 1 (+.f64 x 2)) 1)) |
(cos.f64 y) |
| Outputs |
|---|
(-.f64 x -1) |
(cos.f64 y) |
(-.f64 x -1) |
3 calls:
| 29.0ms | z |
| 18.0ms | x |
| 17.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 18.1b | 3 | x |
| 20.7b | 3 | y |
| 20.8b | 5 | z |
Compiled 54 to 35 computations (35.2% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 44.0ms | 9.452905440180123e-16 | 7.408727490092422e-10 |
| 48.0ms | -458943229088.4748 | -0.002607335514921187 |
| 45.0ms | 85× | body | 1024 | valid |
| 29.0ms | 176× | body | 256 | valid |
| 12.0ms | 43× | body | 512 | valid |
Compiled 265 to 222 computations (16.2% saved)
| Inputs |
|---|
x |
(+.f64 -1 x) |
(-.f64 x -1) |
(*.f64 z (neg.f64 y)) |
(-.f64 1 (*.f64 y z)) |
(-.f64 x (*.f64 z y)) |
(+.f64 x (-.f64 1 (*.f64 y z))) |
(+.f64 -1 (-.f64 (+.f64 1 (+.f64 x 2)) 1)) |
| Outputs |
|---|
(-.f64 x -1) |
(+.f64 x (-.f64 1 (*.f64 y z))) |
(+.f64 -1 x) |
3 calls:
| 15.0ms | x |
| 15.0ms | y |
| 15.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 21.9b | 3 | x |
| 20.7b | 3 | y |
| 22.0b | 3 | z |
Compiled 52 to 34 computations (34.6% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 29.0ms | 3.572326818729012e+22 | 1.0666845780516216e+34 |
| 24.0ms | -7.145253587169301e+30 | -1.6207689024080748e+27 |
| 49.0ms | 288× | body | 256 | valid |
Compiled 342 to 265 computations (22.5% saved)
| Inputs |
|---|
x |
(+.f64 -1 x) |
(-.f64 x -1) |
(*.f64 z (neg.f64 y)) |
(-.f64 1 (*.f64 y z)) |
(-.f64 x (*.f64 z y)) |
| Outputs |
|---|
(-.f64 x -1) |
(-.f64 1 (*.f64 y z)) |
(-.f64 x -1) |
3 calls:
| 17.0ms | z |
| 13.0ms | x |
| 5.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 22.0b | 3 | x |
| 25.3b | 1 | y |
| 22.6b | 3 | z |
Compiled 36 to 23 computations (36.1% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 49.0ms | 5.679999718801412e-168 | 2.1970533941329772e-144 |
| 35.0ms | -2.5603412135012383e-26 | -4.322801147823336e-30 |
| 38.0ms | 83× | body | 1024 | valid |
| 26.0ms | 165× | body | 256 | valid |
| 16.0ms | 56× | body | 512 | valid |
Compiled 322 to 260 computations (19.3% saved)
| Inputs |
|---|
x |
(+.f64 -1 x) |
(-.f64 x -1) |
(*.f64 z (neg.f64 y)) |
| Outputs |
|---|
(-.f64 x -1) |
(*.f64 z (neg.f64 y)) |
(-.f64 x -1) |
3 calls:
| 11.0ms | x |
| 4.0ms | y |
| 4.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 24.1b | 3 | x |
| 25.3b | 1 | y |
| 25.3b | 1 | z |
Compiled 26 to 18 computations (30.8% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 35.0ms | -2.6498896846216874e-135 | -2.2573638575326593e-138 |
| 33.0ms | -2.5603412135012383e-26 | -4.322801147823336e-30 |
| 31.0ms | 68× | body | 1024 | valid |
| 23.0ms | 148× | body | 256 | valid |
| 12.0ms | 40× | body | 512 | valid |
Compiled 258 to 205 computations (20.5% saved)
| Inputs |
|---|
x |
(+.f64 -1 x) |
(-.f64 x -1) |
| Outputs |
|---|
(-.f64 x -1) |
3 calls:
| 4.0ms | x |
| 3.0ms | z |
| 3.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 25.3b | 1 | x |
| 25.3b | 1 | y |
| 25.3b | 1 | z |
Compiled 22 to 16 computations (27.3% saved)
Total -0.9b remaining (-2.5%)
Threshold costs -0.9b (-2.5%)
| Inputs |
|---|
x |
(+.f64 -1 x) |
| Outputs |
|---|
(+.f64 -1 x) |
3 calls:
| 3.0ms | x |
| 3.0ms | y |
| 3.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 35.7b | 1 | x |
| 35.7b | 1 | y |
| 35.7b | 1 | z |
Compiled 19 to 14 computations (26.3% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 77 | 474 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
(if (<=.f64 z -1950000000000000052848767270912) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) (if (<=.f64 z 944473296573929/18889465931478580854784) (+.f64 (cos.f64 y) x) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))) |
(if (<=.f64 z -1400000000000000039097473842544640) (-.f64 x (*.f64 z (sin.f64 y))) (if (<=.f64 z 55000000000) (+.f64 (cos.f64 y) x) (-.f64 x (*.f64 z (sin.f64 y))))) |
(if (<=.f64 z -85000000000000003317323032006788532090519149869560907038521020311230613419307027823400893412609875032321551318791487488) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 z 17000000000000000800897614359995622290226833626440309991943438336) (+.f64 (cos.f64 y) x) (*.f64 (sin.f64 y) (neg.f64 z)))) |
(if (<=.f64 y -5500000) (+.f64 (cos.f64 y) x) (if (<=.f64 y 1152921504606847/9223372036854775808) (+.f64 x (-.f64 1 (*.f64 y z))) (+.f64 (cos.f64 y) x))) |
(if (<=.f64 x -6110483974416289/2305843009213693952) (-.f64 x -1) (if (<=.f64 x 6034957691516229/309485009821345068724781056) (cos.f64 y) (-.f64 x -1))) |
(if (<=.f64 y -3399999999999999990202105856) (-.f64 x -1) (if (<=.f64 y 1020000000000000041943040) (+.f64 x (-.f64 1 (*.f64 y z))) (+.f64 -1 x))) |
(if (<=.f64 x -8084020134467351/2787593149816327892691964784081045188247552) (-.f64 x -1) (if (<=.f64 x 2712535492840483/29484081443918291814387145163970850710288447034503440846689111720668938768688662906922865040450459121417721679927842538279457692421287442441886205089317937841010900992) (-.f64 1 (*.f64 y z)) (-.f64 x -1))) |
(if (<=.f64 x -6279889847906223/1427247692705959881058285969449495136382746624) (-.f64 x -1) (if (<=.f64 x -8510815580529969/3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376) (*.f64 z (neg.f64 y)) (-.f64 x -1))) |
(-.f64 x -1) |
(+.f64 -1 x) |
x |
| Outputs |
|---|
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
(if (<=.f64 z -1950000000000000052848767270912) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) (if (<=.f64 z 944473296573929/18889465931478580854784) (+.f64 (cos.f64 y) x) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))) |
(if (<=.f64 z -1400000000000000039097473842544640) (-.f64 x (*.f64 z (sin.f64 y))) (if (<=.f64 z 55000000000) (+.f64 (cos.f64 y) x) (-.f64 x (*.f64 z (sin.f64 y))))) |
(if (<=.f64 z -85000000000000003317323032006788532090519149869560907038521020311230613419307027823400893412609875032321551318791487488) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 z 17000000000000000800897614359995622290226833626440309991943438336) (+.f64 (cos.f64 y) x) (*.f64 (sin.f64 y) (neg.f64 z)))) |
(if (<=.f64 y -5500000) (+.f64 (cos.f64 y) x) (if (<=.f64 y 1152921504606847/9223372036854775808) (+.f64 x (-.f64 1 (*.f64 y z))) (+.f64 (cos.f64 y) x))) |
(if (<=.f64 x -6110483974416289/2305843009213693952) (-.f64 x -1) (if (<=.f64 x 6034957691516229/309485009821345068724781056) (cos.f64 y) (-.f64 x -1))) |
(if (<=.f64 y -3399999999999999990202105856) (-.f64 x -1) (if (<=.f64 y 1020000000000000041943040) (+.f64 x (-.f64 1 (*.f64 y z))) (+.f64 -1 x))) |
(if (<=.f64 x -8084020134467351/2787593149816327892691964784081045188247552) (-.f64 x -1) (if (<=.f64 x 2712535492840483/29484081443918291814387145163970850710288447034503440846689111720668938768688662906922865040450459121417721679927842538279457692421287442441886205089317937841010900992) (-.f64 1 (*.f64 y z)) (-.f64 x -1))) |
(if (<=.f64 x -6279889847906223/1427247692705959881058285969449495136382746624) (-.f64 x -1) (if (<=.f64 x -8510815580529969/3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376) (*.f64 z (neg.f64 y)) (-.f64 x -1))) |
(-.f64 x -1) |
(+.f64 -1 x) |
x |
Compiled 223 to 145 computations (35% saved)
Compiled 190 to 97 computations (48.9% saved)
Loading profile data...