struct SSBO {
  m : [[stride(16)]] array<vec2<f32>, 2u>;
};

[[group(0), binding(0)]] var<storage, read_write> ssbo : SSBO;

fn arr_to_mat2x2_stride_16(arr : [[stride(16)]] array<vec2<f32>, 2u>) -> mat2x2<f32> {
  return mat2x2<f32>(arr[0u], arr[1u]);
}

fn mat2x2_stride_16_to_arr(mat : mat2x2<f32>) -> [[stride(16)]] array<vec2<f32>, 2u> {
  return [[stride(16)]] array<vec2<f32>, 2u>(mat[0u], mat[1u]);
}

fn f_1() {
  let x_15 : mat2x2<f32> = arr_to_mat2x2_stride_16(ssbo.m);
  ssbo.m = mat2x2_stride_16_to_arr(x_15);
  return;
}

[[stage(compute), workgroup_size(1, 1, 1)]]
fn f() {
  f_1();
}
