struct strided_arr {
  @size(8)
  el : f32,
}

type Arr = array<strided_arr, 2u>;

type Arr_1 = array<Arr, 3u>;

struct strided_arr_1 {
  @size(128)
  el : Arr_1,
}

type Arr_2 = array<strided_arr_1, 4u>;

struct S {
  /* @offset(0) */
  a : Arr_2,
}

@group(0) @binding(0) var<storage, read_write> s : S;

fn f_1() {
  let x_19 : Arr_2 = s.a;
  let x_24 : Arr_1 = s.a[3i].el;
  let x_28 : Arr = s.a[3i].el[2i];
  let x_32 : f32 = s.a[3i].el[2i][1i].el;
  s.a = array<strided_arr_1, 4u>();
  s.a[3i].el[2i][1i].el = 5.0f;
  return;
}

@compute @workgroup_size(1i, 1i, 1i)
fn f() {
  f_1();
}
