#include <metal_stdlib>

using namespace metal;
void textureSample_38bbb9(depth2d<float, access::sample> tint_symbol, sampler tint_symbol_1) {
  float2 arg_2 = float2(0.0f);
  float res = tint_symbol.sample(tint_symbol_1, arg_2);
}

fragment void fragment_main(depth2d<float, access::sample> tint_symbol_2 [[texture(0)]], sampler tint_symbol_3 [[sampler(0)]]) {
  textureSample_38bbb9(tint_symbol_2, tint_symbol_3);
  return;
}

