#include <metal_stdlib>

using namespace metal;
void tint_symbol_inner(uint local_invocation_index, threadgroup int* const tint_symbol_1) {
  {
    *(tint_symbol_1) = int();
  }
  threadgroup_barrier(mem_flags::mem_threadgroup);
  *(tint_symbol_1) = 123;
  int const use = as_type<int>((as_type<uint>(*(tint_symbol_1)) + as_type<uint>(1)));
}

kernel void tint_symbol(uint local_invocation_index [[thread_index_in_threadgroup]]) {
  threadgroup int tint_symbol_2;
  tint_symbol_inner(local_invocation_index, &(tint_symbol_2));
  return;
}

