#include <metal_stdlib>

using namespace metal;
void textureNumSamples_a3c8a0(depth2d_ms<float, access::read> tint_symbol_5) {
  int res = 0;
  int const x_16 = int(tint_symbol_5.get_num_samples());
  res = x_16;
  return;
}

void tint_symbol_2(float4 tint_symbol, thread float4* const tint_symbol_6) {
  *(tint_symbol_6) = tint_symbol;
  return;
}

void vertex_main_1(depth2d_ms<float, access::read> tint_symbol_7, thread float4* const tint_symbol_8) {
  textureNumSamples_a3c8a0(tint_symbol_7);
  tint_symbol_2(float4(), tint_symbol_8);
  return;
}

struct vertex_main_out {
  float4 tint_symbol_1_1;
};

struct tint_symbol_3 {
  float4 tint_symbol_1_1 [[position]];
};

vertex_main_out vertex_main_inner(depth2d_ms<float, access::read> tint_symbol_9, thread float4* const tint_symbol_10) {
  vertex_main_1(tint_symbol_9, tint_symbol_10);
  vertex_main_out const tint_symbol_4 = {.tint_symbol_1_1=*(tint_symbol_10)};
  return tint_symbol_4;
}

vertex tint_symbol_3 vertex_main(depth2d_ms<float, access::read> tint_symbol_11 [[texture(0)]]) {
  thread float4 tint_symbol_12 = float4();
  vertex_main_out const inner_result = vertex_main_inner(tint_symbol_11, &(tint_symbol_12));
  tint_symbol_3 wrapper_result = {};
  wrapper_result.tint_symbol_1_1 = inner_result.tint_symbol_1_1;
  return wrapper_result;
}

void fragment_main_1(depth2d_ms<float, access::read> tint_symbol_13) {
  textureNumSamples_a3c8a0(tint_symbol_13);
  return;
}

fragment void fragment_main(depth2d_ms<float, access::read> tint_symbol_14 [[texture(0)]]) {
  fragment_main_1(tint_symbol_14);
  return;
}

void compute_main_1(depth2d_ms<float, access::read> tint_symbol_15) {
  textureNumSamples_a3c8a0(tint_symbol_15);
  return;
}

kernel void compute_main(depth2d_ms<float, access::read> tint_symbol_16 [[texture(0)]]) {
  compute_main_1(tint_symbol_16);
  return;
}