#include <metal_stdlib>

using namespace metal;
struct tint_private_vars_struct {
  half t;
};

half2 m(thread tint_private_vars_struct* const tint_private_vars) {
  (*(tint_private_vars)).t = 1.0h;
  return half2((*(tint_private_vars)).t);
}

void f(thread tint_private_vars_struct* const tint_private_vars) {
  half2 const tint_symbol = m(tint_private_vars);
  uint2 v = uint2(tint_symbol);
}

