#include <metal_stdlib>

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

half2x4 m(thread tint_private_vars_struct* const tint_private_vars) {
  (*(tint_private_vars)).t = ((*(tint_private_vars)).t + 1.0h);
  return half2x4(half4(1.0h, 2.0h, 3.0h, 4.0h), half4(5.0h, 6.0h, 7.0h, 8.0h));
}

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

