#include <metal_stdlib>

using namespace metal;
kernel void tint_symbol() {
  float2 v2f = 0.0f;
  float2 v2f_2 = 0.0f;
  int3 v3i = 0;
  int3 v3i_2 = 0;
  uint4 v4u = 0u;
  uint4 v4u_2 = 0u;
  bool2 v2b = false;
  bool2 v2b_2 = false;
  for(int i = 0; (i < 2); i = (i + 1)) {
    v2f[i] = 1.0f;
    v3i[i] = 1;
    v4u[i] = 1u;
    v2b[i] = true;
    v2f_2[i] = 1.0f;
    v3i_2[i] = 1;
    v4u_2[i] = 1u;
    v2b_2[i] = true;
  }
  return;
}

