#include <metal_stdlib>
using namespace metal;

struct tint_symbol_outputs {
  float4 tint_symbol_1 [[color(0)]];
};

void const_decls() {
}

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

fragment tint_symbol_outputs tint_symbol() {
  tint_symbol_outputs tint_wrapper_result = {};
  tint_wrapper_result.tint_symbol_1 = tint_symbol_inner();
  return tint_wrapper_result;
}
