#include <metal_stdlib>

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

VertexOutputs tint_symbol_inner() {
  VertexOutputs const tint_symbol_2 = {.position=float4(1.0f, 2.0f, 3.0f, 4.0f)};
  return tint_symbol_2;
}

vertex tint_symbol_1 tint_symbol() {
  VertexOutputs const inner_result = tint_symbol_inner();
  tint_symbol_1 wrapper_result = {};
  wrapper_result.position = inner_result.position;
  return wrapper_result;
}

