Anisotropic x16 LOD (line direction, u)

Time bar (total: 4.1s)

start0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated; 0ms collecting garbage

analyze1.1s (26.2%)

Memory
21.8MiB live, 1 192.3MiB allocated; 133ms collecting garbage
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
0%0%0%100%0%0%0%7
0%0%0%100%0%0%0%8
0%0%0%100%0%0%0%9
Compiler

Compiled 194 to 61 computations (68.6% saved)

sample2.6s (63.3%)

Memory
-69.0MiB live, 2 549.3MiB allocated; 1.2s collecting garbage
Samples
1.7s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 1.3s
ival-mult: 484.0ms (37.8% of total)
const: 146.0ms (11.4% of total)
ival-floor: 114.0ms (8.9% of total)
ival-fabs: 87.0ms (6.8% of total)
ival-if: 75.0ms (5.9% of total)
ival-add: 72.0ms (5.6% of total)
ival-fmax: 65.0ms (5.1% of total)
ival-sqrt: 55.0ms (4.3% of total)
ival-div: 53.0ms (4.1% of total)
ival-<=: 53.0ms (4.1% of total)
ival-and: 40.0ms (3.1% of total)
ival->=: 23.0ms (1.8% of total)
exact: 8.0ms (0.6% of total)
adjust: 3.0ms (0.2% of total)
ival-assert: 3.0ms (0.2% of total)
ival-==: 1.0ms (0.1% of total)
Bogosity

explain305.0ms (7.4%)

Memory
25.0MiB live, 362.4MiB allocated; 22ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
620-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)))))
00-0-(if (>=.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)))) (*.f32 (/.f32 #s(literal 1 binary32) (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)))))) (*.f32 (floor.f32 w) dX.u)) (*.f32 (/.f32 #s(literal 1 binary32) (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)))))) (*.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-(*.f32 (floor.f32 h) dY.v)
00-0-(*.f32 (floor.f32 w) dY.u)
00-0-(*.f32 (/.f32 #s(literal 1 binary32) (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)))))) (*.f32 (floor.f32 w) dX.u))
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-(*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))
00-0-dY.u
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-(>=.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-#s(literal 1 binary32)
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-(*.f32 (/.f32 #s(literal 1 binary32) (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)))))) (*.f32 (floor.f32 w) dY.u))
00-0-(/.f32 #s(literal 1 binary32) (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 (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-rescue620
(*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))overflow13
(+.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)))overflow32
(*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))overflow20
(*.f32 (*.f32 (floor.f32 w) dX.u) (*.f32 (floor.f32 w) dX.u))overflow17
(+.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)))overflow35
(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))))overflow62
(*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u))overflow19
Confusion
Predicted +Predicted -
+620
-0194
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+6200
-00194
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0194
162
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
82.0ms506×0valid
2.0ms1valid
Compiler

Compiled 1 116 to 85 computations (92.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 58.0ms
ival-mult: 27.0ms (46.5% of total)
ival->=: 7.0ms (12% of total)
ival-floor: 6.0ms (10.3% of total)
ival-add: 5.0ms (8.6% of total)
ival-fmax: 3.0ms (5.2% of total)
ival-div: 3.0ms (5.2% of total)
ival-sqrt: 3.0ms (5.2% of total)
ival-if: 2.0ms (3.4% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess128.0ms (3.1%)

Memory
-21.3MiB live, 73.6MiB allocated; 8ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03584887
111334743
240344743
034138
047138
149138
252138
360138
486138
5223138
61464138
74402138
08073138
Stop Event
saturated
node limit
iter limit
node limit

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...