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

void a(float3x4 m) {
}
void b(float4 v) {
}
void c(float f) {
}
kernel void f(const constant float3x4* u [[buffer(0)]]) {
  tint_module_vars_struct const tint_module_vars = {.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]);
}
