Time bar (total: 1.8s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 0.1% | 99.9% | 0% | 0% | 0% | 0 |
| 100% | 0.1% | 0% | 99.9% | 0% | 0% | 0% | 1 |
Compiled 33 to 24 computations (27.3% saved)
| 1.3s | 8256× | body | 256 | valid |
| 2× | egg-herbie |
| 8× | rational_best-simplify-1 |
| 6× | rational_best-simplify-2 |
| 2× | trig-simplify-13 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 17 | 76 |
| 1 | 25 | 76 |
| 0 | 3 | 3 |
| 1× | saturated |
| 1× | saturated |
| Inputs |
|---|
0 |
1 |
2 |
| Outputs |
|---|
0 |
1 |
2 |
| Inputs |
|---|
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) |
(+.f32 (-.f32 1 uy) (*.f32 uy maxCos)) |
(+.f32 (-.f32 1 maxCos) (*.f32 maxCos ux)) |
(+.f32 (-.f32 1 ux) (*.f32 ux uy)) |
| Outputs |
|---|
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) |
(+.f32 (-.f32 1 uy) (*.f32 uy maxCos)) |
(+.f32 (-.f32 1 uy) (*.f32 maxCos uy)) |
(+.f32 (-.f32 1 maxCos) (*.f32 maxCos ux)) |
(+.f32 (-.f32 1 maxCos) (*.f32 ux maxCos)) |
(+.f32 (-.f32 1 ux) (*.f32 ux uy)) |
Compiled 13 to 10 computations (23.1% saved)
| 1× | egg-herbie |
| 2× | rational_best-simplify-2 |
| 2× | rational_best-simplify-1 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 19 |
| 1 | 10 | 19 |
| 1× | saturated |
| Inputs |
|---|
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) |
| Outputs |
|---|
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) |
Compiled 10 to 7 computations (30% saved)
2 alts after pruning (2 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 1 | 1 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 0 | 0 |
| Total | 0 | 2 | 2 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.0b | (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) |
Compiled 10 to 7 computations (30% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f32 ux maxCos) |
| ✓ | 0.0b | (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) |
Compiled 19 to 10 computations (47.4% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 0.0ms | ux | @ | inf | (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) |
| 0.0ms | ux | @ | 0 | (*.f32 ux maxCos) |
| 0.0ms | ux | @ | -inf | (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) |
| 0.0ms | ux | @ | 0 | (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) |
| 0.0ms | maxCos | @ | inf | (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) |
| 1× | batch-egg-rewrite |
| 36× | rational_best-simplify-1 |
| 32× | rational_best-simplify-2 |
| 26× | rational_best-4 |
| 26× | rational_best-2 |
| 26× | rational_best-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 26 |
| 1 | 51 | 26 |
| 2 | 72 | 26 |
| 3 | 83 | 26 |
| 4 | 110 | 26 |
| 5 | 133 | 26 |
| 6 | 145 | 26 |
| 7 | 154 | 26 |
| 8 | 156 | 26 |
| 1× | saturated |
| Inputs |
|---|
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) |
(*.f32 ux maxCos) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x -.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 ux (+.f32 maxCos -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux maxCos) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 ux maxCos))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 ux maxCos) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 ux maxCos) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 ux maxCos) 1))))) |
| 1× | egg-herbie |
| 2084× | rational_best-simplify-2 |
| 1790× | rational_best-simplify-1 |
| 896× | rational_best-simplify-42 |
| 720× | rational_best-simplify-54 |
| 704× | rational_best-simplify-57 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 34 | 707 |
| 1 | 61 | 707 |
| 2 | 82 | 707 |
| 3 | 93 | 707 |
| 4 | 108 | 707 |
| 5 | 122 | 707 |
| 6 | 146 | 707 |
| 7 | 163 | 707 |
| 8 | 179 | 707 |
| 9 | 202 | 707 |
| 10 | 227 | 707 |
| 11 | 263 | 707 |
| 12 | 307 | 707 |
| 13 | 408 | 707 |
| 14 | 657 | 707 |
| 15 | 1348 | 707 |
| 16 | 2936 | 707 |
| 17 | 3975 | 707 |
| 18 | 4728 | 707 |
| 19 | 5037 | 707 |
| 20 | 5748 | 707 |
| 21 | 5993 | 707 |
| 22 | 6566 | 707 |
| 23 | 6767 | 707 |
| 24 | 7486 | 707 |
| 25 | 7808 | 707 |
| 1× | node limit |
| Inputs |
|---|
1 |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(*.f32 (-.f32 maxCos 1) ux) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))) |
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))) |
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))) |
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))) |
(-.f32 1 ux) |
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) |
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) |
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) |
(*.f32 maxCos ux) |
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) |
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) |
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) |
(*.f32 maxCos ux) |
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) |
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) |
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(-.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 0) |
(-.f32 (*.f32 ux (+.f32 maxCos -1)) -1) |
(*.f32 1 (+.f32 1 (*.f32 ux (+.f32 maxCos -1)))) |
(*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1) |
(/.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1) |
(pow.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1) |
(+.f32 (*.f32 ux maxCos) 0) |
(+.f32 0 (*.f32 ux maxCos)) |
(-.f32 (*.f32 ux maxCos) 0) |
(/.f32 (*.f32 ux maxCos) 1) |
(pow.f32 (*.f32 ux maxCos) 1) |
| Outputs |
|---|
1 |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 ux (+.f32 maxCos -1)) |
(-.f32 (*.f32 maxCos ux) ux) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) |
(*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos)))) |
(*.f32 ux (+.f32 maxCos -1)) |
(-.f32 (*.f32 maxCos ux) ux) |
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) |
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) |
(+.f32 1 (*.f32 -1 (*.f32 ux (+.f32 1 (*.f32 -1 maxCos))))) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) |
(-.f32 1 ux) |
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) |
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) |
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) |
(*.f32 maxCos ux) |
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) |
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) |
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) |
(*.f32 maxCos ux) |
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) |
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) |
(-.f32 (+.f32 1 (*.f32 maxCos ux)) ux) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(*.f32 maxCos ux) |
(-.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 0) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) |
(-.f32 (*.f32 ux (+.f32 maxCos -1)) -1) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) |
(*.f32 1 (+.f32 1 (*.f32 ux (+.f32 maxCos -1)))) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) |
(*.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) |
(/.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) |
(pow.f32 (+.f32 1 (*.f32 ux (+.f32 maxCos -1))) 1) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (-.f32 (*.f32 maxCos ux) ux)) |
(+.f32 (*.f32 ux maxCos) 0) |
(*.f32 maxCos ux) |
(+.f32 0 (*.f32 ux maxCos)) |
(*.f32 maxCos ux) |
(-.f32 (*.f32 ux maxCos) 0) |
(*.f32 maxCos ux) |
(/.f32 (*.f32 ux maxCos) 1) |
(*.f32 maxCos ux) |
(pow.f32 (*.f32 ux maxCos) 1) |
(*.f32 maxCos ux) |
Compiled 170 to 111 computations (34.7% saved)
3 alts after pruning (3 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 20 | 3 | 23 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 21 | 3 | 24 |
| Status | Error | Program |
|---|---|---|
| ▶ | 0.0b | (-.f32 (*.f32 ux (+.f32 maxCos -1)) -1) |
| ▶ | 0.5b | (-.f32 1 ux) |
| 9.6b | 1 |
Compiled 20 to 17 computations (15% saved)
Compiled 8 to 6 computations (25% saved)
Found 2 expressions with local error:
| New | Error | Program |
|---|---|---|
| ✓ | 0.0b | (*.f32 ux (+.f32 maxCos -1)) |
| ✓ | 0.0b | (-.f32 (*.f32 ux (+.f32 maxCos -1)) -1) |
Compiled 21 to 14 computations (33.3% saved)
12 calls:
| Time | Variable | Point | Expression | |
|---|---|---|---|---|
| 1.0ms | ux | @ | -inf | (*.f32 ux (+.f32 maxCos -1)) |
| 0.0ms | ux | @ | -inf | (-.f32 (*.f32 ux (+.f32 maxCos -1)) -1) |
| 0.0ms | maxCos | @ | -inf | (-.f32 (*.f32 ux (+.f32 maxCos -1)) -1) |
| 0.0ms | maxCos | @ | inf | (-.f32 (*.f32 ux (+.f32 maxCos -1)) -1) |
| 0.0ms | ux | @ | 0 | (-.f32 (*.f32 ux (+.f32 maxCos -1)) -1) |
| 1× | batch-egg-rewrite |
| 18× | rational_best-simplify-1 |
| 16× | rational_best-simplify-2 |
| 14× | rational_best-4 |
| 14× | rational_best-2 |
| 14× | rational_best-3 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 32 |
| 1 | 54 | 32 |
| 2 | 79 | 32 |
| 3 | 81 | 32 |
| 1× | saturated |
| Inputs |
|---|
(-.f32 (*.f32 ux (+.f32 maxCos -1)) -1) |
(*.f32 ux (+.f32 maxCos -1)) |
| Outputs |
|---|
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux (+.f32 maxCos -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 1 (*.f32 ux (+.f32 maxCos -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f32 1 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) 1))))) |
((#(struct:change #<rule egg-rr> (2) ((x +.f32 (*.f32 ux (+.f32 maxCos -1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f32 0 (*.f32 ux (+.f32 maxCos -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f32 (*.f32 ux (+.f32 maxCos -1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f32 (*.f32 ux (+.f32 maxCos -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f32 (*.f32 ux (+.f32 maxCos -1)) 1))))) |
| 1× | egg-herbie |
| 40× | rational_best-simplify-1 |
| 16× | rational_best-simplify-54 |
| 16× | rational_best-simplify-7 |
| 16× | rational_best-simplify-43 |
| 14× | rational_best-simplify-2 |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 31 | 903 |
| 1 | 50 | 903 |
| 2 | 64 | 903 |
| 3 | 90 | 903 |
| 4 | 101 | 903 |
| 1× | saturated |
| Inputs |
|---|
1 |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(*.f32 (-.f32 maxCos 1) ux) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(*.f32 (-.f32 maxCos 1) ux) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 (*.f32 -1 ux) 1) |
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux))) |
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux))) |
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux))) |
(*.f32 maxCos ux) |
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux))) |
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux))) |
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux))) |
(*.f32 maxCos ux) |
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux))) |
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux))) |
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux))) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 -1 ux) |
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux)) |
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux)) |
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux)) |
(*.f32 maxCos ux) |
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux)) |
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux)) |
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux)) |
(*.f32 maxCos ux) |
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux)) |
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux)) |
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux)) |
(+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) |
(+.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) 0) |
(+.f32 0 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1)) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(*.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) 1) |
(*.f32 1 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1)) |
(/.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) 1) |
(pow.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) 1) |
(+.f32 (*.f32 ux (+.f32 maxCos -1)) 0) |
(+.f32 0 (*.f32 ux (+.f32 maxCos -1))) |
(-.f32 (*.f32 ux (+.f32 maxCos -1)) 0) |
(/.f32 (*.f32 ux (+.f32 maxCos -1)) 1) |
(pow.f32 (*.f32 ux (+.f32 maxCos -1)) 1) |
| Outputs |
|---|
1 |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 ux (+.f32 maxCos -1)) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 ux (+.f32 maxCos -1)) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (*.f32 (-.f32 maxCos 1) ux)) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 (*.f32 -1 ux) 1) |
(+.f32 1 (neg.f32 ux)) |
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux))) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux))) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux))) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(*.f32 maxCos ux) |
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux))) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux))) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux))) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(*.f32 maxCos ux) |
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux))) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux))) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 (*.f32 -1 ux) (+.f32 1 (*.f32 maxCos ux))) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 ux (+.f32 maxCos -1)) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 ux (+.f32 maxCos -1)) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 ux (+.f32 maxCos -1)) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 ux (+.f32 maxCos -1)) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 ux (+.f32 maxCos -1)) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 ux (+.f32 maxCos -1)) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 ux (+.f32 maxCos -1)) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 ux (+.f32 maxCos -1)) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 ux (+.f32 maxCos -1)) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 ux (+.f32 maxCos -1)) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 ux (+.f32 maxCos -1)) |
(*.f32 (-.f32 maxCos 1) ux) |
(*.f32 ux (+.f32 maxCos -1)) |
(*.f32 -1 ux) |
(neg.f32 ux) |
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux)) |
(*.f32 ux (+.f32 maxCos -1)) |
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux)) |
(*.f32 ux (+.f32 maxCos -1)) |
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux)) |
(*.f32 ux (+.f32 maxCos -1)) |
(*.f32 maxCos ux) |
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux)) |
(*.f32 ux (+.f32 maxCos -1)) |
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux)) |
(*.f32 ux (+.f32 maxCos -1)) |
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux)) |
(*.f32 ux (+.f32 maxCos -1)) |
(*.f32 maxCos ux) |
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux)) |
(*.f32 ux (+.f32 maxCos -1)) |
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux)) |
(*.f32 ux (+.f32 maxCos -1)) |
(+.f32 (*.f32 -1 ux) (*.f32 maxCos ux)) |
(*.f32 ux (+.f32 maxCos -1)) |
(+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) 0) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 0 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1)) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(*.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) 1) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(*.f32 1 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1)) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(/.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) 1) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(pow.f32 (+.f32 (*.f32 ux (+.f32 maxCos -1)) 1) 1) |
(+.f32 1 (*.f32 ux (+.f32 maxCos -1))) |
(+.f32 (*.f32 ux (+.f32 maxCos -1)) 0) |
(*.f32 ux (+.f32 maxCos -1)) |
(+.f32 0 (*.f32 ux (+.f32 maxCos -1))) |
(*.f32 ux (+.f32 maxCos -1)) |
(-.f32 (*.f32 ux (+.f32 maxCos -1)) 0) |
(*.f32 ux (+.f32 maxCos -1)) |
(/.f32 (*.f32 ux (+.f32 maxCos -1)) 1) |
(*.f32 ux (+.f32 maxCos -1)) |
(pow.f32 (*.f32 ux (+.f32 maxCos -1)) 1) |
(*.f32 ux (+.f32 maxCos -1)) |
Compiled 173 to 126 computations (27.2% saved)
3 alts after pruning (1 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 24 | 0 | 24 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 1 | 1 |
| Done | 0 | 1 | 1 |
| Total | 24 | 3 | 27 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f32 (*.f32 ux (+.f32 maxCos -1)) -1) |
| ✓ | 0.5b | (-.f32 1 ux) |
| 9.6b | 1 |
Compiled 20 to 17 computations (15% saved)
Compiled 3 to 3 computations (0% saved)
3 alts after pruning (1 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 2 | 2 |
| Total | 0 | 3 | 3 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f32 (*.f32 ux (+.f32 maxCos -1)) -1) |
| ✓ | 0.5b | (-.f32 1 ux) |
| 9.6b | 1 |
Compiled 20 to 17 computations (15% saved)
Compiled 3 to 3 computations (0% saved)
3 alts after pruning (1 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 0 | 0 | 0 |
| Fresh | 0 | 1 | 1 |
| Picked | 0 | 0 | 0 |
| Done | 0 | 2 | 2 |
| Total | 0 | 3 | 3 |
| Status | Error | Program |
|---|---|---|
| ✓ | 0.0b | (-.f32 (*.f32 ux (+.f32 maxCos -1)) -1) |
| ✓ | 0.5b | (-.f32 1 ux) |
| 9.6b | 1 |
Compiled 20 to 17 computations (15% saved)
| Inputs |
|---|
1 |
(-.f32 1 ux) |
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) |
(-.f32 (*.f32 ux (+.f32 maxCos -1)) -1) |
| Outputs |
|---|
(-.f32 (*.f32 ux (+.f32 maxCos -1)) -1) |
4 calls:
| 4.0ms | uy |
| 4.0ms | (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) |
| 3.0ms | maxCos |
| 3.0ms | ux |
| Error | Segments | Branch |
|---|---|---|
| 0.0b | 1 | ux |
| 0.0b | 1 | uy |
| 0.0b | 1 | maxCos |
| 0.0b | 1 | (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) |
Compiled 43 to 31 computations (27.9% saved)
| Inputs |
|---|
1 |
(-.f32 1 ux) |
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) |
| Outputs |
|---|
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) |
4 calls:
| 3.0ms | (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) |
| 3.0ms | uy |
| 3.0ms | maxCos |
| 3.0ms | ux |
| Error | Segments | Branch |
|---|---|---|
| 0.0b | 1 | ux |
| 0.0b | 1 | uy |
| 0.0b | 1 | maxCos |
| 0.0b | 1 | (+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) |
Compiled 36 to 26 computations (27.8% saved)
Total -9.1b remaining (-1860.9%)
Threshold costs -9.1b (-1860.9%)
| Inputs |
|---|
1 |
(-.f32 1 ux) |
| Outputs |
|---|
(-.f32 1 ux) |
3 calls:
| 3.0ms | ux |
| 3.0ms | uy |
| 3.0ms | maxCos |
| Error | Segments | Branch |
|---|---|---|
| 0.5b | 1 | ux |
| 0.5b | 1 | uy |
| 0.5b | 1 | maxCos |
Compiled 19 to 15 computations (21.1% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 12 | 46 |
| 1× | fuel |
| 1× | saturated |
| Inputs |
|---|
(-.f32 (*.f32 ux (+.f32 maxCos -1)) -1) |
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) |
(-.f32 1 ux) |
1 |
| Outputs |
|---|
(-.f32 (*.f32 ux (+.f32 maxCos -1)) -1) |
(+.f32 (-.f32 1 ux) (*.f32 ux maxCos)) |
(-.f32 1 ux) |
1 |
Compiled 30 to 24 computations (20% saved)
Compiled 21 to 15 computations (28.6% saved)
Loading profile data...