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();
}
