#include <metal_stdlib>

using namespace metal;
struct main_out {
  float4 gl_Position;
};
struct tint_symbol_1 {
  float4 gl_Position [[position]];
};

void main_1() {
  return;
}

vertex tint_symbol_1 tint_symbol() {
  thread float4 tint_symbol_4 = float4(1.0f, 2.0f, 3.0f, 4.0f);
  main_1();
  main_out const tint_symbol_2 = {.gl_Position=tint_symbol_4};
  tint_symbol_1 const tint_symbol_3 = {.gl_Position=tint_symbol_2.gl_Position};
  return tint_symbol_3;
}

