[[block]]
struct Buf1 {
  result : i32;
};

type RTArr = [[stride(4)]] array<u32>;

[[block]]
struct Buf0 {
  values : RTArr;
};

[[group(0), binding(1)]] var<storage, read_write> x_4 : Buf1;

[[group(0), binding(0)]] var<storage, read_write> x_7 : Buf0;

fn main_1() {
  var i : u32;
  x_4.result = 1;
  i = 0u;
  loop {
    let x_33 : u32 = i;
    if ((x_33 < 512u)) {
    } else {
      break;
    }
    let x_36 : u32 = i;
    let x_39 : u32 = x_7.values[(x_36 * 2u)];
    let x_40 : u32 = i;
    if ((x_39 != x_40)) {
      x_4.result = 0;
    }

    continuing {
      let x_45 : u32 = i;
      i = (x_45 + bitcast<u32>(1));
    }
  }
  return;
}

[[stage(compute), workgroup_size(1, 1, 1)]]
fn main() {
  main_1();
}
