#include <metal_stdlib>

using namespace metal;
struct S {
  /* 0x0000 */ int4 a;
};

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))))));
}

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;
}

