
Time bar (total: 19.5s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 0 |
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 1 |
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 2 |
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 3 |
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 4 |
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 5 |
| 0% | 0% | 0% | 100% | 0% | 0% | 0% | 6 |
| 3.1% | 0% | 0% | 100% | 0% | 0% | 0% | 7 |
| 3.1% | 0% | 0% | 100% | 0% | 0% | 0% | 8 |
| 3.1% | 0% | 0% | 100% | 0% | 0% | 0% | 9 |
| 3.1% | 0% | 0% | 100% | 0% | 0% | 0% | 10 |
Compiled 229 to 67 computations (70.7% saved)
| 61.0ms | 260× | 0 | valid |
ival-mult: 13.0ms (26.2% of total)ival-fabs: 6.0ms (12.1% of total)ival-<=: 6.0ms (12.1% of total)ival-div: 4.0ms (8% of total)ival-floor: 4.0ms (8% of total)const: 4.0ms (8% of total)ival-log2: 3.0ms (6% of total)ival-and: 2.0ms (4% of total)ival-sqrt: 2.0ms (4% of total)ival-add: 2.0ms (4% of total)ival-fmax: 1.0ms (2% of total)ival-if: 1.0ms (2% of total)ival-sub: 1.0ms (2% of total)ival-==: 1.0ms (2% of total)ival->: 1.0ms (2% of total)ival-assert: 0.0ms (0% of total)exact: 0.0ms (0% of total)| Ground Truth | Overpredictions | Example | Underpredictions | Example | Subexpression |
|---|---|---|---|---|---|
| 56 | 0 | - | 0 | - | (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))))) |
| 53 | 0 | - | 0 | - | (/.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))) (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u))))) |
| 5 | 0 | - | 0 | - | (/.f32 (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u)))) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))))) |
| 0 | 0 | - | 0 | - | (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u)))) |
| 0 | 0 | - | 0 | - | (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) |
| 0 | 0 | - | 0 | - | (if (>.f32 (/.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))) (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u))))) (floor.f32 maxAniso)) (/.f32 (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))))) (floor.f32 maxAniso)) (/.f32 (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u)))) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))))))) |
| 0 | 0 | - | 0 | - | (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u)) |
| 0 | 0 | - | 0 | - | (*.f32 (floor.f32 h) dY.v) |
| 0 | 0 | - | 0 | - | (>.f32 (/.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))) (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u))))) (floor.f32 maxAniso)) |
| 0 | 0 | - | 0 | - | (*.f32 (floor.f32 w) dY.u) |
| 0 | 0 | - | 0 | - | (/.f32 (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))))) (floor.f32 maxAniso)) |
| 0 | 0 | - | 0 | - | (floor.f32 maxAniso) |
| 0 | 0 | - | 0 | - | (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))) |
| 0 | 0 | - | 0 | - | dY.u |
| 0 | 0 | - | 0 | - | (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)) |
| 0 | 0 | - | 0 | - | dX.v |
| 0 | 0 | - | 0 | - | (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) |
| 0 | 0 | - | 0 | - | (floor.f32 w) |
| 0 | 0 | - | 0 | - | (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) |
| 0 | 0 | - | 0 | - | (*.f32 (floor.f32 w) dX.u) |
| 0 | 0 | - | 0 | - | maxAniso |
| 0 | 0 | - | 0 | - | (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))) |
| 0 | 0 | - | 0 | - | (log2.f32 (if (>.f32 (/.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))) (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u))))) (floor.f32 maxAniso)) (/.f32 (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))))) (floor.f32 maxAniso)) (/.f32 (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u)))) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))))))) |
| 0 | 0 | - | 0 | - | (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) |
| 0 | 0 | - | 0 | - | (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u))) |
| 0 | 0 | - | 0 | - | (*.f32 (floor.f32 h) dX.v) |
| 0 | 0 | - | 0 | - | (floor.f32 h) |
| 0 | 0 | - | 0 | - | w |
| 0 | 0 | - | 0 | - | (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v)) |
| 0 | 0 | - | 0 | - | dY.v |
| 0 | 0 | - | 0 | - | h |
| 0 | 0 | - | 0 | - | dX.u |
| Operator | Subexpression | Explanation | Count | |
|---|---|---|---|---|
sqrt.f32 | (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))))) | oflow-rescue | 56 | 0 |
| ↳ | (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)) | overflow | 19 | |
| ↳ | (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))) | overflow | 33 | |
| ↳ | (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v)) | overflow | 13 | |
| ↳ | (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) | overflow | 13 | |
| ↳ | (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) | overflow | 25 | |
| ↳ | (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))) | overflow | 56 | |
| ↳ | (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) | overflow | 14 | |
/.f32 | (/.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))) (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u))))) | o/n | 48 | 0 |
| ↳ | (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)) | overflow | 19 | |
| ↳ | (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))) | overflow | 33 | |
| ↳ | (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v)) | overflow | 13 | |
| ↳ | (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) | overflow | 13 | |
| ↳ | (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) | overflow | 25 | |
| ↳ | (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))) | overflow | 56 | |
| ↳ | (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) | overflow | 14 | |
/.f32 | (/.f32 (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u)))) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))))) | o/n | 5 | 0 |
| ↳ | (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u)))) | overflow | 5 | |
| ↳ | (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u))) | overflow | 5 | |
| ↳ | (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) | overflow | 3 | |
| ↳ | (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u)) | overflow | 2 | |
/.f32 | (/.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))) (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u))))) | o/o | 5 | 0 |
| ↳ | (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)) | overflow | 19 | |
| ↳ | (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))) | overflow | 33 | |
| ↳ | (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v)) | overflow | 13 | |
| ↳ | (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) | overflow | 13 | |
| ↳ | (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) | overflow | 25 | |
| ↳ | (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))) | overflow | 56 | |
| ↳ | (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) | overflow | 14 | |
| ↳ | (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u)))) | overflow | 5 | |
| ↳ | (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u))) | overflow | 5 | |
| ↳ | (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) | overflow | 3 | |
| ↳ | (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u)) | overflow | 2 |
| Predicted + | Predicted - | |
|---|---|---|
| + | 56 | 0 |
| - | 0 | 200 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 56 | 0 | 0 |
| - | 0 | 0 | 200 |
| number | freq |
|---|---|
| 0 | 200 |
| 1 | 3 |
| 2 | 48 |
| 3 | 5 |
| Predicted + | Predicted Maybe | Predicted - | |
|---|---|---|---|
| + | 1 | 0 | 0 |
| - | 0 | 0 | 0 |
| 4.1s | 22 680× | 0 | valid |
| 132.0ms | 360× | 1 | valid |
Compiled 116 190 to 5 940 computations (94.9% saved)
ival-mult: 1.2s (39.8% of total)ival-div: 372.0ms (12.4% of total)ival-floor: 366.0ms (12.2% of total)ival-log2: 240.0ms (8% of total)ival-add: 182.0ms (6.1% of total)ival-sqrt: 152.0ms (5.1% of total)ival-fmax: 113.0ms (3.8% of total)ival-fabs: 104.0ms (3.5% of total)ival-sub: 94.0ms (3.1% of total)ival-if: 93.0ms (3.1% of total)ival->: 56.0ms (1.9% of total)ival-true: 19.0ms (0.6% of total)adjust: 11.0ms (0.4% of total)ival-assert: 9.0ms (0.3% of total)| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 481 | 6054 |
| 1 | 1210 | 5948 |
| 2 | 3419 | 5694 |
| 3 | 7141 | 5694 |
| 0 | 32 | 169 |
| 0 | 56 | 169 |
| 1 | 105 | 169 |
| 2 | 238 | 163 |
| 3 | 506 | 157 |
| 4 | 883 | 157 |
| 5 | 1414 | 157 |
| 6 | 2055 | 157 |
| 7 | 2651 | 157 |
| 8 | 3343 | 157 |
| 9 | 3692 | 157 |
| 10 | 3794 | 157 |
| 11 | 3878 | 157 |
| 12 | 4978 | 157 |
| 13 | 5410 | 157 |
| 14 | 5425 | 157 |
| 15 | 5425 | 157 |
| 16 | 5425 | 157 |
| 17 | 5425 | 157 |
| 18 | 5425 | 157 |
| 19 | 5457 | 157 |
| 20 | 5457 | 157 |
| 0 | 5457 | 151 |
| 1× | iter limit |
| 1× | saturated |
| 1× | iter limit |
| 1× | node limit |
| Inputs |
|---|
(log2.f32 (if (>.f32 (/.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))) (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u))))) (floor.f32 maxAniso)) (/.f32 (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))))) (floor.f32 maxAniso)) (/.f32 (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u)))) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))))))) |
| Outputs |
|---|
(log2.f32 (if (>.f32 (/.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))) (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u))))) (floor.f32 maxAniso)) (/.f32 (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))))) (floor.f32 maxAniso)) (/.f32 (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u)))) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))))))) |
(log2.f32 (if (>.f32 (/.f32 (fmax.f32 (fma.f32 (*.f32 (*.f32 dX.v (floor.f32 h)) dX.v) (floor.f32 h) (*.f32 (*.f32 (*.f32 dX.u (floor.f32 w)) dX.u) (floor.f32 w))) (fma.f32 (*.f32 (*.f32 dY.u (floor.f32 w)) dY.u) (floor.f32 w) (*.f32 (*.f32 (*.f32 dY.v (floor.f32 h)) dY.v) (floor.f32 h)))) (fabs.f32 (*.f32 (fma.f32 (neg.f32 dY.u) dX.v (*.f32 dY.v dX.u)) (*.f32 (floor.f32 h) (floor.f32 w))))) (floor.f32 maxAniso)) (/.f32 (sqrt.f32 (fmax.f32 (fma.f32 (*.f32 (*.f32 dX.v (floor.f32 h)) dX.v) (floor.f32 h) (*.f32 (*.f32 (*.f32 dX.u (floor.f32 w)) dX.u) (floor.f32 w))) (fma.f32 (*.f32 (*.f32 dY.u (floor.f32 w)) dY.u) (floor.f32 w) (*.f32 (*.f32 (*.f32 dY.v (floor.f32 h)) dY.v) (floor.f32 h))))) (floor.f32 maxAniso)) (/.f32 (fabs.f32 (*.f32 (fma.f32 (neg.f32 dY.u) dX.v (*.f32 dY.v dX.u)) (*.f32 (floor.f32 h) (floor.f32 w)))) (sqrt.f32 (fmax.f32 (fma.f32 (*.f32 (*.f32 dX.v (floor.f32 h)) dX.v) (floor.f32 h) (*.f32 (*.f32 (*.f32 dX.u (floor.f32 w)) dX.u) (floor.f32 w))) (fma.f32 (*.f32 (*.f32 dY.u (floor.f32 w)) dY.u) (floor.f32 w) (*.f32 (*.f32 (*.f32 dY.v (floor.f32 h)) dY.v) (floor.f32 h)))))))) |
Compiled 169 to 32 computations (81.1% saved)
Compiled 0 to 7 computations (-∞% saved)
| Status | Accuracy | Program |
|---|---|---|
| 79.3% | (log2.f32 (if (>.f32 (/.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))) (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u))))) (floor.f32 maxAniso)) (/.f32 (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))))) (floor.f32 maxAniso)) (/.f32 (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u)))) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))))))) |
Compiled 338 to 64 computations (81.1% saved)
| 1× | egg-herbie |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 32 | 169 |
| 1 | 47 | 169 |
| 2 | 73 | 169 |
| 3 | 108 | 169 |
| 4 | 130 | 169 |
| 5 | 144 | 169 |
| 6 | 148 | 169 |
| 1× | saturated |
| Inputs |
|---|
(log2.f32 (if (>.f32 (/.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))) (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u))))) (floor.f32 maxAniso)) (/.f32 (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))))) (floor.f32 maxAniso)) (/.f32 (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u)))) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))))))) |
| Outputs |
|---|
(log2.f32 (if (>.f32 (/.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))) (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u))))) (floor.f32 maxAniso)) (/.f32 (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))))) (floor.f32 maxAniso)) (/.f32 (fabs.f32 (-.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u)))) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u)) (*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))) (+.f32 (*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u)) (*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v)))))))) |
(log2.f32 (if (>.f32 (/.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 dX.v (floor.f32 h)) (*.f32 dX.v (floor.f32 h))) (*.f32 (*.f32 dX.u (floor.f32 w)) (*.f32 dX.u (floor.f32 w)))) (+.f32 (*.f32 (*.f32 dY.v (floor.f32 h)) (*.f32 dY.v (floor.f32 h))) (*.f32 (*.f32 dY.u (floor.f32 w)) (*.f32 dY.u (floor.f32 w))))) (fabs.f32 (-.f32 (*.f32 (*.f32 dY.u (floor.f32 w)) (*.f32 dX.v (floor.f32 h))) (*.f32 (*.f32 dY.v (floor.f32 h)) (*.f32 dX.u (floor.f32 w)))))) (floor.f32 maxAniso)) (/.f32 (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 dX.v (floor.f32 h)) (*.f32 dX.v (floor.f32 h))) (*.f32 (*.f32 dX.u (floor.f32 w)) (*.f32 dX.u (floor.f32 w)))) (+.f32 (*.f32 (*.f32 dY.v (floor.f32 h)) (*.f32 dY.v (floor.f32 h))) (*.f32 (*.f32 dY.u (floor.f32 w)) (*.f32 dY.u (floor.f32 w)))))) (floor.f32 maxAniso)) (/.f32 (fabs.f32 (-.f32 (*.f32 (*.f32 dY.u (floor.f32 w)) (*.f32 dX.v (floor.f32 h))) (*.f32 (*.f32 dY.v (floor.f32 h)) (*.f32 dX.u (floor.f32 w))))) (sqrt.f32 (fmax.f32 (+.f32 (*.f32 (*.f32 dX.v (floor.f32 h)) (*.f32 dX.v (floor.f32 h))) (*.f32 (*.f32 dX.u (floor.f32 w)) (*.f32 dX.u (floor.f32 w)))) (+.f32 (*.f32 (*.f32 dY.v (floor.f32 h)) (*.f32 dY.v (floor.f32 h))) (*.f32 (*.f32 dY.u (floor.f32 w)) (*.f32 dY.u (floor.f32 w))))))))) |
| 1× | fuel |
Compiled 169 to 32 computations (81.1% saved)
Compiled 676 to 128 computations (81.1% saved)
Loading profile data...