type Arr = array<u32, 50>;

struct Buf {
  count : u32;
  data : Arr;
};

[[group(0), binding(0)]] var<storage, read_write> b : Buf;

[[stage(compute), workgroup_size(1)]]
fn main() {
  var i : u32 = 0u;
  loop {
    if ((i >= b.count)) {
      break;
    }
    let p : ptr<storage, u32, read_write> = &(b.data[i]);
    if (((i % 2u) == 0u)) {
      continue;
    }
    *(p) = 0u;

    continuing {
      *(p) = (*(p) * 2u);
      i = (i + 1u);
    }
  }
  return;
}
