struct result {
  res0 : i32;
  res1 : i32;
  res2 : i32;
};

struct block0 {
  data0 : i32;
};

struct block1 {
  data1 : i32;
};

struct block2 {
  data2 : i32;
};

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

[[group(0), binding(0)]] var<uniform> x_6 : block0;

[[group(0), binding(1)]] var<uniform> x_8 : block1;

[[group(0), binding(2)]] var<uniform> x_10 : block2;

fn main_1() {
  let x_25 : i32 = x_6.data0;
  x_4.res0 = x_25;
  let x_28 : i32 = x_8.data1;
  x_4.res1 = x_28;
  let x_31 : i32 = x_10.data2;
  x_4.res2 = x_31;
  return;
}

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