
/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* DWARF original name: __insertion_sort<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,
   std::vector<gold::Sized_symbol<32>*, std::allocator<gold::Sized_symbol<32>*> > >,
   __gnu_cxx::__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32> > > */

void std::
     __insertion_sort<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold::Sized_symbol<32>*>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32>_>_>
               (undefined4 *__first,undefined4 *__last,undefined4 param_3)

{
  undefined3 extraout_var;
  bool bVar1;
  undefined4 *puVar2;
  undefined4 uVar3;
  undefined4 local_res8 [2];
  
  if (__first != __last) {
    puVar2 = __first + 1;
    if (puVar2 != __last) {
      local_res8[0] = param_3;
      do {
        bVar1 = gold::Weak_alias_sorter<32>::operator()
                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol<32> *)*puVar2,
                           (Sized_symbol<32> *)*__first);
        if (CONCAT31(extraout_var,bVar1) == 0) {
          __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold::Sized_symbol<32>*>_>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>_>_>
                    (puVar2,0);
        }
        else {
          uVar3 = *puVar2;
          if (__first != puVar2) {
            (*(code *)PTR_memmove_004c5af8)(__first + 1,__first,(int)puVar2 - (int)__first);
          }
          *__first = uVar3;
        }
        puVar2 = puVar2 + 1;
      } while (__last != puVar2);
    }
  }
  return;
}



/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* void std::__insertion_sort<__normal_iterator<gold::Sized_symbol<32>**,
   std::vector<gold::Sized_symbol<32>*, std::allocator<gold::Sized_symbol<32>*> > >,
   __ops::_Iter_comp_iter<gold::Weak_alias_sorter<32> >
   >(__normal_iterator<gold::Sized_symbol<32>**, std::vector<gold::Sized_symbol<32>*,
   std::allocator<gold::Sized_symbol<32>*> > >, __normal_iterator<gold::Sized_symbol<32>**,
   std::vector<gold::Sized_symbol<32>*, std::allocator<gold::Sized_symbol<32>*> > >,
   __ops::_Iter_comp_iter<gold::Weak_alias_sorter<32> >) */

void std::
     __insertion_sort<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32>>>
               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3)

{
  int iVar1;
  undefined4 *puVar2;
  undefined4 uVar3;
  undefined4 local_res8 [2];
  
  if (param_1 != param_2) {
    puVar2 = param_1 + 1;
    if (puVar2 != param_2) {
      local_res8[0] = param_3;
      do {
        iVar1 = gold::Weak_alias_sorter<32>::operator()
                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,
                           (Sized_symbol *)*param_1);
        if (iVar1 == 0) {
          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>
                    (puVar2,0);
        }
        else {
          uVar3 = *puVar2;
          if (param_1 != puVar2) {
            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);
          }
          *param_1 = uVar3;
        }
        puVar2 = puVar2 + 1;
      } while (param_2 != puVar2);
    }
  }
  return;
}


lui gp,0x20
addiu gp,gp,-0x4a20
addu gp,gp,t9
addiu sp,sp,-0x40
sw gp,0x10(sp)
sw ra,0x3c(sp)
sw s7,0x38(sp)
sw s6,0x34(sp)
sw s5,0x30(sp)
sw s4,0x2c(sp)
sw s3,0x28(sp)
sw s2,0x24(sp)
sw s1,0x20(sp)
sw s0,0x1c(sp)
beq a0,a1,0x002cdd08
_sw a2,0x48(sp)
addiu s0,a0,0x4
beq s0,a1,0x002cdd08
_lw s5,-0x47a8(gp)
addiu s4,sp,0x48
lw s7,-0x47a4(gp)
li s6,0x4
or s2,a1,zero
or s1,a0,zero
lw a1,0x0(s0)
or a0,s4,zero
or t9,s5,zero
bal 0x002cd968
_lw a2,0x0(s1)
beq v0,zero,0x002cdd34
_lw gp,0x10(sp)
lw t9,-0x3748(gp)
subu a2,s0,s1
addu a0,s1,s6
beq s1,s0,0x002cdcf8
_lw s3,0x0(s0)
jalr t9
_or a1,s1,zero
sw s3,0x0(s1)
addiu s0,s0,0x4
bne s2,s0,0x002cdcc0
_nop
lw ra,0x3c(sp)
lw s7,0x38(sp)
lw s6,0x34(sp)
lw s5,0x30(sp)
lw s4,0x2c(sp)
lw s3,0x28(sp)
lw s2,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x40
or a1,zero,zero
or a0,s0,zero
or t9,s7,zero
bal 0x002cdbd0
_sll a1,a1,0x18
b 0x002cdd00
_addiu s0,s0,0x4
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n/* void std::__insertion_sort<__normal_iterator<gold::Sized_symbol<32>**,\n   std::vector<gold::Sized_symbol<32>*, std::allocator<gold::Sized_symbol<32>*> > >,\n   __ops::_Iter_comp_iter<gold::Weak_alias_sorter<32> >\n   >(__normal_iterator<gold::Sized_symbol<32>**, std::vector<gold::Sized_symbol<32>*,\n   std::allocator<gold::Sized_symbol<32>*> > >, __normal_iterator<gold::Sized_symbol<32>**,\n   std::vector<gold::Sized_symbol<32>*, std::allocator<gold::Sized_symbol<32>*> > >,\n   __ops::_Iter_comp_iter<gold::Weak_alias_sorter<32> >) */\n\nvoid std::\n     __insertion_sort<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 local_res8 [2];\n  \n  if (param_1 != param_2) {\n    puVar2 = param_1 + 1;\n    if (puVar2 != param_2) {\n      local_res8[0] = param_3;\n      do {\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }\n  }\n  return;\n}\n\n" comment comment (function_definition "void std::\n     __insertion_sort<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 local_res8 [2];\n  \n  if (param_1 != param_2) {\n    puVar2 = param_1 + 1;\n    if (puVar2 != param_2) {\n      local_res8[0] = param_3;\n      do {\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }\n  }\n  return;\n}" primitive_type (ERROR "std::\n     __insertion_sort<__normal_iterator<gold::Sized_symbol<32>" identifier : : identifier < identifier < identifier : : identifier < number_literal >) (pointer_declarator "**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3)" * (pointer_declarator "*,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3)" * (ERROR ",std::vector<gold::Sized_symbol<32>" , identifier : : identifier < identifier : : identifier < number_literal >) (pointer_declarator "*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3)" * (ERROR ",std::allocator<gold::Sized_symbol<32>" , identifier : : identifier < identifier : : identifier < number_literal >) (function_declarator "*>>>,__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3)" (pointer_declarator "*>>>,__ops::_Iter_comp_iter<gold::Weak_alias_sorter" * (ERROR ">>>,__ops::_Iter_comp_iter<gold::" >> > , identifier : : identifier < identifier : :) identifier) (ERROR "<32>>>" < number_literal >> >) (parameter_list "(undefined4 *param_1,undefined4 *param_2,undefined4 param_3)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) )))))) (compound_statement "{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 local_res8 [2];\n  \n  if (param_1 != param_2) {\n    puVar2 = param_1 + 1;\n    if (puVar2 != param_2) {\n      local_res8[0] = param_3;\n      do {\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 local_res8 [2];" type_identifier (array_declarator "local_res8 [2]" identifier [ number_literal ]) ;) (if_statement "if (param_1 != param_2) {\n    puVar2 = param_1 + 1;\n    if (puVar2 != param_2) {\n      local_res8[0] = param_3;\n      do {\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }\n  }" if (parenthesized_expression "(param_1 != param_2)" ( (binary_expression "param_1 != param_2" identifier != identifier) )) (compound_statement "{\n    puVar2 = param_1 + 1;\n    if (puVar2 != param_2) {\n      local_res8[0] = param_3;\n      do {\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }\n  }" { (expression_statement "puVar2 = param_1 + 1;" (assignment_expression "puVar2 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) (if_statement "if (puVar2 != param_2) {\n      local_res8[0] = param_3;\n      do {\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }" if (parenthesized_expression "(puVar2 != param_2)" ( (binary_expression "puVar2 != param_2" identifier != identifier) )) (compound_statement "{\n      local_res8[0] = param_3;\n      do {\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }" { (expression_statement "local_res8[0] = param_3;" (assignment_expression "local_res8[0] = param_3" (subscript_expression "local_res8[0]" identifier [ number_literal ]) = identifier) ;) (do_statement "do {\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);" do (compound_statement "{\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      }" { (ERROR "iVar1 = gold::" (assignment_expression "iVar1 = gold" identifier = identifier) : :) (expression_statement "Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);" (binary_expression "Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1)" (binary_expression "Weak_alias_sorter<32" identifier < number_literal) > (ERROR "::" : :) (call_expression "operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1)" (call_expression "operator()" identifier (argument_list "()" ( ))) (argument_list "((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1)" ( (parenthesized_expression "(Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1)" ( (comma_expression "Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1" (binary_expression "Weak_alias_sorter<32> *)local_res8" (binary_expression "Weak_alias_sorter<32" identifier < number_literal) > (pointer_expression "*)local_res8" * (ERROR ")" )) identifier)) , (comma_expression "(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1" (cast_expression "(Sized_symbol *)*puVar2" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier)) , (cast_expression "(Sized_symbol *)*param_1" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier)))) )) )))) ;) (if_statement "if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }" { (expression_statement "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0)" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold" (binary_expression "__unguarded_linear_insert<__normal_iterator" identifier < identifier) < identifier) (ERROR "::Sized_symbol" : : identifier) < number_literal) > (pointer_expression "**,std" * (pointer_expression "*,std" * (ERROR "," ,) identifier))) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Sized_symbol" : : identifier) < number_literal) > (pointer_expression "*,std" * (ERROR "," ,) identifier)) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Sized_symbol" : : identifier) < number_literal) > (pointer_expression "*>>>,__ops" * (ERROR ">>>," >> > ,) identifier)) (ERROR "::_Val_comp_iter" : : identifier) < identifier) (ERROR "::Weak_alias_sorter" : : identifier) < (binary_expression "32>>>\n                    (puVar2,0)" number_literal >> (ERROR ">" >) (parenthesized_expression "(puVar2,0)" ( (comma_expression "puVar2,0" identifier , number_literal) )))) ;) }) (else_clause "else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }" else (compound_statement "{\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }" { (expression_statement "uVar3 = *puVar2;" (assignment_expression "uVar3 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (if_statement "if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }" if (parenthesized_expression "(param_1 != puVar2)" ( (binary_expression "param_1 != puVar2" identifier != identifier) )) (compound_statement "{\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }" { (expression_statement "(*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);" (call_expression "(*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1)" (parenthesized_expression "(*(code *)PTR_memmove_004c5af8)" ( (pointer_expression "*(code *)PTR_memmove_004c5af8" * (cast_expression "(code *)PTR_memmove_004c5af8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + 1,param_1,(int)puVar2 - (int)param_1)" ( (binary_expression "param_1 + 1" identifier + number_literal) , identifier , (binary_expression "(int)puVar2 - (int)param_1" (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) })) (expression_statement "*param_1 = uVar3;" (assignment_expression "*param_1 = uVar3" (pointer_expression "*param_1" * identifier) = identifier) ;) }))) (expression_statement "puVar2 = puVar2 + 1;" (assignment_expression "puVar2 = puVar2 + 1" identifier = (binary_expression "puVar2 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(param_2 != puVar2)" ( (binary_expression "param_2 != puVar2" identifier != identifier) )) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n/* DWARF original name: __insertion_sort<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,\n   std::vector<gold::Sized_symbol<32>*, std::allocator<gold::Sized_symbol<32>*> > >,\n   __gnu_cxx::__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32> > > */\n\nvoid std::\n     __insertion_sort<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold::Sized_symbol<32>*>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32>_>_>\n               (undefined4 *__first,undefined4 *__last,undefined4 param_3)\n\n{\n  undefined3 extraout_var;\n  bool bVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 local_res8 [2];\n  \n  if (__first != __last) {\n    puVar2 = __first + 1;\n    if (puVar2 != __last) {\n      local_res8[0] = param_3;\n      do {\n        bVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol<32> *)*puVar2,\n                           (Sized_symbol<32> *)*__first);\n        if (CONCAT31(extraout_var,bVar1) == 0) {\n          __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold::Sized_symbol<32>*>_>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>_>_>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (__first != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(__first + 1,__first,(int)puVar2 - (int)__first);\n          }\n          *__first = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (__last != puVar2);\n    }\n  }\n  return;\n}\n\n" comment comment (declaration "void std::\n     __insertion_sort<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold::Sized_symbol<32>*>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32>_>_>\n               (undefined4 *__first,undefined4 *__last,undefined4 param_3)\n\n{\n  undefined3 extraout_var;" primitive_type (ERROR "std::\n     __insertion_sort<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>" identifier : : identifier < identifier : : identifier < identifier : : identifier < number_literal >) (pointer_declarator "**,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold::Sized_symbol<32>*>_>_" * (pointer_declarator "*,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold::Sized_symbol<32>*>_>_" * (ERROR ",_std::vector<gold::Sized_symbol<32>" , identifier : : identifier < identifier : : identifier < number_literal >) (pointer_declarator "*,_std::allocator<gold::Sized_symbol<32>*>_>_" * (ERROR ",_std::allocator<gold::Sized_symbol<32>" , identifier : : identifier < identifier : : identifier < number_literal >) (pointer_declarator "*>_>_" * (ERROR ">_>" > identifier >) identifier)))) (ERROR ">" >) , (ERROR "___gnu_cxx::__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32>_>_>\n               (undefined4 *__first,undefined4 *__last,undefined4 param_3)\n\n{\n  undefined3" identifier : : identifier : : identifier < identifier : : identifier < number_literal > identifier > (function_declarator "_>\n               (undefined4 *__first,undefined4 *__last,undefined4 param_3)" identifier (ERROR ">" >) (parameter_list "(undefined4 *__first,undefined4 *__last,undefined4 param_3)" ( (parameter_declaration "undefined4 *__first" type_identifier (pointer_declarator "*__first" * identifier)) , (parameter_declaration "undefined4 *__last" type_identifier (pointer_declarator "*__last" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) { identifier) identifier ;) (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 local_res8 [2];" type_identifier (array_declarator "local_res8 [2]" identifier [ number_literal ]) ;) (ERROR "if (__first != __last) {\n    puVar2 = __first + 1;\n    if (puVar2 != __last) {\n      local_res8[0] = param_3;\n      do {\n        bVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol<32> *)*puVar2,\n                           (Sized_symbol<32> *)*__first);\n        if (CONCAT31(extraout_var,bVar1) == 0) {\n          __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold::Sized_symbol<32>*>_>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>_>_>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (__first != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(__first + 1,__first,(int)puVar2 - (int)__first);\n          }\n          *__first = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (__last != puVar2);\n    }\n  }\n  return;\n}" if (parenthesized_expression "(__first != __last)" ( (binary_expression "__first != __last" identifier != identifier) )) { (expression_statement "puVar2 = __first + 1;" (assignment_expression "puVar2 = __first + 1" identifier = (binary_expression "__first + 1" identifier + number_literal)) ;) if (parenthesized_expression "(puVar2 != __last)" ( (binary_expression "puVar2 != __last" identifier != identifier) )) { (expression_statement "local_res8[0] = param_3;" (assignment_expression "local_res8[0] = param_3" (subscript_expression "local_res8[0]" identifier [ number_literal ]) = identifier) ;) do (compound_statement "{\n        bVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol<32> *)*puVar2,\n                           (Sized_symbol<32> *)*__first);\n        if (CONCAT31(extraout_var,bVar1) == 0) {\n          __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold::Sized_symbol<32>*>_>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>_>_>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (__first != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(__first + 1,__first,(int)puVar2 - (int)__first);\n          }\n          *__first = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (__last != puVar2);\n    }\n  }\n  return;\n}" { (ERROR "bVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol<32> *)*puVar2,\n                           (Sized_symbol<32> *)*__first);\n        if (CONCAT31(extraout_var,bVar1) == 0) {\n          __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold::Sized_symbol<32>*>_>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>_>_>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (__first != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(__first + 1,__first,(int)puVar2 - (int)__first);\n          }\n          *__first = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (__last != puVar2);\n    }\n  }" (assignment_expression "bVar1 = gold" identifier = identifier) : : (binary_expression "Weak_alias_sorter<32" identifier < number_literal) > (ERROR "::" : :) (call_expression "operator()" identifier (argument_list "()" ( ))) ( ( (binary_expression "Weak_alias_sorter<32> *)local_res8" (binary_expression "Weak_alias_sorter<32" identifier < number_literal) > (pointer_expression "*)local_res8" * (ERROR ")" )) identifier)) , ( (ERROR "Sized_symbol<32> *)*puVar2,\n                           (Sized_symbol<32> *)*__first);\n        if (CONCAT31(extraout_var,bVar1) == 0) {\n          __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold::Sized_symbol<32>*>_>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>_>_>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (__first != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(__first + 1,__first,(int)puVar2 - (int)__first);\n          }\n          *__first = uVar3;\n        }" (comma_expression "Sized_symbol<32> *)*puVar2,\n                           (Sized_symbol<32> *)*__first)" (binary_expression "Sized_symbol<32> *)*puVar2" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)*puVar2" * (ERROR ")" )) (pointer_expression "*puVar2" * identifier))) , (parenthesized_expression "(Sized_symbol<32> *)*__first)" ( (binary_expression "Sized_symbol<32> *)*__first" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)*__first" * (ERROR ")" )) (pointer_expression "*__first" * identifier))) ))) ; if (parenthesized_expression "(CONCAT31(extraout_var,bVar1) == 0)" ( (binary_expression "CONCAT31(extraout_var,bVar1) == 0" (call_expression "CONCAT31(extraout_var,bVar1)" identifier (argument_list "(extraout_var,bVar1)" ( identifier , identifier ))) == number_literal) )) (compound_statement "{\n          __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold::Sized_symbol<32>*>_>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>_>_>\n                    (puVar2,0);\n        }" { (expression_statement "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold::Sized_symbol<32>*>_>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>_>_>\n                    (puVar2,0);" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold::Sized_symbol<32>*>_>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>_>_>\n                    (puVar2,0)" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold::Sized_symbol<32>*>_>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>_>_" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold::Sized_symbol<32>*>_>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>_" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold::Sized_symbol<32>*>_>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Weak_alias_sorter<32" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold::Sized_symbol<32>*>_>_>,___gnu_cxx::__ops::_Val_comp_iter<gold" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold::Sized_symbol<32>*>_>_>,___gnu_cxx" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold::Sized_symbol<32>*>_>_" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold::Sized_symbol<32>*>_" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold::Sized_symbol<32" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32>*,_std" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold" (binary_expression "__unguarded_linear_insert<__gnu_cxx" identifier < identifier) (ERROR "::__normal_iterator" : : identifier) < identifier) (ERROR "::Sized_symbol" : : identifier) < number_literal) > (pointer_expression "**,_std" * (pointer_expression "*,_std" * (ERROR "," ,) identifier))) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Sized_symbol" : : identifier) < number_literal) > (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Sized_symbol" : : identifier) < number_literal) > (pointer_expression "*>_" * (ERROR ">" >) identifier)) > identifier) > (ERROR "," ,) identifier) (ERROR "::__ops::_Val_comp_iter" : : identifier : : identifier) < identifier) (ERROR "::Weak_alias_sorter" : : identifier) < number_literal) > identifier) > identifier) > (parenthesized_expression "(puVar2,0)" ( (comma_expression "puVar2,0" identifier , number_literal) ))) ;) }) else (compound_statement "{\n          uVar3 = *puVar2;\n          if (__first != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(__first + 1,__first,(int)puVar2 - (int)__first);\n          }\n          *__first = uVar3;\n        }" { (expression_statement "uVar3 = *puVar2;" (assignment_expression "uVar3 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (if_statement "if (__first != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(__first + 1,__first,(int)puVar2 - (int)__first);\n          }" if (parenthesized_expression "(__first != puVar2)" ( (binary_expression "__first != puVar2" identifier != identifier) )) (compound_statement "{\n            (*(code *)PTR_memmove_004c5af8)(__first + 1,__first,(int)puVar2 - (int)__first);\n          }" { (expression_statement "(*(code *)PTR_memmove_004c5af8)(__first + 1,__first,(int)puVar2 - (int)__first);" (call_expression "(*(code *)PTR_memmove_004c5af8)(__first + 1,__first,(int)puVar2 - (int)__first)" (parenthesized_expression "(*(code *)PTR_memmove_004c5af8)" ( (pointer_expression "*(code *)PTR_memmove_004c5af8" * (cast_expression "(code *)PTR_memmove_004c5af8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(__first + 1,__first,(int)puVar2 - (int)__first)" ( (binary_expression "__first + 1" identifier + number_literal) , identifier , (binary_expression "(int)puVar2 - (int)__first" (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)__first" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) })) (expression_statement "*__first = uVar3;" (assignment_expression "*__first = uVar3" (pointer_expression "*__first" * identifier) = identifier) ;) })) (call_expression "puVar2 = puVar2 + 1;\n      } while (__last != puVar2)" (assignment_expression "puVar2 = puVar2 + 1" identifier = (binary_expression "puVar2 + 1" identifier + number_literal)) (ERROR ";\n      } while" ; } while) (argument_list "(__last != puVar2)" ( (binary_expression "__last != puVar2" identifier != identifier) ))) ; } }) (return_statement "return;" return ;) })))
(translation_unit "void std::\n     __insertion_sort<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 local_res8 [2];\n  \n  if (param_1 != param_2) {\n    puVar2 = param_1 + 1;\n    if (puVar2 != param_2) {\n      local_res8[0] = param_3;\n      do {\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }\n  }\n  return;\n}\n\n" (function_definition "void std::\n     __insertion_sort<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 local_res8 [2];\n  \n  if (param_1 != param_2) {\n    puVar2 = param_1 + 1;\n    if (puVar2 != param_2) {\n      local_res8[0] = param_3;\n      do {\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }\n  }\n  return;\n}" primitive_type (ERROR "std::\n     __insertion_sort<__normal_iterator<gold::Sized_symbol<32>" identifier : : identifier < identifier < identifier : : identifier < number_literal >) (pointer_declarator "**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3)" * (pointer_declarator "*,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3)" * (ERROR ",std::vector<gold::Sized_symbol<32>" , identifier : : identifier < identifier : : identifier < number_literal >) (pointer_declarator "*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3)" * (ERROR ",std::allocator<gold::Sized_symbol<32>" , identifier : : identifier < identifier : : identifier < number_literal >) (function_declarator "*>>>,__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3)" (pointer_declarator "*>>>,__ops::_Iter_comp_iter<gold::Weak_alias_sorter" * (ERROR ">>>,__ops::_Iter_comp_iter<gold::" >> > , identifier : : identifier < identifier : :) identifier) (ERROR "<32>>>" < number_literal >> >) (parameter_list "(undefined4 *param_1,undefined4 *param_2,undefined4 param_3)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) )))))) (compound_statement "{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 local_res8 [2];\n  \n  if (param_1 != param_2) {\n    puVar2 = param_1 + 1;\n    if (puVar2 != param_2) {\n      local_res8[0] = param_3;\n      do {\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 local_res8 [2];" type_identifier (array_declarator "local_res8 [2]" identifier [ number_literal ]) ;) (if_statement "if (param_1 != param_2) {\n    puVar2 = param_1 + 1;\n    if (puVar2 != param_2) {\n      local_res8[0] = param_3;\n      do {\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }\n  }" if (parenthesized_expression "(param_1 != param_2)" ( (binary_expression "param_1 != param_2" identifier != identifier) )) (compound_statement "{\n    puVar2 = param_1 + 1;\n    if (puVar2 != param_2) {\n      local_res8[0] = param_3;\n      do {\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }\n  }" { (expression_statement "puVar2 = param_1 + 1;" (assignment_expression "puVar2 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) (if_statement "if (puVar2 != param_2) {\n      local_res8[0] = param_3;\n      do {\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }" if (parenthesized_expression "(puVar2 != param_2)" ( (binary_expression "puVar2 != param_2" identifier != identifier) )) (compound_statement "{\n      local_res8[0] = param_3;\n      do {\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }" { (expression_statement "local_res8[0] = param_3;" (assignment_expression "local_res8[0] = param_3" (subscript_expression "local_res8[0]" identifier [ number_literal ]) = identifier) ;) (do_statement "do {\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);" do (compound_statement "{\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      }" { (ERROR "iVar1 = gold::" (assignment_expression "iVar1 = gold" identifier = identifier) : :) (expression_statement "Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);" (binary_expression "Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1)" (binary_expression "Weak_alias_sorter<32" identifier < number_literal) > (ERROR "::" : :) (call_expression "operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1)" (call_expression "operator()" identifier (argument_list "()" ( ))) (argument_list "((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1)" ( (parenthesized_expression "(Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1)" ( (comma_expression "Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1" (binary_expression "Weak_alias_sorter<32> *)local_res8" (binary_expression "Weak_alias_sorter<32" identifier < number_literal) > (pointer_expression "*)local_res8" * (ERROR ")" )) identifier)) , (comma_expression "(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1" (cast_expression "(Sized_symbol *)*puVar2" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier)) , (cast_expression "(Sized_symbol *)*param_1" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier)))) )) )))) ;) (if_statement "if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }" { (expression_statement "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0)" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold" (binary_expression "__unguarded_linear_insert<__normal_iterator" identifier < identifier) < identifier) (ERROR "::Sized_symbol" : : identifier) < number_literal) > (pointer_expression "**,std" * (pointer_expression "*,std" * (ERROR "," ,) identifier))) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Sized_symbol" : : identifier) < number_literal) > (pointer_expression "*,std" * (ERROR "," ,) identifier)) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Sized_symbol" : : identifier) < number_literal) > (pointer_expression "*>>>,__ops" * (ERROR ">>>," >> > ,) identifier)) (ERROR "::_Val_comp_iter" : : identifier) < identifier) (ERROR "::Weak_alias_sorter" : : identifier) < (binary_expression "32>>>\n                    (puVar2,0)" number_literal >> (ERROR ">" >) (parenthesized_expression "(puVar2,0)" ( (comma_expression "puVar2,0" identifier , number_literal) )))) ;) }) (else_clause "else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }" else (compound_statement "{\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }" { (expression_statement "uVar3 = *puVar2;" (assignment_expression "uVar3 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (if_statement "if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }" if (parenthesized_expression "(param_1 != puVar2)" ( (binary_expression "param_1 != puVar2" identifier != identifier) )) (compound_statement "{\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }" { (expression_statement "(*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);" (call_expression "(*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1)" (parenthesized_expression "(*(code *)PTR_memmove_004c5af8)" ( (pointer_expression "*(code *)PTR_memmove_004c5af8" * (cast_expression "(code *)PTR_memmove_004c5af8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + 1,param_1,(int)puVar2 - (int)param_1)" ( (binary_expression "param_1 + 1" identifier + number_literal) , identifier , (binary_expression "(int)puVar2 - (int)param_1" (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) })) (expression_statement "*param_1 = uVar3;" (assignment_expression "*param_1 = uVar3" (pointer_expression "*param_1" * identifier) = identifier) ;) }))) (expression_statement "puVar2 = puVar2 + 1;" (assignment_expression "puVar2 = puVar2 + 1" identifier = (binary_expression "puVar2 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(param_2 != puVar2)" ( (binary_expression "param_2 != puVar2" identifier != identifier) )) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT : : IDENT < IDENT < IDENT : : IDENT < LIT >) (pointer_declarator * (pointer_declarator * (ERROR , IDENT : : IDENT < IDENT : : IDENT < LIT >) (pointer_declarator * (ERROR , IDENT : : IDENT < IDENT : : IDENT < LIT >) (function_declarator (pointer_declarator * (ERROR >> > , IDENT : : IDENT < IDENT : :) IDENT) (ERROR < LIT >> >) (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) )))))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (do_statement do (compound_statement { (ERROR (assignment_expression IDENT = IDENT) : :) (expression_statement (binary_expression (binary_expression IDENT < LIT) > (ERROR : :) (call_expression (call_expression IDENT (argument_list ( ))) (argument_list ( (parenthesized_expression ( (comma_expression (binary_expression (binary_expression IDENT < LIT) > (pointer_expression * (ERROR )) IDENT)) , (comma_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)))) )) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT < IDENT) < IDENT) (ERROR : : IDENT) < LIT) > (pointer_expression * (pointer_expression * (ERROR ,) IDENT))) (ERROR : : IDENT) < IDENT) (ERROR : : IDENT) < LIT) > (pointer_expression * (ERROR ,) IDENT)) (ERROR : : IDENT) < IDENT) (ERROR : : IDENT) < LIT) > (pointer_expression * (ERROR >> > ,) IDENT)) (ERROR : : IDENT) < IDENT) (ERROR : : IDENT) < (binary_expression LIT >> (ERROR >) (parenthesized_expression ( (comma_expression IDENT , LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) })) (return_statement return ;) })))
(function_definition "void std::\n     __insertion_sort<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 local_res8 [2];\n  \n  if (param_1 != param_2) {\n    puVar2 = param_1 + 1;\n    if (puVar2 != param_2) {\n      local_res8[0] = param_3;\n      do {\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }\n  }\n  return;\n}" (primitive_type "void") (ERROR "std::\n     __insertion_sort<__normal_iterator<gold::Sized_symbol<32>" (identifier "std") (: ":") (: ":") (identifier "__insertion_sort") (< "<") (identifier "__normal_iterator") (< "<") (identifier "gold") (: ":") (: ":") (identifier "Sized_symbol") (< "<") (number_literal "32") (> ">")) (pointer_declarator "**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3)" (* "*") (pointer_declarator "*,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3)" (* "*") (ERROR ",std::vector<gold::Sized_symbol<32>" (, ",") (identifier "std") (: ":") (: ":") (identifier "vector") (< "<") (identifier "gold") (: ":") (: ":") (identifier "Sized_symbol") (< "<") (number_literal "32") (> ">")) (pointer_declarator "*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3)" (* "*") (ERROR ",std::allocator<gold::Sized_symbol<32>" (, ",") (identifier "std") (: ":") (: ":") (identifier "allocator") (< "<") (identifier "gold") (: ":") (: ":") (identifier "Sized_symbol") (< "<") (number_literal "32") (> ">")) (function_declarator "*>>>,__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32>>>\n               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3)" (pointer_declarator "*>>>,__ops::_Iter_comp_iter<gold::Weak_alias_sorter" (* "*") (ERROR ">>>,__ops::_Iter_comp_iter<gold::" (>> ">>") (> ">") (, ",") (identifier "__ops") (: ":") (: ":") (identifier "_Iter_comp_iter") (< "<") (identifier "gold") (: ":") (: ":")) (identifier "Weak_alias_sorter")) (ERROR "<32>>>" (< "<") (number_literal "32") (>> ">>") (> ">")) (parameter_list "(undefined4 *param_1,undefined4 *param_2,undefined4 param_3)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) () ")")))))) (compound_statement "{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  undefined4 local_res8 [2];\n  \n  if (param_1 != param_2) {\n    puVar2 = param_1 + 1;\n    if (puVar2 != param_2) {\n      local_res8[0] = param_3;\n      do {\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }\n  }\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined4 *puVar2;" (type_identifier "undefined4") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined4 local_res8 [2];" (type_identifier "undefined4") (array_declarator "local_res8 [2]" (identifier "local_res8") ([ "[") (number_literal "2") (] "]")) (; ";")) (if_statement "if (param_1 != param_2) {\n    puVar2 = param_1 + 1;\n    if (puVar2 != param_2) {\n      local_res8[0] = param_3;\n      do {\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }\n  }" (if "if") (parenthesized_expression "(param_1 != param_2)" (( "(") (binary_expression "param_1 != param_2" (identifier "param_1") (!= "!=") (identifier "param_2")) () ")")) (compound_statement "{\n    puVar2 = param_1 + 1;\n    if (puVar2 != param_2) {\n      local_res8[0] = param_3;\n      do {\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }\n  }" ({ "{") (expression_statement "puVar2 = param_1 + 1;" (assignment_expression "puVar2 = param_1 + 1" (identifier "puVar2") (= "=") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (puVar2 != param_2) {\n      local_res8[0] = param_3;\n      do {\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }" (if "if") (parenthesized_expression "(puVar2 != param_2)" (( "(") (binary_expression "puVar2 != param_2" (identifier "puVar2") (!= "!=") (identifier "param_2")) () ")")) (compound_statement "{\n      local_res8[0] = param_3;\n      do {\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);\n    }" ({ "{") (expression_statement "local_res8[0] = param_3;" (assignment_expression "local_res8[0] = param_3" (subscript_expression "local_res8[0]" (identifier "local_res8") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "param_3")) (; ";")) (do_statement "do {\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      } while (param_2 != puVar2);" (do "do") (compound_statement "{\n        iVar1 = gold::Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);\n        if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }\n        puVar2 = puVar2 + 1;\n      }" ({ "{") (ERROR "iVar1 = gold::" (assignment_expression "iVar1 = gold" (identifier "iVar1") (= "=") (identifier "gold")) (: ":") (: ":")) (expression_statement "Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1);" (binary_expression "Weak_alias_sorter<32>::operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1)" (binary_expression "Weak_alias_sorter<32" (identifier "Weak_alias_sorter") (< "<") (number_literal "32")) (> ">") (ERROR "::" (: ":") (: ":")) (call_expression "operator()\n                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1)" (call_expression "operator()" (identifier "operator") (argument_list "()" (( "(") () ")"))) (argument_list "((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1)" (( "(") (parenthesized_expression "(Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1)" (( "(") (comma_expression "Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1" (binary_expression "Weak_alias_sorter<32> *)local_res8" (binary_expression "Weak_alias_sorter<32" (identifier "Weak_alias_sorter") (< "<") (number_literal "32")) (> ">") (pointer_expression "*)local_res8" (* "*") (ERROR ")" () ")")) (identifier "local_res8"))) (, ",") (comma_expression "(Sized_symbol *)*puVar2,\n                           (Sized_symbol *)*param_1" (cast_expression "(Sized_symbol *)*puVar2" (( "(") (type_descriptor "Sized_symbol *" (type_identifier "Sized_symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (, ",") (cast_expression "(Sized_symbol *)*param_1" (( "(") (type_descriptor "Sized_symbol *" (type_identifier "Sized_symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1"))))) () ")")) () "")))) (; ";")) (if_statement "if (iVar1 == 0) {\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }\n        else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);\n        }" ({ "{") (expression_statement "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0);" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>\n                    (puVar2,0)" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32" (binary_expression "__unguarded_linear_insert<__normal_iterator<gold" (binary_expression "__unguarded_linear_insert<__normal_iterator" (identifier "__unguarded_linear_insert") (< "<") (identifier "__normal_iterator")) (< "<") (identifier "gold")) (ERROR "::Sized_symbol" (: ":") (: ":") (identifier "Sized_symbol")) (< "<") (number_literal "32")) (> ">") (pointer_expression "**,std" (* "*") (pointer_expression "*,std" (* "*") (ERROR "," (, ",")) (identifier "std")))) (ERROR "::vector" (: ":") (: ":") (identifier "vector")) (< "<") (identifier "gold")) (ERROR "::Sized_symbol" (: ":") (: ":") (identifier "Sized_symbol")) (< "<") (number_literal "32")) (> ">") (pointer_expression "*,std" (* "*") (ERROR "," (, ",")) (identifier "std"))) (ERROR "::allocator" (: ":") (: ":") (identifier "allocator")) (< "<") (identifier "gold")) (ERROR "::Sized_symbol" (: ":") (: ":") (identifier "Sized_symbol")) (< "<") (number_literal "32")) (> ">") (pointer_expression "*>>>,__ops" (* "*") (ERROR ">>>," (>> ">>") (> ">") (, ",")) (identifier "__ops"))) (ERROR "::_Val_comp_iter" (: ":") (: ":") (identifier "_Val_comp_iter")) (< "<") (identifier "gold")) (ERROR "::Weak_alias_sorter" (: ":") (: ":") (identifier "Weak_alias_sorter")) (< "<") (binary_expression "32>>>\n                    (puVar2,0)" (number_literal "32") (>> ">>") (ERROR ">" (> ">")) (parenthesized_expression "(puVar2,0)" (( "(") (comma_expression "puVar2,0" (identifier "puVar2") (, ",") (number_literal "0")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }" (else "else") (compound_statement "{\n          uVar3 = *puVar2;\n          if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }\n          *param_1 = uVar3;\n        }" ({ "{") (expression_statement "uVar3 = *puVar2;" (assignment_expression "uVar3 = *puVar2" (identifier "uVar3") (= "=") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (; ";")) (if_statement "if (param_1 != puVar2) {\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }" (if "if") (parenthesized_expression "(param_1 != puVar2)" (( "(") (binary_expression "param_1 != puVar2" (identifier "param_1") (!= "!=") (identifier "puVar2")) () ")")) (compound_statement "{\n            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);\n          }" ({ "{") (expression_statement "(*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);" (call_expression "(*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1)" (parenthesized_expression "(*(code *)PTR_memmove_004c5af8)" (( "(") (pointer_expression "*(code *)PTR_memmove_004c5af8" (* "*") (cast_expression "(code *)PTR_memmove_004c5af8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memmove_004c5af8"))) () ")")) (argument_list "(param_1 + 1,param_1,(int)puVar2 - (int)param_1)" (( "(") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1")) (, ",") (identifier "param_1") (, ",") (binary_expression "(int)puVar2 - (int)param_1" (cast_expression "(int)puVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar2")) (- "-") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1"))) () ")"))) (; ";")) (} "}"))) (expression_statement "*param_1 = uVar3;" (assignment_expression "*param_1 = uVar3" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "uVar3")) (; ";")) (} "}")))) (expression_statement "puVar2 = puVar2 + 1;" (assignment_expression "puVar2 = puVar2 + 1" (identifier "puVar2") (= "=") (binary_expression "puVar2 + 1" (identifier "puVar2") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_2 != puVar2)" (( "(") (binary_expression "param_2 != puVar2" (identifier "param_2") (!= "!=") (identifier "puVar2")) () ")")) (; ";")) (} "}"))) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* DWARF original name: __insertion_sort<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,
   std::vector<gold::Sized_symbol<32>*, std::allocator<gold::Sized_symbol<32>*> > >,
   __gnu_cxx::__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32> > > */

void std::
     __insertion_sort<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold::Sized_symbol<32>*>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Weak_alias_sorter<32>_>_>
               (type_1 *__first,type_1 *__last,type_1 param_3)

{
  undefined3 extraout_var;
  bool bVar1;
  type_1 *puVar2;
  type_1 uVar3;
  type_1 local_res8 [2];
  
  if (__first != __last) {
    puVar2 = __first + 1;
    if (puVar2 != __last) {
      local_res8[0] = param_3;
      do {
        bVar1 = gold::Weak_alias_sorter<32>::operator()
                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol<32> *)*puVar2,
                           (Sized_symbol<32> *)*__first);
        if (CONCAT31(extraout_var,bVar1) == 0) {
          __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Sized_symbol<32>**,_std::vector<gold::Sized_symbol<32>*,_std::allocator<gold::Sized_symbol<32>*>_>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>_>_>
                    (puVar2,0);
        }
        else {
          uVar3 = *puVar2;
          if (__first != puVar2) {
            (*(code *)PTR_memmove_004c5af8)(__first + 1,__first,(int)puVar2 - (int)__first);
          }
          *__first = uVar3;
        }
        puVar2 = puVar2 + 1;
      } while (__last != puVar2);
    }
  }
  return;
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier) (identifier) (identifier) (identifier) (identifier) (number_literal)) declarator: (pointer_declarator declarator: (pointer_declarator (ERROR (identifier) (identifier) (identifier) (identifier) (number_literal)) declarator: (pointer_declarator (ERROR (identifier) (identifier) (identifier) (identifier) (number_literal)) declarator: (function_declarator declarator: (pointer_declarator (ERROR (identifier) (identifier) (identifier)) declarator: (identifier)) (ERROR (number_literal)) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier))))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (do_statement body: (compound_statement (ERROR (assignment_expression left: (identifier) right: (identifier))) (expression_statement (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) (ERROR) right: (call_expression function: (call_expression function: (identifier) arguments: (argument_list)) arguments: (argument_list (parenthesized_expression (comma_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression (ERROR) argument: (identifier))) right: (comma_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (MISSING ")"))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (ERROR (identifier)) right: (number_literal)) right: (pointer_expression argument: (pointer_expression (ERROR) argument: (identifier)))) (ERROR (identifier)) right: (identifier)) (ERROR (identifier)) right: (number_literal)) right: (pointer_expression (ERROR) argument: (identifier))) (ERROR (identifier)) right: (identifier)) (ERROR (identifier)) right: (number_literal)) right: (pointer_expression (ERROR) argument: (identifier))) (ERROR (identifier)) right: (identifier)) (ERROR (identifier)) right: (binary_expression left: (number_literal) (ERROR) right: (parenthesized_expression (comma_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) (return_statement))))

/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* void std::__insertion_sort<__normal_iterator<gold::Sized_symbol<32>**,
   std::vector<gold::Sized_symbol<32>*, std::allocator<gold::Sized_symbol<32>*> > >,
   __ops::_Iter_comp_iter<gold::Weak_alias_sorter<32> >
   >(__normal_iterator<gold::Sized_symbol<32>**, std::vector<gold::Sized_symbol<32>*,
   std::allocator<gold::Sized_symbol<32>*> > >, __normal_iterator<gold::Sized_symbol<32>**,
   std::vector<gold::Sized_symbol<32>*, std::allocator<gold::Sized_symbol<32>*> > >,
   __ops::_Iter_comp_iter<gold::Weak_alias_sorter<32> >) */

void std::
     MASKED
               (undefined4 *param_1,undefined4 *param_2,undefined4 param_3)

{
  int iVar1;
  undefined4 *puVar2;
  undefined4 uVar3;
  undefined4 local_res8 [2];
  
  if (param_1 != param_2) {
    puVar2 = param_1 + 1;
    if (puVar2 != param_2) {
      local_res8[0] = param_3;
      do {
        iVar1 = gold::Weak_alias_sorter<32>::operator()
                          ((Weak_alias_sorter<32> *)local_res8,(Sized_symbol *)*puVar2,
                           (Sized_symbol *)*param_1);
        if (iVar1 == 0) {
          __unguarded_linear_insert<__normal_iterator<gold::Sized_symbol<32>**,std::vector<gold::Sized_symbol<32>*,std::allocator<gold::Sized_symbol<32>*>>>,__ops::_Val_comp_iter<gold::Weak_alias_sorter<32>>>
                    (puVar2,0);
        }
        else {
          uVar3 = *puVar2;
          if (param_1 != puVar2) {
            (*(code *)PTR_memmove_004c5af8)(param_1 + 1,param_1,(int)puVar2 - (int)param_1);
          }
          *param_1 = uVar3;
        }
        puVar2 = puVar2 + 1;
      } while (param_2 != puVar2);
    }
  }
  return;
}

