/* TM_lib_internal::C_P027_flatten_sections_qdiff */
void C_P027_flatten_sections_qdiff_TM_lib_internal(
  /* TM_lib_internal::C_P027_flatten_sections_qdiff::MergedSections */P027V1_OBU_sectionlist_int_qdiff_T_TM_baseline2 *MergedSections,
  outC_C_P027_flatten_sections_qdiff_TM_lib_internal *outC)
{
  kcg_int i2;
  kcg_int i1;
  P027V1_sections_array_flat_qdiff_T_TM_baseline2 tmp;
  kcg_int i;
  
  kcg_copy_P027V1_OBU_sectionlist_int_qdiff_T_TM_baseline2(
    &outC->_L75,
    MergedSections);
  for (i2 = 0; i2 < 32; i2++) {
    /* 1 */
    C_P027V1_fs_struct_to_arr_TM_lib_internal(
      &outC->_L75[i2],
      &outC->Context_1[i2]);
    kcg_copy_P027V1_section_array_qdiff_T_TM_baseline2(
      &outC->_L74[i2],
      &outC->Context_1[i2].section_arrays);
  }
  for (i1 = 0; i1 < 32; i1++) {
    kcg_copy_array_int_2_32(&outC->_L84[i1], &outC->_L74);
  }
  kcg_copy_P027V1_sections_array_flat_qdiff_T_TM_baseline2(
    &outC->_L76,
    (P027V1_sections_array_flat_qdiff_T_TM_baseline2 *)
      &DEFAULT_P027V1_sections_array_qdiff_flat_TM_baseline2);
  kcg_copy_P027V1_sections_array_flat_qdiff_T_TM_baseline2(
    &outC->_L83,
    &outC->_L76);
  for (i = 0; i < 32; i++) {
    kcg_copy_P027V1_sections_array_flat_qdiff_T_TM_baseline2(&tmp, &outC->_L83);
    /* 1 */
    C_P027V1_fs_flatten_array_TM_lib_internal(
      i,
      &tmp,
      &outC->_L84[i],
      &outC->_1_Context_1[i]);
    kcg_copy_P027V1_sections_array_flat_qdiff_T_TM_baseline2(
      &outC->_L83,
      &outC->_1_Context_1[i].flat);
  }
  kcg_copy_P027V1_sections_array_flat_qdiff_T_TM_baseline2(
    &outC->Flattened,
    &outC->_L83);
}
/* TM_lib_internal::C_P058_flatten_sections */
void C_P058_flatten_sections_TM_lib_internal(
  /* TM_lib_internal::C_P058_flatten_sections::MergedSections */P058_OBU_sectionlist_int_T_TM *MergedSections,
  outC_C_P058_flatten_sections_TM_lib_internal *outC)
{
  static kcg_int i2;
  static kcg_int i1;
  static P058_sections_array_flat_T_TM tmp;
  static kcg_int i;
  
  kcg_copy_P058_OBU_sectionlist_int_T_TM(&outC->_L75, MergedSections);
  for (i2 = 0; i2 < 32; i2++) {
    /* 1 */
    C_P058_fs_struct_to_array_TM_lib_internal(
      &outC->_L75[i2],
      &outC->Context_1[i2]);
    kcg_copy_P058_section_array_T_TM(
      &outC->_L74[i2],
      &outC->Context_1[i2].section_arrays);
  }
  for (i1 = 0; i1 < 64; i1++) {
    kcg_copy_array_int_2_32(&outC->_L80[i1], &outC->_L74);
  }
  kcg_copy_P058_sections_array_flat_T_TM(
    &outC->_L76,
    (P058_sections_array_flat_T_TM *) &DEFAULT_P058_sections_array_flat_TM);
  kcg_copy_P058_sections_array_flat_T_TM(&outC->_L78, &outC->_L76);
  for (i = 0; i < 64; i++) {
    kcg_copy_P058_sections_array_flat_T_TM(&tmp, &outC->_L78);
    /* 1 */
    C_P058_fs_flatten_array_TM_lib_internal(
      i,
      &tmp,
      &outC->_L80[i],
      &outC->_1_Context_1[i]);
    kcg_copy_P058_sections_array_flat_T_TM(
      &outC->_L78,
      &outC->_1_Context_1[i].flat);
  }
  kcg_copy_P058_sections_array_flat_T_TM(&outC->Flattened, &outC->_L78);
}