#include <metal_stdlib>
using namespace metal;

int tint_div_i32(int lhs, int rhs) {
  return (lhs / select(rhs, 1, ((rhs == 0) | ((lhs == (-2147483647 - 1)) & (rhs == -1)))));
}
void foo() {
  int a = 0;
  float4 b = 0.0f;
  float2x2 c = float2x2(0.0f);
  a = tint_div_i32(a, 2);
  b = (b * float4x4(float4(0.0f), float4(0.0f), float4(0.0f), float4(0.0f)));
  c = (c * 2.0f);
}
