Anisotropic x16 LOD (line direction, u)

Time bar (total: 4.3s)

start0.0ms (0%)

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

analyze1.2s (28.6%)

Memory
-33.2MiB live, 1 568.9MiB allocated; 238ms 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 (60.8%)

Memory
4.0MiB live, 2 839.5MiB allocated; 1.1s collecting garbage
Samples
1.7s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 1.3s
ival-mult: 524.0ms (40.3% of total)
const: 131.0ms (10.1% of total)
ival-fabs: 107.0ms (8.2% of total)
ival-floor: 105.0ms (8.1% of total)
ival-sqrt: 81.0ms (6.2% of total)
ival-add: 68.0ms (5.2% of total)
ival-div: 58.0ms (4.5% of total)
ival-fmax: 50.0ms (3.8% of total)
ival-<=: 42.0ms (3.2% of total)
ival-and: 41.0ms (3.2% of total)
ival->=: 38.0ms (2.9% of total)
ival-if: 36.0ms (2.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

explain343.0ms (8%)

Memory
-25.9MiB live, 507.1MiB allocated; 54ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
590-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-rescue590
(*.f32 (*.f32 (floor.f32 h) dY.v) (*.f32 (floor.f32 h) dY.v))overflow19
(+.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)))overflow37
(*.f32 (*.f32 (floor.f32 h) dX.v) (*.f32 (floor.f32 h) dX.v))overflow11
(*.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)))overflow28
(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))))overflow59
(*.f32 (*.f32 (floor.f32 w) dY.u) (*.f32 (floor.f32 w) dY.u))overflow18
Confusion
Predicted +Predicted -
+590
-0197
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+5900
-00197
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0197
159
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
82.0ms500×0valid
4.0ms12×1valid
Compiler

Compiled 1 116 to 85 computations (92.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 58.0ms
ival-mult: 33.0ms (56.9% of total)
ival-floor: 6.0ms (10.4% of total)
ival-div: 4.0ms (6.9% of total)
ival-add: 4.0ms (6.9% of total)
ival-fmax: 3.0ms (5.2% of total)
ival-sqrt: 3.0ms (5.2% of total)
ival-if: 2.0ms (3.5% of total)
ival->=: 2.0ms (3.5% of total)
adjust: 1.0ms (1.7% of total)
ival-true: 1.0ms (1.7% of total)
ival-assert: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess111.0ms (2.6%)

Memory
10.4MiB live, 102.6MiB allocated; 9ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03504887
111184743
240114743
026134
044134
1107130
2350130
31162130
43319130
08230130
Stop Event
iter limit
node limit
iter limit
node limit

end0.0ms (0%)

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

Profiling

Loading profile data...