#include <metal_stdlib>

using namespace metal;
void foo() {
  thread float2 tint_symbol_1 = 0.0f;
  thread int3 tint_symbol_2 = 0;
  thread uint4 tint_symbol_3 = 0u;
  thread bool2 tint_symbol_4 = false;
  int i = 0;
  tint_symbol_1[i] = 1.0f;
  tint_symbol_2[i] = 1;
  tint_symbol_3[i] = 1u;
  tint_symbol_4[i] = true;
}

kernel void tint_symbol() {
  for(int i = 0; (i < 2); i = as_type<int>((as_type<uint>(i) + as_type<uint>(1)))) {
    foo();
  }
  return;
}

