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

kernel void f(const constant half4x2* u [[buffer(0)]]) {
  thread half4x2 p = half4x2(0.0h);
  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.u=u, .p=(&p)};
  (*tint_module_vars.p) = (*tint_module_vars.u);
  (*tint_module_vars.p)[1] = (*tint_module_vars.u)[0];
  (*tint_module_vars.p)[1] = (*tint_module_vars.u)[0].yx;
  (*tint_module_vars.p)[0][1] = (*tint_module_vars.u)[1][0];
}
