#include <metal_stdlib>

using namespace metal;
struct tint_private_vars_struct {
  bool tint_discarded;
};

fragment void tint_symbol(device int* tint_symbol_1 [[buffer(0)]], device float* tint_symbol_2 [[buffer(1)]]) {
  thread tint_private_vars_struct tint_private_vars = {};
  tint_private_vars.tint_discarded = false;
  if ((*(tint_symbol_1) < 0)) {
    tint_private_vars.tint_discarded = true;
  }
  if (!(tint_private_vars.tint_discarded)) {
    *(tint_symbol_2) = dfdx(1.0f);
  }
  if (tint_private_vars.tint_discarded) {
    discard_fragment();
  }
  return;
}

