#include <metal_stdlib>
using namespace metal;

struct S {
  int4 a;
};

struct tint_module_vars_struct {
  device S* v;
};

int4 tint_div_v4i32(int4 lhs, int4 rhs) {
  return (lhs / select(rhs, int4(1), ((rhs == int4(0)) | ((lhs == int4((-2147483647 - 1))) & (rhs == int4(-1))))));
}

void foo(tint_module_vars_struct tint_module_vars) {
  (*tint_module_vars.v).a = tint_div_v4i32((*tint_module_vars.v).a, int4(2));
}
