#include <metal_stdlib>

using namespace metal;
void atomicStore_8bea94(threadgroup atomic_int* const tint_symbol_1) {
  atomic_store_explicit(tint_symbol_1, 1, memory_order_relaxed);
}

kernel void compute_main(uint local_invocation_index [[thread_index_in_threadgroup]]) {
  threadgroup atomic_int tint_symbol_2;
  {
    atomic_store_explicit(&(tint_symbol_2), int(), memory_order_relaxed);
  }
  threadgroup_barrier(mem_flags::mem_threadgroup);
  atomicStore_8bea94(&(tint_symbol_2));
  return;
}

