#include <metal_stdlib>

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

float3x4 m(thread tint_private_vars_struct* const tint_private_vars) {
  (*(tint_private_vars)).t = ((*(tint_private_vars)).t + 1.0f);
  return float3x4(float4(1.0f, 2.0f, 3.0f, 4.0f), float4(5.0f, 6.0f, 7.0f, 8.0f), float4(9.0f, 10.0f, 11.0f, 12.0f));
}

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

