#include <metal_stdlib>

using namespace metal;
int3 tint_div(int lhs, int3 rhs) {
  int3 const l = int3(lhs);
  return (l / select(rhs, int3(1), ((rhs == int3(0)) | ((l == int3((-2147483647 - 1))) & (rhs == int3(-1))))));
}

kernel void f() {
  int a = 4;
  int3 b = int3(0, 2, 0);
  int3 const r = tint_div(a, b);
  return;
}

