cbuffer cbuffer_m : register(b0, space0) {
  uint4 m[4];
};
static int counter = 0;

int i() {
  counter = (counter + 1);
  return counter;
}

float4x3 m_load(uint offset) {
  const uint scalar_offset = ((offset + 0u)) / 4;
  const uint scalar_offset_1 = ((offset + 16u)) / 4;
  const uint scalar_offset_2 = ((offset + 32u)) / 4;
  const uint scalar_offset_3 = ((offset + 48u)) / 4;
  return float4x3(asfloat(m[scalar_offset / 4].xyz), asfloat(m[scalar_offset_1 / 4].xyz), asfloat(m[scalar_offset_2 / 4].xyz), asfloat(m[scalar_offset_3 / 4].xyz));
}

[numthreads(1, 1, 1)]
void f() {
  const int p_m_i_save = i();
  const float4x3 l_m = m_load(0u);
  const uint scalar_offset_4 = ((16u * uint(p_m_i_save))) / 4;
  const float3 l_m_i = asfloat(m[scalar_offset_4 / 4].xyz);
  return;
}
