Anisotropic x16 LOD (LOD)

Time bar (total: 6.0s)

start0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated

analyze2.1s (34.7%)

Memory
10.0MiB live, 813.1MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
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
Compiler

Compiled 229 to 67 computations (70.7% saved)

sample81.0ms (1.3%)

Memory
5.9MiB live, 35.1MiB allocated
Samples
61.0ms260×0valid
Precisions
Click to see histograms. Total time spent on operations: 49.0ms
ival-mult: 13.0ms (26.3% of total)
ival-<=: 6.0ms (12.1% of total)
ival-fabs: 5.0ms (10.1% of total)
ival-div: 4.0ms (8.1% of total)
ival-floor: 4.0ms (8.1% of total)
const: 4.0ms (8.1% of total)
ival-log2: 3.0ms (6.1% of total)
ival-and: 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-sqrt: 1.0ms (2% of total)
ival-==: 1.0ms (2% of total)
ival->: 1.0ms (2% of total)
ival-assert: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
Bogosity

explain3.6s (59.6%)

Memory
4.2MiB live, 2 528.5MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
640-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)))))
640-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)))))
50-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))))))
00-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))))
00-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)))
00-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)))))))
00-0-(*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u))
00-0-(*.f32 (floor.f32 h) dY.v)
00-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))
00-0-(*.f32 (floor.f32 w) dY.u)
00-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))
00-0-(floor.f32 maxAniso)
00-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))))
00-0-dY.u
00-0-(*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))
00-0-dX.v
00-0-(*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u))
00-0-(floor.f32 w)
00-0-(*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u))
00-0-(*.f32 (floor.f32 w) dX.u)
00-0-maxAniso
00-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)))
00-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))))))))
00-0-(*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v))
00-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)))
00-0-(*.f32 (floor.f32 h) dX.v)
00-0-(floor.f32 h)
00-0-w
00-0-(*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))
00-0-dY.v
00-0-h
00-0-dX.u
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
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-rescue640
(*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))overflow18
(+.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)))overflow31
(*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))overflow21
(*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u))overflow19
(+.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)))overflow39
(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))))overflow64
(*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u))overflow13
/.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/n590
(*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))overflow18
(+.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)))overflow31
(*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))overflow21
(*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u))overflow19
(+.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)))overflow39
(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))))overflow64
(*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u))overflow13
/.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/n50
(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))))overflow5
(-.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)))overflow5
(*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v))overflow3
(*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u))overflow2
/.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/o50
(*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))overflow18
(+.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)))overflow31
(*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))overflow21
(*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u))overflow19
(+.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)))overflow39
(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))))overflow64
(*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u))overflow13
(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))))overflow5
(-.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)))overflow5
(*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 h) dY.v))overflow3
(*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 w) dY.u))overflow2
Confusion
Predicted +Predicted -
+640
-0192
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+6400
-00192
Precision?
1.0
Recall?
1.0
2:
4:
8:
16:
32:
64:
128:
256:
512:
1024:
2048:
Freqs
test
numberfreq
0192
259
35
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
17.9541015625
Average Time
0.07013320922851563
Samples
522.0ms2 988×0valid
31.0ms84×1valid
Compiler

Compiled 30 960 to 1 560 computations (95% saved)

Precisions
Click to see histograms. Total time spent on operations: 395.0ms
ival-mult: 158.0ms (40% of total)
ival-floor: 49.0ms (12.4% of total)
ival-div: 47.0ms (11.9% of total)
ival-log2: 33.0ms (8.4% of total)
ival-add: 24.0ms (6.1% of total)
ival-sqrt: 18.0ms (4.6% of total)
ival-fmax: 15.0ms (3.8% of total)
ival-fabs: 13.0ms (3.3% of total)
ival-if: 12.0ms (3% of total)
ival-sub: 12.0ms (3% of total)
ival->: 7.0ms (1.8% of total)
adjust: 5.0ms (1.3% of total)
ival-true: 2.0ms (0.5% of total)
ival-assert: 1.0ms (0.3% of total)

preprocess238.0ms (3.9%)

Memory
-0.9MiB live, 23.5MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04816054
112105948
234195694
371415694
032169
056169
1105169
2238163
3506157
4883157
51414157
62055157
72651157
83343157
93692157
103794157
113878157
124978157
135410157
145425157
155425157
165425157
175425157
185425157
195457157
205457157
05457151
Stop Event
iter limit
saturated
iter limit
node limit
Calls
Call 1
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))))))))
Compiler

Compiled 169 to 32 computations (81.1% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 7 computations (-∞% saved)

prune1.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
76.4%
(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))))))))
Compiler

Compiled 338 to 64 computations (81.1% saved)

simplify22.0ms (0.4%)

Memory
-4.7MiB live, 19.0MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
032169
147169
273169
3108169
4130169
5144169
6148169
Stop Event
saturated
Calls
Call 1
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)))))))))

soundness0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Stop Event
fuel
Compiler

Compiled 169 to 32 computations (81.1% saved)

preprocess1.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Compiler

Compiled 676 to 128 computations (81.1% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...