alias Arr = array<u32, 50>;

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

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

@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;
}
