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;

fn main_1() {
  let x_21 : u32 = x_3.x;
  let x_23 : u32 = x_6.field0[x_21];
  x_7.field0[x_21] = bitcast<u32>(abs(bitcast<i32>(x_23)));
  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();
}
