#include <metal_stdlib>
using namespace metal;
struct tint_module_vars_struct {
  thread half* t;
};

half4x4 m(tint_module_vars_struct tint_module_vars) {
  (*tint_module_vars.t) = ((*tint_module_vars.t) + 1.0h);
  return half4x4(half4(1.0h, 2.0h, 3.0h, 4.0h), half4(5.0h, 6.0h, 7.0h, 8.0h), half4(9.0h, 10.0h, 11.0h, 12.0h), half4(13.0h, 14.0h, 15.0h, 16.0h));
}
void f(tint_module_vars_struct tint_module_vars) {
  float4x4 v = float4x4(m(tint_module_vars));
}
