#include <metal_stdlib>

using namespace metal;

int tint_unary_minus(const int v) {
  return select(-v, v, v == -2147483648);
}

void main_1() {
  uint const x_1 = as_type<uint>(tint_unary_minus(as_type<int>(10u)));
  return;
}

fragment void tint_symbol() {
  main_1();
  return;
}

