#include <metal_stdlib>
using namespace metal;

struct main_outputs {
  float4 tint_symbol [[color(0)]];
};

float4 main_inner() {
  return float4(0.0f);
}

fragment main_outputs v() {
  main_outputs tint_wrapper_result = {};
  tint_wrapper_result.tint_symbol = main_inner();
  return tint_wrapper_result;
}
