cbuffer cbuffer_ubo : register(b0, space0) {
  uint4 ubo[1];
};

struct S {
  int data[64];
};

RWByteAddressBuffer result : register(u1, space0);
groupshared S s;

struct tint_symbol_2 {
  uint local_invocation_index : SV_GroupIndex;
};

[numthreads(1, 1, 1)]
void f(tint_symbol_2 tint_symbol_1) {
  const uint local_invocation_index = tint_symbol_1.local_invocation_index;
  if ((local_invocation_index == 0u)) {
    {
      for(int i = 0; (i < 64); i = (i + 1)) {
        s.data[i] = 0;
      }
    }
  }
  GroupMemoryBarrierWithGroupSync();
  result.Store(0u, asuint(s.data[asint(ubo[0].x)]));
  return;
}
