#include <metal_stdlib>

using namespace metal;
struct tint_symbol_2 {
  float4 value [[position]];
};

float4 tint_symbol_inner(uint tint_symbol_1) {
  return float4(0.0f, 0.0f, 0.0f, 1.0f);
}

vertex tint_symbol_2 tint_symbol(uint tint_symbol_1 [[vertex_id]]) {
  float4 const inner_result = tint_symbol_inner(tint_symbol_1);
  tint_symbol_2 wrapper_result = {};
  wrapper_result.value = inner_result;
  return wrapper_result;
}

