#include <metal_stdlib>

using namespace metal;
struct tint_private_vars_struct {
  float2 u;
};

uint2 tint_ftou(float2 v) {
  return select(uint2(4294967295u), select(uint2(v), uint2(0u), (v < float2(0.0f))), (v < float2(4294967040.0f)));
}

void f(thread tint_private_vars_struct* const tint_private_vars) {
  uint2 const v = tint_ftou((*(tint_private_vars)).u);
}

