#include <metal_stdlib>

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

void main_1(thread float4* const tint_symbol_4) {
  (*(tint_symbol_4)).y = 0.0f;
  return;
}

vertex tint_symbol_1 tint_symbol() {
  thread float4 tint_symbol_5 = 0.0f;
  main_1(&(tint_symbol_5));
  main_out const tint_symbol_2 = {.gl_Position=tint_symbol_5};
  tint_symbol_1 const tint_symbol_3 = {.gl_Position=tint_symbol_2.gl_Position};
  return tint_symbol_3;
}

