#include <metal_stdlib>

using namespace metal;
int4 tint_mod(int4 lhs, int rhs) {
  int4 const r = int4(rhs);
  return (lhs % select(r, int4(1), ((r == int4(0)) | ((lhs == int4((-2147483647 - 1))) & (r == int4(-1))))));
}

struct S {
  /* 0x0000 */ int4 a;
};

void foo(device S* const tint_symbol_1) {
  int4 const tint_symbol = tint_mod((*(tint_symbol_1)).a, 2);
  (*(tint_symbol_1)).a = tint_symbol;
}

