#include <metal_stdlib>

using namespace metal;
void atomicXor_c8e6be(threadgroup atomic_uint* const tint_symbol_1) {
  uint res = atomic_fetch_xor_explicit(tint_symbol_1, 1u, memory_order_relaxed);
}

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

