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

void a(float4x4 m) {
}
void b(float4 v) {
}
void c(float f) {
}
kernel void f(const constant float4x4* 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]);
}
