#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;
  {
    int i = 0;
    while(true) {
      if ((i < 2)) {
      } else {
        break;
      }
      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;
      i = (i + 1);
      continue;
    }
  }
}
