Time bar (total: 8.4s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 0 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 1 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 2 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 3 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 4 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 5 |
| 0% | 0% | 99.9% | 0.1% | 0% | 0% | 0% | 6 |
| 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)
| 1.2s | 6305× | body | 256 | valid |
| 768.0ms | 1277× | body | 1024 | valid |
| 363.0ms | 670× | body | 512 | valid |
| 4.0ms | 4× | 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 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (cos.f64 y) |
| ✓ | 0.0b | (-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
| ✓ | 0.1b | (*.f64 z (sin.f64 y)) |
Compiled 27 to 8 computations (70.4% saved)
18 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 182.0ms | y | @ | 0 | (*.f64 z (sin.f64 y)) |
| 1.0ms | z | @ | 0 | (*.f64 z (sin.f64 y)) |
| 1.0ms | x | @ | 0 | (-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
| 1.0ms | y | @ | inf | (-.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 | 43 |
| 1 | 114 | 43 |
| 2 | 335 | 43 |
| 3 | 761 | 43 |
| 4 | 1734 | 43 |
| 5 | 4197 | 43 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 z (sin.f64 y)) |
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
(cos.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 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))))))))) |
((#(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 -1 (-.f64 1 (cos.f64 (-.f64 (PI.f64) y))))))) (#(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 (cos.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (cos.f64 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 y) 2) 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) 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 1/4 (*.f64 (cos.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 y) 4) 4)))) (#(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 |
| 1418× | rational.json-simplify-35 |
| 1226× | rational.json-simplify-52 |
| 1170× | rational.json-simplify-45 |
| 1104× | rational.json-simplify-48 |
| 960× | rational.json-simplify-51 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 185 | 2399 |
| 1 | 395 | 2393 |
| 2 | 931 | 2375 |
| 3 | 2354 | 2349 |
| 4 | 4116 | 2349 |
| 5 | 5444 | 2349 |
| 6 | 7022 | 2349 |
| 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))))) |
(-.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)) |
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 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 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)))) |
(+.f64 (cos.f64 y) 0) |
(+.f64 0 (cos.f64 y)) |
(+.f64 -1 (-.f64 1 (cos.f64 (-.f64 (PI.f64) y)))) |
(+.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 (cos.f64 y) 1) |
(*.f64 1 (cos.f64 y)) |
(*.f64 2 (*.f64 (cos.f64 y) 1/2)) |
(*.f64 (*.f64 (cos.f64 y) 2) 1/2) |
(*.f64 4 (/.f64 (cos.f64 y) 4)) |
(*.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 1/4 (*.f64 (cos.f64 y) 4)) |
(*.f64 (/.f64 (cos.f64 y) 4) 4) |
(*.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 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 y z) (+.f64 (*.f64 (pow.f64 y 5) (*.f64 z 1/120)) (*.f64 -1/6 (*.f64 z (pow.f64 y 3))))) |
(+.f64 (*.f64 y z) (+.f64 (*.f64 z (*.f64 -1/6 (pow.f64 y 3))) (*.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 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (*.f64 1/120 (pow.f64 y 5))))) |
(*.f64 z (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))) |
(+.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 (pow.f64 y 5) (*.f64 z 1/120)) (*.f64 (pow.f64 y 7) (*.f64 z -1/5040))) (*.f64 -1/6 (*.f64 z (pow.f64 y 3))))) |
(+.f64 (*.f64 z (*.f64 -1/6 (pow.f64 y 3))) (+.f64 (*.f64 y z) (+.f64 (*.f64 z (*.f64 1/120 (pow.f64 y 5))) (*.f64 z (*.f64 (pow.f64 y 7) -1/5040))))) |
(+.f64 (*.f64 (pow.f64 y 5) (*.f64 z 1/120)) (+.f64 (*.f64 z (+.f64 y (*.f64 -1/5040 (pow.f64 y 7)))) (*.f64 (pow.f64 y 3) (*.f64 z -1/6)))) |
(+.f64 (*.f64 (pow.f64 y 3) (*.f64 z -1/6)) (*.f64 z (+.f64 (*.f64 -1/5040 (pow.f64 y 7)) (+.f64 y (*.f64 1/120 (pow.f64 y 5)))))) |
(+.f64 (*.f64 z (*.f64 -1/6 (pow.f64 y 3))) (*.f64 z (+.f64 (*.f64 -1/5040 (pow.f64 y 7)) (+.f64 y (*.f64 1/120 (pow.f64 y 5)))))) |
(-.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) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
x |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
x |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.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 y (neg.f64 z)))) |
(+.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 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 y (*.f64 z -1))))) |
(+.f64 1 (+.f64 x (+.f64 (*.f64 y (neg.f64 z)) (*.f64 -1/2 (pow.f64 y 2))))) |
(+.f64 x (+.f64 (+.f64 (*.f64 y (neg.f64 z)) (*.f64 -1/2 (pow.f64 y 2))) 1)) |
(+.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 y (neg.f64 z)) (+.f64 x (+.f64 (*.f64 z (*.f64 1/6 (pow.f64 y 3))) (*.f64 -1/2 (pow.f64 y 2)))))) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (-.f64 (+.f64 x (+.f64 (*.f64 z (*.f64 (pow.f64 y 3) 1/6)) (*.f64 y (neg.f64 z)))) -1)) |
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 z (+.f64 (neg.f64 y) (*.f64 (pow.f64 y 3) 1/6))) (+.f64 x 1))) |
(+.f64 1 (+.f64 (+.f64 x (*.f64 -1/2 (pow.f64 y 2))) (*.f64 z (+.f64 (*.f64 (pow.f64 y 3) 1/6) (neg.f64 y))))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.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) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.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) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.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) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.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/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)) -1)) |
(+.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 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (-.f64 (*.f64 1/24 (pow.f64 y 4)) -1)) (*.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/2 (pow.f64 y 2)) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (*.f64 1/24 (pow.f64 y 4))))) |
(+.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 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.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) (*.f64 z (sin.f64 y))) x) |
(-.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 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 0) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 0 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 -1 (+.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) 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 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (neg.f64 (*.f64 z (sin.f64 y))) (+.f64 x (cos.f64 y))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(+.f64 (+.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))) -1) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) 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 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(*.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(*.f64 -1 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2) 1/2) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(*.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))) -1) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 1/4) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2) 2) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(*.f64 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 4) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2) 2) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(/.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))) -1) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 4) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(/.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))) -2) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)) 8) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) -4) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) 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 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(/.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) 2) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) 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 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) 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 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) |
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y))) |
(neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x) |
(+.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) 0) |
(cos.f64 y) |
(+.f64 0 (cos.f64 y)) |
(cos.f64 y) |
(+.f64 -1 (-.f64 1 (cos.f64 (-.f64 (PI.f64) y)))) |
(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 (cos.f64 y) 1) |
(cos.f64 y) |
(*.f64 1 (cos.f64 y)) |
(cos.f64 y) |
(*.f64 2 (*.f64 (cos.f64 y) 1/2)) |
(cos.f64 y) |
(*.f64 (*.f64 (cos.f64 y) 2) 1/2) |
(cos.f64 y) |
(*.f64 4 (/.f64 (cos.f64 y) 4)) |
(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 1/4 (*.f64 (cos.f64 y) 4)) |
(cos.f64 y) |
(*.f64 (/.f64 (cos.f64 y) 4) 4) |
(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) |
Compiled 1879 to 891 computations (52.6% saved)
8 alts after pruning (7 fresh and 1 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 119 | 7 | 126 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 0 | 0 |
| Total | 119 | 8 | 127 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.1b | (-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
| ▶ | 7.3b | (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) |
| 26.3b | (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) | |
| ▶ | 16.8b | (+.f64 (cos.f64 y) x) |
| ▶ | 24.4b | (+.f64 x (-.f64 1 (*.f64 y z))) |
| ▶ | 23.5b | (+.f64 x 1) |
| ▶ | 46.3b | (*.f64 z (neg.f64 (sin.f64 y))) |
| 36.8b | x |
Compiled 120 to 87 computations (27.5% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.1b | (*.f64 z (sin.f64 y)) |
Compiled 24 to 11 computations (54.2% saved)
Compiled 8 to 6 computations (25% saved)
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 | 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 | z | @ | -inf | (+.f64 x (-.f64 1 (*.f64 y z))) |
| 0.0ms | y | @ | 0 | (+.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 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (cos.f64 y) |
Compiled 11 to 5 computations (54.5% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.1b | (*.f64 z (neg.f64 (sin.f64 y))) |
Compiled 15 to 6 computations (60% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | z | @ | 0 | (*.f64 z (neg.f64 (sin.f64 y))) |
| 0.0ms | y | @ | inf | (*.f64 z (neg.f64 (sin.f64 y))) |
| 0.0ms | y | @ | -inf | (*.f64 z (neg.f64 (sin.f64 y))) |
| 0.0ms | y | @ | 0 | (*.f64 z (neg.f64 (sin.f64 y))) |
| 0.0ms | z | @ | inf | (*.f64 z (neg.f64 (sin.f64 y))) |
| 1× | batch-egg-rewrite |
| 1910× | bool.json-1 |
| 1910× | bool.json-2 |
| 982× | rational.json-1 |
| 982× | rational.json-2 |
| 982× | rational.json-4 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 15 |
| 1 | 88 | 15 |
| 2 | 283 | 15 |
| 3 | 651 | 15 |
| 4 | 1465 | 15 |
| 5 | 3419 | 15 |
| 6 | 7374 | 15 |
| 1× | node limit |
| Inputs |
|---|
(*.f64 z (neg.f64 (sin.f64 y))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (neg.f64 (sin.f64 y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (neg.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.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 (neg.f64 (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 (neg.f64 (sin.f64 y))) 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 z (*.f64 (sin.f64 y) -4)) 4)))) (#(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 (neg.f64 (sin.f64 y))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) 8)) (*.f64 2 (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 z (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 z (neg.f64 (sin.f64 y))) (*.f64 z (neg.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 z (neg.f64 (sin.f64 y))) (*.f64 z (neg.f64 (sin.f64 y)))))))) |
| 1× | egg-herbie |
| 1764× | rational.json-simplify-35 |
| 1454× | rational.json-simplify-48 |
| 1250× | rational.json-simplify-53 |
| 952× | rational.json-simplify-1 |
| 756× | rational.json-simplify-43 |
Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 66 | 706 |
| 1 | 151 | 698 |
| 2 | 333 | 698 |
| 3 | 748 | 674 |
| 4 | 2546 | 674 |
| 5 | 3567 | 674 |
| 6 | 4591 | 674 |
| 7 | 5547 | 674 |
| 8 | 6841 | 674 |
| 9 | 7211 | 674 |
| 10 | 7521 | 674 |
| 11 | 7668 | 674 |
| 12 | 7760 | 674 |
| 13 | 7926 | 674 |
| 1× | node limit |
| Inputs |
|---|
(*.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 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 (*.f64 z (neg.f64 (sin.f64 y))) 0) |
(+.f64 0 (*.f64 z (neg.f64 (sin.f64 y)))) |
(+.f64 -1 (-.f64 1 (*.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 (neg.f64 (sin.f64 y))) 0) |
(-.f64 0 (*.f64 z (sin.f64 y))) |
(/.f64 (*.f64 z (neg.f64 (sin.f64 y))) 1) |
(/.f64 (*.f64 (sin.f64 y) (*.f64 z -2)) 2) |
(/.f64 (*.f64 z (*.f64 (sin.f64 y) -4)) 4) |
(/.f64 (*.f64 z (sin.f64 y)) -1) |
(/.f64 (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) 8) 8) |
(/.f64 (*.f64 2 (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) 8)) 16) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) 8)) (*.f64 2 (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) 8))) 32) |
(neg.f64 (*.f64 z (sin.f64 y))) |
| Outputs |
|---|
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 -1 (*.f64 y z)) |
(*.f64 -1 (*.f64 z y)) |
(*.f64 y (neg.f64 z)) |
(*.f64 z (neg.f64 y)) |
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z))) |
(+.f64 (*.f64 -1 (*.f64 z y)) (*.f64 1/6 (*.f64 z (pow.f64 y 3)))) |
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 (pow.f64 y 3) (*.f64 z 1/6))) |
(+.f64 (*.f64 z (neg.f64 y)) (*.f64 1/6 (*.f64 z (pow.f64 y 3)))) |
(*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (neg.f64 y))) |
(*.f64 z (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3)))) |
(+.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 (*.f64 z y)) (+.f64 (*.f64 1/6 (*.f64 z (pow.f64 y 3))) (*.f64 -1/120 (*.f64 z (pow.f64 y 5))))) |
(+.f64 (*.f64 y (neg.f64 z)) (+.f64 (*.f64 (pow.f64 y 3) (*.f64 z 1/6)) (*.f64 z (*.f64 -1/120 (pow.f64 y 5))))) |
(+.f64 (*.f64 z (neg.f64 y)) (+.f64 (*.f64 1/6 (*.f64 z (pow.f64 y 3))) (*.f64 z (*.f64 -1/120 (pow.f64 y 5))))) |
(+.f64 (*.f64 z (neg.f64 y)) (*.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 -1 (*.f64 z y)) (+.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 (pow.f64 y 3) (*.f64 z 1/6)) (*.f64 z (*.f64 -1/120 (pow.f64 y 5)))) (*.f64 z (*.f64 1/5040 (pow.f64 y 7))))) |
(+.f64 (+.f64 (*.f64 1/6 (*.f64 z (pow.f64 y 3))) (*.f64 z (*.f64 -1/120 (pow.f64 y 5)))) (+.f64 (*.f64 z (neg.f64 y)) (*.f64 z (*.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 (*.f64 z (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3)))) (*.f64 z (+.f64 (*.f64 1/5040 (pow.f64 y 7)) (*.f64 -1/120 (pow.f64 y 5))))) |
(+.f64 (*.f64 z (+.f64 (neg.f64 y) (*.f64 -1/120 (pow.f64 y 5)))) (*.f64 z (+.f64 (*.f64 1/5040 (pow.f64 y 7)) (*.f64 1/6 (pow.f64 y 3))))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(+.f64 (*.f64 z (neg.f64 (sin.f64 y))) 0) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(+.f64 0 (*.f64 z (neg.f64 (sin.f64 y)))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(+.f64 -1 (-.f64 1 (*.f64 z (sin.f64 y)))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(+.f64 (*.f64 z (*.f64 (sin.f64 y) -1/2)) (*.f64 z (*.f64 (sin.f64 y) -1/2))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(-.f64 (*.f64 z (neg.f64 (sin.f64 y))) 0) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(-.f64 0 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(/.f64 (*.f64 z (neg.f64 (sin.f64 y))) 1) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(/.f64 (*.f64 (sin.f64 y) (*.f64 z -2)) 2) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(/.f64 (*.f64 z (*.f64 (sin.f64 y) -4)) 4) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(/.f64 (*.f64 z (sin.f64 y)) -1) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(/.f64 (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) 8) 8) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(/.f64 (*.f64 2 (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) 8)) 16) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) 8)) (*.f64 2 (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) 8))) 32) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(*.f64 (sin.f64 y) (neg.f64 z)) |
Compiled 1770 to 1120 computations (36.7% saved)
10 alts after pruning (4 fresh and 6 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 138 | 2 | 140 |
| Fresh | 0 | 2 | 2 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 5 | 5 |
| Total | 138 | 10 | 148 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.1b | (-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
| ✓ | 7.3b | (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) |
| ▶ | 26.3b | (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
| ▶ | 44.9b | (-.f64 1 (*.f64 y z)) |
| ✓ | 16.8b | (+.f64 (cos.f64 y) x) |
| ✓ | 24.4b | (+.f64 x (-.f64 1 (*.f64 y z))) |
| ✓ | 23.5b | (+.f64 x 1) |
| ✓ | 46.3b | (*.f64 z (neg.f64 (sin.f64 y))) |
| ▶ | 57.7b | (*.f64 z (neg.f64 y)) |
| 36.8b | x |
Compiled 83 to 60 computations (27.7% saved)
Compiled 11 to 5 computations (54.5% saved)
Compiled 14 to 7 computations (50% saved)
Found 3 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (cos.f64 y) | |
| ✓ | 0.0b | (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
| 0.1b | (*.f64 z (sin.f64 y)) |
Compiled 20 to 7 computations (65% saved)
6 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | y | @ | 0 | (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
| 0.0ms | y | @ | inf | (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
| 0.0ms | y | @ | -inf | (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
| 0.0ms | z | @ | inf | (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
| 0.0ms | z | @ | -inf | (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
| 1× | batch-egg-rewrite |
| 1850× | bool.json-1 |
| 1850× | bool.json-2 |
| 1236× | bool.json-3 |
| 910× | rational.json-1 |
| 910× | rational.json-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 9 | 21 |
| 1 | 93 | 21 |
| 2 | 280 | 21 |
| 3 | 626 | 21 |
| 4 | 1365 | 21 |
| 5 | 3125 | 21 |
| 6 | 6987 | 21 |
| 1× | node limit |
| Inputs |
|---|
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 z (sin.f64 y))) (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -2) (/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (*.f64 z (sin.f64 y))) (-.f64 1 (neg.f64 (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 (sin.f64 y) (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 (cos.f64 y) 2) (*.f64 z (*.f64 (sin.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 8)) (*.f64 2 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)))) (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))))))) |
| 1× | egg-herbie |
| 1800× | rational.json-simplify-35 |
| 1796× | rational.json-simplify-1 |
| 1710× | rational.json-simplify-52 |
| 1040× | rational.json-simplify-2 |
| 784× | rational.json-simplify-26 |
Useful iterations: 5 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 98 | 1228 |
| 1 | 210 | 1222 |
| 2 | 446 | 1222 |
| 3 | 978 | 1208 |
| 4 | 1911 | 1208 |
| 5 | 2636 | 1036 |
| 6 | 3714 | 1036 |
| 7 | 4315 | 1036 |
| 8 | 4628 | 1036 |
| 9 | 4989 | 1036 |
| 10 | 5532 | 1036 |
| 11 | 6472 | 1036 |
| 12 | 7912 | 1036 |
| 1× | node limit |
| Inputs |
|---|
1 |
(+.f64 1 (*.f64 -1 (*.f64 y z))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (pow.f64 y 2)))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))) |
(cos.f64 y) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y)) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y)) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y)) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y)) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y)) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y)) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y)) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y)) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y)) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 0) |
(+.f64 0 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(+.f64 -1 (+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 1)) |
(+.f64 (neg.f64 (*.f64 z (sin.f64 y))) (cos.f64 y)) |
(+.f64 (+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 1) -1) |
(+.f64 (/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -2) (/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -2)) |
(+.f64 (-.f64 -1 (*.f64 z (sin.f64 y))) (-.f64 1 (neg.f64 (cos.f64 y)))) |
(*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 1) |
(*.f64 1 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(*.f64 -1 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))) |
(*.f64 2 (/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -2)) |
(*.f64 2 (-.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 (sin.f64 y) (*.f64 z 1/2)))) |
(*.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 2) 1/2) |
(*.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -1) |
(*.f64 4 (/.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4)) |
(*.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4) 1/4) |
(*.f64 1/2 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 2)) |
(*.f64 1/2 (-.f64 (*.f64 (cos.f64 y) 2) (*.f64 z (*.f64 (sin.f64 y) 2)))) |
(*.f64 (/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -2) 2) |
(*.f64 1/4 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4)) |
(*.f64 (/.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4) 4) |
(/.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 1) |
(/.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 2) 2) |
(/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -1) |
(/.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4) 4) |
(/.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))) -2) |
(/.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 8) 8) |
(/.f64 (*.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) 4) -4) |
(/.f64 (*.f64 2 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 8)) 16) |
(/.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)))) 2) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 8)) (*.f64 2 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 8))) 32) |
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)))) (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))))) 4) |
(neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))) |
| Outputs |
|---|
1 |
(+.f64 1 (*.f64 -1 (*.f64 y z))) |
(+.f64 1 (*.f64 z (neg.f64 y))) |
(+.f64 1 (neg.f64 (*.f64 y z))) |
(-.f64 1 (*.f64 y z)) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (pow.f64 y 2)))) |
(+.f64 1 (+.f64 (*.f64 z (neg.f64 y)) (*.f64 -1/2 (pow.f64 y 2)))) |
(+.f64 1 (+.f64 (neg.f64 (*.f64 y z)) (*.f64 -1/2 (pow.f64 y 2)))) |
(+.f64 (-.f64 1 (*.f64 y z)) (*.f64 -1/2 (pow.f64 y 2))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))) |
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/6 (*.f64 z (pow.f64 y 3)))))) |
(+.f64 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 (pow.f64 y 3) (*.f64 z 1/6))) (+.f64 1 (*.f64 z (neg.f64 y)))) |
(+.f64 1 (+.f64 (neg.f64 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/6 (*.f64 z (pow.f64 y 3)))))) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (neg.f64 y))))) |
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 z (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3)))))) |
(+.f64 (*.f64 z (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3)))) (+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))) |
(cos.f64 y) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y)) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y)) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y)) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y)) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y)) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y)) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(*.f64 -1 (*.f64 z (sin.f64 y))) |
(neg.f64 (*.f64 z (sin.f64 y))) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y)) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y)) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y)) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 0) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(+.f64 0 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(+.f64 -1 (+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 1)) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(+.f64 (neg.f64 (*.f64 z (sin.f64 y))) (cos.f64 y)) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(+.f64 (+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 1) -1) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(+.f64 (/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -2) (/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -2)) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(+.f64 (-.f64 -1 (*.f64 z (sin.f64 y))) (-.f64 1 (neg.f64 (cos.f64 y)))) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 1) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(*.f64 1 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(*.f64 -1 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(*.f64 2 (/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -2)) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(*.f64 2 (-.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 (sin.f64 y) (*.f64 z 1/2)))) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(*.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 2) 1/2) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(*.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -1) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(*.f64 4 (/.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4)) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(*.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4) 1/4) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(*.f64 1/2 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 2)) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(*.f64 1/2 (-.f64 (*.f64 (cos.f64 y) 2) (*.f64 z (*.f64 (sin.f64 y) 2)))) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(*.f64 (/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -2) 2) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(*.f64 1/4 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4)) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(*.f64 (/.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4) 4) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(/.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 1) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(/.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 2) 2) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -1) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(/.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4) 4) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(/.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))) -2) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(/.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 8) 8) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(/.f64 (*.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) 4) -4) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(/.f64 (*.f64 2 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 8)) 16) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(/.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)))) 2) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 8)) (*.f64 2 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 8))) 32) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)))) (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))))) 4) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))) |
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y)))) |
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y)))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
Compiled 1617 to 833 computations (48.5% saved)
12 alts after pruning (3 fresh and 9 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 119 | 2 | 121 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 8 | 8 |
| Total | 119 | 12 | 131 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.1b | (-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
| ✓ | 7.3b | (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) |
| ✓ | 26.3b | (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
| ✓ | 44.9b | (-.f64 1 (*.f64 y z)) |
| ✓ | 16.8b | (+.f64 (cos.f64 y) x) |
| ✓ | 24.4b | (+.f64 x (-.f64 1 (*.f64 y z))) |
| ✓ | 23.5b | (+.f64 x 1) |
| ✓ | 46.3b | (*.f64 z (neg.f64 (sin.f64 y))) |
| ✓ | 57.7b | (*.f64 z (neg.f64 y)) |
| ▶ | 42.5b | (cos.f64 y) |
| 36.8b | x | |
| 49.0b | 1 |
Compiled 92 to 68 computations (26.1% saved)
Found 1 expressions with local error:
| New | Error | Program |
|---|---|---|
| 0.0b | (cos.f64 y) |
Compiled 6 to 4 computations (33.3% saved)
Compiled 308 to 224 computations (27.3% saved)
12 alts after pruning (2 fresh and 10 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 36 | 0 | 36 |
| Fresh | 0 | 2 | 2 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 9 | 9 |
| Total | 36 | 12 | 48 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.1b | (-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
| ✓ | 7.3b | (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) |
| ✓ | 26.3b | (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
| ✓ | 44.9b | (-.f64 1 (*.f64 y z)) |
| ✓ | 16.8b | (+.f64 (cos.f64 y) x) |
| ✓ | 24.4b | (+.f64 x (-.f64 1 (*.f64 y z))) |
| ✓ | 23.5b | (+.f64 x 1) |
| ✓ | 46.3b | (*.f64 z (neg.f64 (sin.f64 y))) |
| ✓ | 57.7b | (*.f64 z (neg.f64 y)) |
| ✓ | 42.5b | (cos.f64 y) |
| 36.8b | x | |
| 49.0b | 1 |
Compiled 92 to 68 computations (26.1% saved)
| Inputs |
|---|
1 |
x |
(+.f64 x 1) |
(*.f64 z (neg.f64 y)) |
(-.f64 1 (*.f64 y z)) |
(+.f64 x (-.f64 1 (*.f64 y z))) |
(cos.f64 y) |
(+.f64 (cos.f64 y) x) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) |
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
| Outputs |
|---|
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
4 calls:
| 654.0ms | y |
| 7.0ms | z |
| 7.0ms | x |
| 7.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 83 to 43 computations (48.2% saved)
| Inputs |
|---|
1 |
x |
(+.f64 x 1) |
(*.f64 z (neg.f64 y)) |
(-.f64 1 (*.f64 y z)) |
(+.f64 x (-.f64 1 (*.f64 y z))) |
(cos.f64 y) |
(+.f64 (cos.f64 y) x) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(-.f64 (+.f64 x 1) (*.f64 z (sin.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) (*.f64 z (sin.f64 y))) |
(-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) |
3 calls:
| 19.0ms | x |
| 19.0ms | z |
| 7.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 0.5b | 3 | x |
| 7.3b | 1 | y |
| 0.7b | 3 | z |
Compiled 62 to 33 computations (46.8% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 18.0ms | 8.020692147270294e-28 | 3.562816848213261e-27 |
| 28.0ms | -2.8172710865107615 | -0.024515808889069374 |
| 18.0ms | 116× | body | 256 | valid |
| 18.0ms | 42× | body | 1024 | valid |
| 8.0ms | 18× | body | 512 | valid |
Compiled 271 to 200 computations (26.2% saved)
| Inputs |
|---|
1 |
x |
(+.f64 x 1) |
(*.f64 z (neg.f64 y)) |
(-.f64 1 (*.f64 y z)) |
(+.f64 x (-.f64 1 (*.f64 y z))) |
(cos.f64 y) |
(+.f64 (cos.f64 y) x) |
(*.f64 z (neg.f64 (sin.f64 y))) |
(-.f64 (+.f64 x 1) (*.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:
| 18.0ms | x |
| 17.0ms | z |
| 7.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 6.1b | 3 | x |
| 7.3b | 1 | y |
| 0.7b | 3 | z |
Compiled 55 to 32 computations (41.8% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 10.0ms | 0.004389055584836638 | 0.13773444996912138 |
| 28.0ms | -518.6016422963615 | -0.06385495578161579 |
| 23.0ms | 139× | body | 256 | valid |
| 10.0ms | 24× | body | 1024 | valid |
| 4.0ms | 13× | body | 512 | valid |
Compiled 238 to 178 computations (25.2% saved)
| Inputs |
|---|
1 |
x |
(+.f64 x 1) |
(*.f64 z (neg.f64 y)) |
(-.f64 1 (*.f64 y z)) |
(+.f64 x (-.f64 1 (*.f64 y z))) |
(cos.f64 y) |
(+.f64 (cos.f64 y) x) |
(*.f64 z (neg.f64 (sin.f64 y))) |
| Outputs |
|---|
(*.f64 z (neg.f64 (sin.f64 y))) |
(+.f64 (cos.f64 y) x) |
(*.f64 z (neg.f64 (sin.f64 y))) |
3 calls:
| 17.0ms | y |
| 17.0ms | x |
| 16.0ms | z |
| Error | Segments | Branch |
|---|---|---|
| 14.9b | 3 | x |
| 12.5b | 3 | y |
| 6.5b | 3 | z |
Compiled 47 to 28 computations (40.4% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 21.0ms | 1.732750873226534e+71 | 7.698859489509765e+71 |
| 23.0ms | -2.747994099914352e+223 | -5.636806999643287e+222 |
| 22.0ms | 142× | body | 256 | valid |
| 14.0ms | 30× | body | 1024 | valid |
| 6.0ms | 20× | body | 512 | valid |
Compiled 222 to 169 computations (23.9% saved)
| Inputs |
|---|
1 |
x |
(+.f64 x 1) |
(*.f64 z (neg.f64 y)) |
(-.f64 1 (*.f64 y z)) |
(+.f64 x (-.f64 1 (*.f64 y z))) |
(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:
| 16.0ms | z |
| 15.0ms | y |
| 15.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 15.7b | 3 | x |
| 12.5b | 3 | y |
| 12.9b | 3 | z |
Compiled 42 to 25 computations (40.5% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 28.0ms | 0.9895587613212368 | 15978125019.606092 |
| 23.0ms | -2892304.4344630404 | -460.64730039333045 |
| 48.0ms | 288× | body | 256 | valid |
Compiled 360 to 265 computations (26.4% saved)
| Inputs |
|---|
1 |
x |
(+.f64 x 1) |
(*.f64 z (neg.f64 y)) |
(-.f64 1 (*.f64 y z)) |
(+.f64 x (-.f64 1 (*.f64 y z))) |
(cos.f64 y) |
| Outputs |
|---|
(+.f64 x 1) |
(cos.f64 y) |
(+.f64 x (-.f64 1 (*.f64 y z))) |
(cos.f64 y) |
(+.f64 x 1) |
3 calls:
| 137.0ms | x |
| 24.0ms | z |
| 15.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 16.0b | 5 | x |
| 18.9b | 3 | y |
| 18.6b | 5 | z |
Compiled 38 to 24 computations (36.8% saved)
| 4× | binary-search |
| Time | Left | Right |
|---|---|---|
| 29.0ms | 3.562816848213261e-27 | 2.4895900464054025e-25 |
| 46.0ms | 1.2454164087307464e-234 | 1.3636964875183497e-223 |
| 29.0ms | -1.7777880875634243e-200 | -1.9097651610454688e-202 |
| 29.0ms | -2.8172710865107615 | -0.024515808889069374 |
| 58.0ms | 122× | body | 1024 | valid |
| 50.0ms | 313× | body | 256 | valid |
| 19.0ms | 61× | body | 512 | valid |
Compiled 489 to 388 computations (20.7% saved)
| Inputs |
|---|
1 |
x |
(+.f64 x 1) |
(*.f64 z (neg.f64 y)) |
(-.f64 1 (*.f64 y z)) |
(+.f64 x (-.f64 1 (*.f64 y z))) |
| Outputs |
|---|
(+.f64 x 1) |
(+.f64 x (-.f64 1 (*.f64 y z))) |
(+.f64 x 1) |
3 calls:
| 16.0ms | z |
| 14.0ms | x |
| 14.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 20.3b | 3 | x |
| 19.0b | 3 | y |
| 19.6b | 3 | z |
Compiled 36 to 23 computations (36.1% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 20.0ms | 2.8070194461771254e+50 | 1.9747328548579293e+52 |
| 23.0ms | -8.956085671780674e+51 | -1.1781472414483397e+48 |
| 40.0ms | 240× | body | 256 | valid |
Compiled 288 to 223 computations (22.6% saved)
| Inputs |
|---|
1 |
x |
(+.f64 x 1) |
(*.f64 z (neg.f64 y)) |
(-.f64 1 (*.f64 y z)) |
| Outputs |
|---|
(*.f64 z (neg.f64 y)) |
(+.f64 x 1) |
(-.f64 1 (*.f64 y z)) |
x |
3 calls:
| 16.0ms | z |
| 12.0ms | x |
| 4.0ms | y |
| Error | Segments | Branch |
|---|---|---|
| 20.7b | 3 | x |
| 23.5b | 1 | y |
| 20.6b | 4 | z |
Compiled 29 to 20 computations (31% saved)
| 3× | binary-search |
| Time | Left | Right |
|---|---|---|
| 32.0ms | 4.342581674359666e+303 | 2.6023531364453597e+306 |
| 22.0ms | 5.745112206562561e+83 | 2.7018031384172097e+84 |
| 34.0ms | -2.701630638667712e+232 | -2.747994099914352e+223 |
| 40.0ms | 255× | body | 256 | valid |
| 32.0ms | 73× | body | 1024 | valid |
| 11.0ms | 40× | body | 512 | valid |
Compiled 361 to 287 computations (20.5% saved)
| Inputs |
|---|
1 |
x |
(+.f64 x 1) |
(*.f64 z (neg.f64 y)) |
| Outputs |
|---|
(*.f64 z (neg.f64 y)) |
(+.f64 x 1) |
3 calls:
| 8.0ms | z |
| 6.0ms | y |
| 4.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 23.5b | 1 | x |
| 23.5b | 1 | y |
| 21.8b | 2 | z |
Compiled 24 to 17 computations (29.2% saved)
| 1× | binary-search |
| Time | Left | Right |
|---|---|---|
| 36.0ms | -2.701630638667712e+232 | -2.747994099914352e+223 |
| 14.0ms | 90× | body | 256 | valid |
| 13.0ms | 30× | body | 1024 | valid |
| 7.0ms | 24× | body | 512 | valid |
Compiled 153 to 121 computations (20.9% saved)
| Inputs |
|---|
1 |
x |
(+.f64 x 1) |
| Outputs |
|---|
(+.f64 x 1) |
3 calls:
| 4.0ms | z |
| 3.0ms | y |
| 3.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 23.5b | 1 | x |
| 23.5b | 1 | y |
| 23.5b | 1 | z |
Compiled 20 to 15 computations (25% saved)
Total -38.4b remaining (-161.8%)
Threshold costs -38.4b (-161.8%)
| Inputs |
|---|
1 |
x |
| Outputs |
|---|
x |
1 |
x |
3 calls:
| 19.0ms | y |
| 14.0ms | z |
| 9.0ms | x |
| Error | Segments | Branch |
|---|---|---|
| 23.8b | 3 | x |
| 32.0b | 7 | y |
| 34.4b | 5 | z |
Compiled 17 to 13 computations (23.5% saved)
| 2× | binary-search |
| Time | Left | Right |
|---|---|---|
| 50.0ms | 1.0713221835621463e-11 | 1332325900467.5364 |
| 34.0ms | -3.3907633680382184e-6 | -5.39940538618472e-9 |
| 34.0ms | 80× | body | 1024 | valid |
| 25.0ms | 162× | body | 256 | valid |
| 18.0ms | 59× | body | 512 | valid |
| 3.0ms | 3× | body | 2048 | valid |
Compiled 208 to 184 computations (11.5% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 83 | 550 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
(if (<=.f64 x -3602879701896397/144115188075855872) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) (if (<=.f64 x 1045347431181123/348449143727040986586495598010130648530944) (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))) |
(if (<=.f64 z -3039929748475085/2251799813685248) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) (if (<=.f64 z 3602879701896397/36028797018963968) (+.f64 (cos.f64 y) x) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))) |
(if (<=.f64 z -5699999999999999944577084249238382192094665210453594988130606504799884218148470382373604432699478663643801364498212798397898671270518023160096839279450507605988563478198240431427194802578584988364155583966086909792866009088) (*.f64 z (neg.f64 (sin.f64 y))) (if (<=.f64 z 359999999999999995461406280032747478250074244466564231611773212300410880) (+.f64 (cos.f64 y) x) (*.f64 z (neg.f64 (sin.f64 y))))) |
(if (<=.f64 y -470) (+.f64 (cos.f64 y) x) (if (<=.f64 y 1) (+.f64 x (-.f64 1 (*.f64 y z))) (+.f64 (cos.f64 y) x))) |
(if (<=.f64 x -3602879701896397/144115188075855872) (+.f64 x 1) (if (<=.f64 x -4853773991529749/22062609052407949194914912829723655182432452436340449411589077584864795549696863280514640007775234351335139574205343723266588256764674929278332446003804266456490594464708719691973688066349246310341854370928394768482304) (cos.f64 y) (if (<=.f64 x 8949657474523425/7159725979618740301104695983418709622680434793042663132360362425577766001338226039836321066456157093857339877304749930018599215189268344175111256510391144905128218576994803025566700315369744694061260002057936311868982638401684395903839696776618573824) (+.f64 x (-.f64 1 (*.f64 y z))) (if (<=.f64 x 5226737155905615/21778071482940061661655974875633165533184) (cos.f64 y) (+.f64 x 1))))) |
(if (<=.f64 y -4399999999999999868403155739908541577233789091840) (+.f64 x 1) (if (<=.f64 y 290000000000000001357145105027161795433413098864640) (+.f64 x (-.f64 1 (*.f64 y z))) (+.f64 x 1))) |
(if (<=.f64 z -750000000000000042356558265390631061130469786487293781025423873116592422975683647891914821192094987234826127010652271572424485483455192907978870109202459834564837955228046739863923178561943457689699691228976314954301386522221346816) (*.f64 z (neg.f64 y)) (if (<=.f64 z 2700000000000000177537804058633432932314233312775077709074428568766181286728584658944) (+.f64 x 1) (if (<=.f64 z 2149999999999999888885765909703391860615426528075601486688469603024504034783658203537208871882561370845154197146095385555034029117484082930919036481192567889778244402586939212892113104342870854497979068528045890507076718706863451769174254988755459099642124738450384293033112548090436464509761614833529126912) (-.f64 1 (*.f64 y z)) x))) |
(if (<=.f64 z -6199999999999999733945772058804073242161779144372561320049617612161435021357169464044693067430540739475828057794859772943053003558251907117002790295608520803976922433008213086360448187567746394980151531879155561912880711377879040) (*.f64 z (neg.f64 y)) (+.f64 x 1)) |
(+.f64 x 1) |
(if (<=.f64 x -61796592646927/18446744073709551616) x (if (<=.f64 x 7656119366529843/9007199254740992) 1 x)) |
1 |
| Outputs |
|---|
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))) |
(if (<=.f64 x -3602879701896397/144115188075855872) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) (if (<=.f64 x 1045347431181123/348449143727040986586495598010130648530944) (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))) |
(if (<=.f64 z -3039929748475085/2251799813685248) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) (if (<=.f64 z 3602879701896397/36028797018963968) (+.f64 (cos.f64 y) x) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))) |
(if (<=.f64 z -5699999999999999944577084249238382192094665210453594988130606504799884218148470382373604432699478663643801364498212798397898671270518023160096839279450507605988563478198240431427194802578584988364155583966086909792866009088) (*.f64 z (neg.f64 (sin.f64 y))) (if (<=.f64 z 359999999999999995461406280032747478250074244466564231611773212300410880) (+.f64 (cos.f64 y) x) (*.f64 z (neg.f64 (sin.f64 y))))) |
(if (<=.f64 y -470) (+.f64 (cos.f64 y) x) (if (<=.f64 y 1) (+.f64 x (-.f64 1 (*.f64 y z))) (+.f64 (cos.f64 y) x))) |
(if (<=.f64 x -3602879701896397/144115188075855872) (+.f64 x 1) (if (<=.f64 x -4853773991529749/22062609052407949194914912829723655182432452436340449411589077584864795549696863280514640007775234351335139574205343723266588256764674929278332446003804266456490594464708719691973688066349246310341854370928394768482304) (cos.f64 y) (if (<=.f64 x 8949657474523425/7159725979618740301104695983418709622680434793042663132360362425577766001338226039836321066456157093857339877304749930018599215189268344175111256510391144905128218576994803025566700315369744694061260002057936311868982638401684395903839696776618573824) (+.f64 x (-.f64 1 (*.f64 y z))) (if (<=.f64 x 5226737155905615/21778071482940061661655974875633165533184) (cos.f64 y) (+.f64 x 1))))) |
(if (<=.f64 y -4399999999999999868403155739908541577233789091840) (+.f64 x 1) (if (<=.f64 y 290000000000000001357145105027161795433413098864640) (+.f64 x (-.f64 1 (*.f64 y z))) (+.f64 x 1))) |
(if (<=.f64 z -750000000000000042356558265390631061130469786487293781025423873116592422975683647891914821192094987234826127010652271572424485483455192907978870109202459834564837955228046739863923178561943457689699691228976314954301386522221346816) (*.f64 z (neg.f64 y)) (if (<=.f64 z 2700000000000000177537804058633432932314233312775077709074428568766181286728584658944) (+.f64 x 1) (if (<=.f64 z 2149999999999999888885765909703391860615426528075601486688469603024504034783658203537208871882561370845154197146095385555034029117484082930919036481192567889778244402586939212892113104342870854497979068528045890507076718706863451769174254988755459099642124738450384293033112548090436464509761614833529126912) (-.f64 1 (*.f64 y z)) x))) |
(if (<=.f64 z -6199999999999999733945772058804073242161779144372561320049617612161435021357169464044693067430540739475828057794859772943053003558251907117002790295608520803976922433008213086360448187567746394980151531879155561912880711377879040) (*.f64 z (neg.f64 y)) (+.f64 x 1)) |
(+.f64 x 1) |
(if (<=.f64 x -61796592646927/18446744073709551616) x (if (<=.f64 x 7656119366529843/9007199254740992) 1 x)) |
1 |
Compiled 254 to 164 computations (35.4% saved)
Compiled 221 to 114 computations (48.4% saved)
Loading profile data...