#include <metal_stdlib>
using namespace metal;

struct main_outputs {
  float4 tint_symbol [[position]];
};

float4 main_inner(uint b) {
  return float4(float(b));
}

vertex main_outputs v(uint b [[instance_id]]) {
  main_outputs tint_wrapper_result = {};
  tint_wrapper_result.tint_symbol = main_inner(b);
  return tint_wrapper_result;
}
