#include <metal_stdlib>

using namespace metal;
struct SB_RW {
  /* 0x0000 */ atomic_uint arg_0;
};

void atomicStore_cdc29e(device SB_RW* const tint_symbol) {
  uint arg_1 = 1u;
  atomic_store_explicit(&((*(tint_symbol)).arg_0), arg_1, memory_order_relaxed);
}

fragment void fragment_main(device SB_RW* tint_symbol_1 [[buffer(0)]]) {
  atomicStore_cdc29e(tint_symbol_1);
  return;
}

kernel void compute_main(device SB_RW* tint_symbol_2 [[buffer(0)]]) {
  atomicStore_cdc29e(tint_symbol_2);
  return;
}

