#include <metal_stdlib>
using namespace metal;
struct tint_module_vars_struct {
  const constant half3x4* u;
};

void a(half3x4 m) {
}
void b(half4 v) {
}
void c(half f) {
}
kernel void f(const constant half3x4* u [[buffer(0)]]) {
  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u};
  a((*tint_module_vars.u));
  b((*tint_module_vars.u)[1]);
  b((*tint_module_vars.u)[1].ywxz);
  c((*tint_module_vars.u)[1][0u]);
  c((*tint_module_vars.u)[1].ywxz[0u]);
}
