#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;
}

