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

void a(half4x2 m) {
}
void b(half2 v) {
}
void c(half f) {
}
kernel void f(const constant half4x2* 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].yx);
  c((*tint_module_vars.u)[1][0u]);
  c((*tint_module_vars.u)[1].yx[0u]);
}
