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

[[block]]
struct S {
  field0 : RTArr;
};

var<private> x_3 : vec3<u32>;

[[group(0), binding(0)]] var<storage, read_write> x_6 : S;

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

[[group(0), binding(2)]] var<storage, read_write> x_8 : S;

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

fn main_1() {
  let x_23 : u32 = x_3.x;
  let x_25 : u32 = x_6.field0[x_23];
  let x_27 : u32 = x_7.field0[x_23];
  let x_29 : u32 = x_8.field0[x_23];
  x_9.field0[x_23] = bitcast<u32>(clamp(bitcast<i32>(x_25), bitcast<i32>(x_27), bitcast<i32>(x_29)));
  return;
}

[[stage(compute), workgroup_size(1, 1, 1)]]
fn main([[builtin(global_invocation_id)]] x_3_param : vec3<u32>) {
  x_3 = x_3_param;
  main_1();
}
