#include <metal_stdlib>

using namespace metal;
half4x2 m() {
  thread half tint_symbol_1 = 0.0h;
  tint_symbol_1 = (tint_symbol_1 + 1.0h);
  return half4x2(half2(1.0h, 2.0h), half2(3.0h, 4.0h), half2(5.0h, 6.0h), half2(7.0h, 8.0h));
}

void f() {
  half4x2 const tint_symbol = m();
  float4x2 v = float4x2(tint_symbol);
}

