@group(0) @binding(0) var<uniform> a : array<mat2x4<f32>, 4>;

var<private> counter = 0;

fn i() -> i32 {
  counter++;
  return counter;
}

@compute @workgroup_size(1)
fn f() {
  let p_a = &(a);
  let p_a_i = &((*(p_a))[i()]);
  let p_a_i_i = &((*(p_a_i))[i()]);
  let l_a : array<mat2x4<f32>, 4> = *(p_a);
  let l_a_i : mat2x4<f32> = *(p_a_i);
  let l_a_i_i : vec4<f32> = *(p_a_i_i);
}
