#include <metal_stdlib>

using namespace metal;
int tint_mod(int lhs, int rhs) {
  int const rhs_or_one = select(rhs, 1, bool((rhs == 0) | bool((lhs == (-2147483647 - 1)) & (rhs == -1))));
  if (any(((uint((lhs | rhs_or_one)) & 2147483648u) != 0u))) {
    return as_type<int>((as_type<uint>(lhs) - as_type<uint>(as_type<int>((as_type<uint>((lhs / rhs_or_one)) * as_type<uint>(rhs_or_one))))));
  } else {
    return (lhs % rhs_or_one);
  }
}

kernel void f() {
  int const a = 1;
  int const b = 2;
  int const r = tint_mod(a, b);
  return;
}

