#include <metal_stdlib>

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

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

