#include <metal_stdlib>
using namespace metal;

uint3 tint_mod_v3u32(uint3 lhs, uint3 rhs) {
  uint3 const v = select(rhs, uint3(1u), (rhs == uint3(0u)));
  return (lhs - ((lhs / v) * v));
}
kernel void f() {
  uint3 a = uint3(1u, 2u, 3u);
  uint b = 0u;
  uint3 const v_1 = a;
  uint3 const r = tint_mod_v3u32(v_1, uint3(b));
}
