#include <metal_stdlib>

using namespace metal;
struct main_out {
  float4 x_1_1;
  float4 x_1_2;
  float4 x_2_1;
};
struct tint_symbol_1 {
  float4 x_1_1 [[user(locn9)]];
  float4 x_1_2 [[user(locn10)]];
  float4 x_2_1 [[position]];
};

void main_1() {
  return;
}

vertex tint_symbol_1 tint_symbol() {
  thread float2x4 tint_symbol_4 = float2x4(0.0f);
  thread float4 tint_symbol_5 = 0.0f;
  main_1();
  main_out const tint_symbol_2 = {.x_1_1=tint_symbol_4[0], .x_1_2=tint_symbol_4[1], .x_2_1=tint_symbol_5};
  tint_symbol_1 const tint_symbol_3 = {.x_1_1=tint_symbol_2.x_1_1, .x_1_2=tint_symbol_2.x_1_2, .x_2_1=tint_symbol_2.x_2_1};
  return tint_symbol_3;
}

