Anisotropic x16 LOD (line direction, u)

Time bar (total: 2.5s)

start0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated

analyze1.7s (69.5%)

Memory
8.8MiB live, 716.2MiB 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
6.3%0%0%100%0%0%0%7
6.3%0%0%100%0%0%0%8
6.3%0%0%100%0%0%0%9
6.3%0%0%100%0%0%0%10
Compiler

Compiled 194 to 61 computations (68.6% saved)

sample69.0ms (2.8%)

Memory
2.4MiB live, 31.5MiB allocated
Samples
50.0ms260×0valid
Precisions
Click to see histograms. Total time spent on operations: 40.0ms
ival-mult: 13.0ms (32.8% of total)
ival-<=: 6.0ms (15.2% of total)
ival-fabs: 4.0ms (10.1% of total)
const: 4.0ms (10.1% of total)
ival-add: 2.0ms (5.1% of total)
ival-floor: 2.0ms (5.1% of total)
ival-and: 2.0ms (5.1% of total)
ival-fmax: 1.0ms (2.5% of total)
ival-div: 1.0ms (2.5% of total)
ival-==: 1.0ms (2.5% of total)
ival-if: 1.0ms (2.5% of total)
ival-sqrt: 1.0ms (2.5% of total)
ival->=: 1.0ms (2.5% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
Bogosity

explain602.0ms (24.1%)

Memory
12.0MiB live, 245.4MiB allocated
Confusion
Predicted +Predicted -
+800
-0176
Precision
1.0
Recall
1.0
2:
4:
8:
16:
32:
64:
128:
256:
512:
1024:
2048:
Samples
387.0ms3 072×0valid
Compiler

Compiled 4 848 to 996 computations (79.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 283.0ms
ival-mult: 152.0ms (53.8% of total)
ival-floor: 32.0ms (11.3% of total)
ival-add: 24.0ms (8.5% of total)
ival-div: 18.0ms (6.4% of total)
ival-sqrt: 17.0ms (6% of total)
ival-fmax: 14.0ms (5% of total)
ival-if: 11.0ms (3.9% of total)
ival->=: 8.0ms (2.8% of total)
ival-true: 2.0ms (0.7% of total)
exact: 2.0ms (0.7% of total)
adjust: 1.0ms (0.4% of total)
ival-assert: 1.0ms (0.4% of total)

preprocess58.0ms (2.3%)

Memory
-6.0MiB live, 13.0MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03504813
19054613
221884613
336244613
461384613
026134
044134
187130
2161130
3219130
4228130
0228124
Stop Event
iter limit
saturated
iter limit
node limit
Calls
Call 1
Inputs
(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)))
Outputs
(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)))
(if (>=.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.v (floor.f32 h)) dY.v) (floor.f32 h) (*.f32 (*.f32 (*.f32 dY.u (floor.f32 w)) dY.u) (floor.f32 w)))) (/.f32 (*.f32 dX.u (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.v (floor.f32 h)) dY.v) (floor.f32 h) (*.f32 (*.f32 (*.f32 dY.u (floor.f32 w)) dY.u) (floor.f32 w)))))) (/.f32 (*.f32 dY.u (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.v (floor.f32 h)) dY.v) (floor.f32 h) (*.f32 (*.f32 (*.f32 dY.u (floor.f32 w)) dY.u) (floor.f32 w)))))))
Symmetry

(abs maxAniso)

(abs dY.v)

(abs dX.v)

Compiler

Compiled 134 to 27 computations (79.9% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 7 computations (-∞% saved)

prune1.0ms (0%)

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

Compiled 268 to 54 computations (79.9% saved)

simplify21.0ms (0.9%)

Memory
-16.8MiB live, 18.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
026134
137134
Stop Event
saturated
Calls
Call 1
Inputs
(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)))
Outputs
(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)))
(if (>=.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))))) (*.f32 (/.f32 #s(literal 1 binary32) (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))))))) (*.f32 dX.u (floor.f32 w))) (*.f32 (/.f32 #s(literal 1 binary32) (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))))))) (*.f32 dY.u (floor.f32 w))))

soundness2.0ms (0.1%)

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

Compiled 134 to 27 computations (79.9% saved)

preprocess8.0ms (0.3%)

Memory
6.8MiB live, 6.8MiB allocated
Remove

(abs dX.v)

(abs dY.v)

(abs maxAniso)

Compiler

Compiled 2 144 to 432 computations (79.9% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...