#include <metal_stdlib>

using namespace metal;
void a(half4x2 m) {
}

void b(half2 v) {
}

void c(half f_1) {
}

kernel void f(const constant half4x2* tint_symbol [[buffer(0)]]) {
  a(*(tint_symbol));
  b((*(tint_symbol))[1]);
  b(half2((*(tint_symbol))[1]).yx);
  c((*(tint_symbol))[1][0]);
  c(half2((*(tint_symbol))[1]).yx[0]);
  return;
}

