#include <metal_stdlib>

using namespace metal;
void foo(thread float2* const tint_symbol_1, thread int3* const tint_symbol_2, thread uint4* const tint_symbol_3, thread bool2* const tint_symbol_4) {
  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() {
  thread float2 tint_symbol_5 = 0.0f;
  thread int3 tint_symbol_6 = 0;
  thread uint4 tint_symbol_7 = 0u;
  thread bool2 tint_symbol_8 = false;
  for(int i = 0; (i < 2); i = (i + 1)) {
    foo(&(tint_symbol_5), &(tint_symbol_6), &(tint_symbol_7), &(tint_symbol_8));
  }
  return;
}

