#include <metal_stdlib>
using namespace metal;

int3 tint_mod_v3i32(int3 lhs, int3 rhs) {
  uint3 const v = uint3((lhs == int3((-2147483647 - 1))));
  bool3 const v_1 = bool3((v & uint3((rhs == int3(-1)))));
  uint3 const v_2 = uint3((rhs == int3(0)));
  int3 const v_3 = select(rhs, int3(1), bool3((v_2 | uint3(v_1))));
  return (lhs - ((lhs / v_3) * v_3));
}

kernel void f() {
  int const a = 4;
  int3 const b = int3(1, 2, 3);
  int3 const r = tint_mod_v3i32(int3(a), b);
}
