
/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* DWARF original name:
   __insertion_sort<__gnu_cxx::__normal_iterator<std::__detail::_Node_iterator<std::pair<const
   gold::Stringpool_template<char>::Hashkey, unsigned int>, false, true>*,
   std::vector<std::__detail::_Node_iterator<std::pair<const
   gold::Stringpool_template<char>::Hashkey, unsigned int>, false, true>,
   std::allocator<std::__detail::_Node_iterator<std::pair<const
   gold::Stringpool_template<char>::Hashkey, unsigned int>, false, true> > > >,
   __gnu_cxx::__ops::_Iter_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison> >
    */

void std::
     __insertion_sort<__gnu_cxx::__normal_iterator<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>*,_std::vector<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>,_std::allocator<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>_>
               (Stringpool_sort_info *__first,Stringpool_sort_info *__last,undefined4 param_3)

{
  undefined3 extraout_var;
  bool bVar2;
  Stringpool_sort_info *pSVar1;
  int iVar3;
  __node_type *p_Var4;
  Stringpool_sort_info *sort_info1;
  Stringpool_sort_info *pSVar5;
  undefined4 local_res8 [2];
  
  if ((__first != __last) && (__first + 1 != __last)) {
    sort_info1 = __first + 1;
    local_res8[0] = param_3;
    do {
      while( true ) {
        bVar2 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()
                          ((Stringpool_sort_comparison *)local_res8,sort_info1,__first);
        pSVar5 = sort_info1 + 1;
        if (CONCAT31(extraout_var,bVar2) == 0) break;
        p_Var4 = (sort_info1->
                 super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>
                 )._M_cur;
        iVar3 = (int)sort_info1 - (int)__first >> 2;
        pSVar1 = pSVar5;
        if (0 < (int)sort_info1 - (int)__first) {
          do {
            iVar3 = iVar3 + -1;
            pSVar1[-1].
            super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>
            ._M_cur = pSVar1[-2].
                      super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>
                      ._M_cur;
            pSVar1 = pSVar1 + -1;
          } while (iVar3 != 0);
        }
        (__first->
        super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>
        )._M_cur = p_Var4;
        sort_info1 = pSVar5;
        if (pSVar5 == __last) {
          return;
        }
      }
      __unguarded_linear_insert<__gnu_cxx::__normal_iterator<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>*,_std::vector<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>,_std::allocator<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>_>_>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>_>
                (sort_info1,0);
      sort_info1 = pSVar5;
    } while (pSVar5 != __last);
  }
  return;
}



/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* void 
   std::__insertion_sort<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey
   const, unsigned int>, false, true>*,
   std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey
   const, unsigned int>, false, true>,
   std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey
   const, unsigned int>, false, true> > > >,
   __ops::_Iter_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>
   >(__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey
   const, unsigned int>, false, true>*,
   std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey
   const, unsigned int>, false, true>,
   std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey
   const, unsigned int>, false, true> > > >,
   __normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey
   const, unsigned int>, false, true>*,
   std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey
   const, unsigned int>, false, true>,
   std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey
   const, unsigned int>, false, true> > > >,
   __ops::_Iter_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>) */

void std::
     __insertion_sort<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Iter_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>
               (_Node_iterator *param_1,_Node_iterator *param_2,undefined4 param_3)

{
  int iVar1;
  _Node_iterator *p_Var2;
  undefined4 uVar3;
  _Node_iterator *p_Var4;
  _Node_iterator *p_Var5;
  undefined4 local_res8 [2];
  
  if ((param_1 != param_2) && (param_1 + 4 != param_2)) {
    p_Var4 = param_1 + 4;
    local_res8[0] = param_3;
    do {
      while( true ) {
        iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()
                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);
        p_Var5 = p_Var4 + 4;
        if (iVar1 == 0) break;
        uVar3 = *(undefined4 *)p_Var4;
        iVar1 = (int)p_Var4 - (int)param_1 >> 2;
        p_Var2 = p_Var5;
        if (0 < (int)p_Var4 - (int)param_1) {
          do {
            iVar1 = iVar1 + -1;
            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);
            p_Var2 = p_Var2 + -4;
          } while (iVar1 != 0);
        }
        *(undefined4 *)param_1 = uVar3;
        p_Var4 = p_Var5;
        if (p_Var5 == param_2) {
          return;
        }
      }
      __unguarded_linear_insert<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>
                (p_Var4,0);
      p_Var4 = p_Var5;
    } while (p_Var5 != param_2);
  }
  return;
}


lui gp,0x21
addiu gp,gp,-0xe88
addu gp,gp,t9
addiu sp,sp,-0x38
sw gp,0x10(sp)
sw ra,0x34(sp)
sw s6,0x30(sp)
sw s5,0x2c(sp)
sw s4,0x28(sp)
sw s3,0x24(sp)
sw s2,0x20(sp)
sw s1,0x1c(sp)
sw s0,0x18(sp)
beq a0,a1,0x0022b120
_sw a2,0x40(sp)
addiu s0,a0,0x4
beq s0,a1,0x0022b120
_or s2,a1,zero
lw s3,-0x4fc4(gp)
or s1,a0,zero
lw s4,-0x4fc0(gp)
b 0x0022b0d0
_addiu s6,sp,0x40
or a1,zero,zero
or a0,s0,zero
or t9,s4,zero
bal 0x0022afc4
_sll a1,a1,0x18
beq s5,s2,0x0022b120
_or s0,s5,zero
or a2,s1,zero
or a1,s0,zero
or t9,s3,zero
bal 0x00226044
_or a0,s6,zero
beq v0,zero,0x0022b0b4
_addiu s5,s0,0x4
subu s0,s0,s1
lw a0,-0x4(s5)
or v0,s5,zero
blez s0,0x0022b114
_sra v1,s0,0x2
addiu v0,v0,-0x4
lw a2,-0x4(v0)
addiu v1,v1,-0x1
bne v1,zero,0x0022b100
_sw a2,0x0(v0)
sw a0,0x0(s1)
bne s5,s2,0x0022b0d0
_or s0,s5,zero
lw ra,0x34(sp)
lw s6,0x30(sp)
lw s5,0x2c(sp)
lw s4,0x28(sp)
lw s3,0x24(sp)
lw s2,0x20(sp)
lw s1,0x1c(sp)
lw s0,0x18(sp)
jr ra
_addiu sp,sp,0x38
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n/* void \n   std::__insertion_sort<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey\n   const, unsigned int>, false, true>*,\n   std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey\n   const, unsigned int>, false, true>,\n   std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey\n   const, unsigned int>, false, true> > > >,\n   __ops::_Iter_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>\n   >(__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey\n   const, unsigned int>, false, true>*,\n   std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey\n   const, unsigned int>, false, true>,\n   std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey\n   const, unsigned int>, false, true> > > >,\n   __normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey\n   const, unsigned int>, false, true>*,\n   std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey\n   const, unsigned int>, false, true>,\n   std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey\n   const, unsigned int>, false, true> > > >,\n   __ops::_Iter_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>) */\n\nvoid std::\n     __insertion_sort<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Iter_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n               (_Node_iterator *param_1,_Node_iterator *param_2,undefined4 param_3)\n\n{\n  int iVar1;\n  _Node_iterator *p_Var2;\n  undefined4 uVar3;\n  _Node_iterator *p_Var4;\n  _Node_iterator *p_Var5;\n  undefined4 local_res8 [2];\n  \n  if ((param_1 != param_2) && (param_1 + 4 != param_2)) {\n    p_Var4 = param_1 + 4;\n    local_res8[0] = param_3;\n    do {\n      while( true ) {\n        iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);\n        p_Var5 = p_Var4 + 4;\n        if (iVar1 == 0) break;\n        uVar3 = *(undefined4 *)p_Var4;\n        iVar1 = (int)p_Var4 - (int)param_1 >> 2;\n        p_Var2 = p_Var5;\n        if (0 < (int)p_Var4 - (int)param_1) {\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }\n        *(undefined4 *)param_1 = uVar3;\n        p_Var4 = p_Var5;\n        if (p_Var5 == param_2) {\n          return;\n        }\n      }\n      __unguarded_linear_insert<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n                (p_Var4,0);\n      p_Var4 = p_Var5;\n    } while (p_Var5 != param_2);\n  }\n  return;\n}\n\n" comment comment (declaration "void std::\n     __insertion_sort<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Iter_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n               (_Node_iterator *param_1,_Node_iterator *param_2,undefined4 param_3)\n\n{\n  int iVar1;" primitive_type (ERROR "std::\n     __insertion_sort<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::" identifier : : identifier < identifier < identifier : : identifier : : identifier < identifier : : identifier < identifier : : identifier < primitive_type > : :) identifier , identifier (ERROR ">" >) , identifier , identifier (ERROR ">*" > *) , (ERROR "std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::" identifier : : identifier < identifier : : identifier : : identifier < identifier : : identifier < identifier : : identifier < primitive_type > : :) identifier , identifier (ERROR ">" >) , identifier , identifier (ERROR ">" >) , (ERROR "std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::" identifier : : identifier < identifier : : identifier : : identifier < identifier : : identifier < identifier : : identifier < primitive_type > : :) identifier , identifier (ERROR ">" >) , identifier , identifier (ERROR ">>>>" >> >>) , (ERROR "__ops::_Iter_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n               (_Node_iterator *param_1,_Node_iterator *param_2,undefined4 param_3)\n\n{\n  int" identifier : : identifier < identifier : : identifier < primitive_type > : : (function_declarator "Stringpool_sort_comparison>>\n               (_Node_iterator *param_1,_Node_iterator *param_2,undefined4 param_3)" identifier (ERROR ">>" >>) (parameter_list "(_Node_iterator *param_1,_Node_iterator *param_2,undefined4 param_3)" ( (parameter_declaration "_Node_iterator *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "_Node_iterator *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) { primitive_type) identifier ;) (declaration "_Node_iterator *p_Var2;" type_identifier (pointer_declarator "*p_Var2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "_Node_iterator *p_Var4;" type_identifier (pointer_declarator "*p_Var4" * identifier) ;) (declaration "_Node_iterator *p_Var5;" type_identifier (pointer_declarator "*p_Var5" * identifier) ;) (declaration "undefined4 local_res8 [2];" type_identifier (array_declarator "local_res8 [2]" identifier [ number_literal ]) ;) (if_statement "if ((param_1 != param_2) && (param_1 + 4 != param_2)) {\n    p_Var4 = param_1 + 4;\n    local_res8[0] = param_3;\n    do {\n      while( true ) {\n        iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);\n        p_Var5 = p_Var4 + 4;\n        if (iVar1 == 0) break;\n        uVar3 = *(undefined4 *)p_Var4;\n        iVar1 = (int)p_Var4 - (int)param_1 >> 2;\n        p_Var2 = p_Var5;\n        if (0 < (int)p_Var4 - (int)param_1) {\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }\n        *(undefined4 *)param_1 = uVar3;\n        p_Var4 = p_Var5;\n        if (p_Var5 == param_2) {\n          return;\n        }\n      }\n      __unguarded_linear_insert<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n                (p_Var4,0);\n      p_Var4 = p_Var5;\n    } while (p_Var5 != param_2);\n  }" if (parenthesized_expression "((param_1 != param_2) && (param_1 + 4 != param_2))" ( (binary_expression "(param_1 != param_2) && (param_1 + 4 != param_2)" (parenthesized_expression "(param_1 != param_2)" ( (binary_expression "param_1 != param_2" identifier != identifier) )) && (parenthesized_expression "(param_1 + 4 != param_2)" ( (binary_expression "param_1 + 4 != param_2" (binary_expression "param_1 + 4" identifier + number_literal) != identifier) ))) )) (compound_statement "{\n    p_Var4 = param_1 + 4;\n    local_res8[0] = param_3;\n    do {\n      while( true ) {\n        iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);\n        p_Var5 = p_Var4 + 4;\n        if (iVar1 == 0) break;\n        uVar3 = *(undefined4 *)p_Var4;\n        iVar1 = (int)p_Var4 - (int)param_1 >> 2;\n        p_Var2 = p_Var5;\n        if (0 < (int)p_Var4 - (int)param_1) {\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }\n        *(undefined4 *)param_1 = uVar3;\n        p_Var4 = p_Var5;\n        if (p_Var5 == param_2) {\n          return;\n        }\n      }\n      __unguarded_linear_insert<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n                (p_Var4,0);\n      p_Var4 = p_Var5;\n    } while (p_Var5 != param_2);\n  }" { (expression_statement "p_Var4 = param_1 + 4;" (assignment_expression "p_Var4 = param_1 + 4" identifier = (binary_expression "param_1 + 4" identifier + number_literal)) ;) (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      while( true ) {\n        iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);\n        p_Var5 = p_Var4 + 4;\n        if (iVar1 == 0) break;\n        uVar3 = *(undefined4 *)p_Var4;\n        iVar1 = (int)p_Var4 - (int)param_1 >> 2;\n        p_Var2 = p_Var5;\n        if (0 < (int)p_Var4 - (int)param_1) {\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }\n        *(undefined4 *)param_1 = uVar3;\n        p_Var4 = p_Var5;\n        if (p_Var5 == param_2) {\n          return;\n        }\n      }\n      __unguarded_linear_insert<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n                (p_Var4,0);\n      p_Var4 = p_Var5;\n    } while (p_Var5 != param_2);" do (compound_statement "{\n      while( true ) {\n        iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);\n        p_Var5 = p_Var4 + 4;\n        if (iVar1 == 0) break;\n        uVar3 = *(undefined4 *)p_Var4;\n        iVar1 = (int)p_Var4 - (int)param_1 >> 2;\n        p_Var2 = p_Var5;\n        if (0 < (int)p_Var4 - (int)param_1) {\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }\n        *(undefined4 *)param_1 = uVar3;\n        p_Var4 = p_Var5;\n        if (p_Var5 == param_2) {\n          return;\n        }\n      }\n      __unguarded_linear_insert<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n                (p_Var4,0);\n      p_Var4 = p_Var5;\n    }" { (while_statement "while( true ) {\n        iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);\n        p_Var5 = p_Var4 + 4;\n        if (iVar1 == 0) break;\n        uVar3 = *(undefined4 *)p_Var4;\n        iVar1 = (int)p_Var4 - (int)param_1 >> 2;\n        p_Var2 = p_Var5;\n        if (0 < (int)p_Var4 - (int)param_1) {\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }\n        *(undefined4 *)param_1 = uVar3;\n        p_Var4 = p_Var5;\n        if (p_Var5 == param_2) {\n          return;\n        }\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);\n        p_Var5 = p_Var4 + 4;\n        if (iVar1 == 0) break;\n        uVar3 = *(undefined4 *)p_Var4;\n        iVar1 = (int)p_Var4 - (int)param_1 >> 2;\n        p_Var2 = p_Var5;\n        if (0 < (int)p_Var4 - (int)param_1) {\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }\n        *(undefined4 *)param_1 = uVar3;\n        p_Var4 = p_Var5;\n        if (p_Var5 == param_2) {\n          return;\n        }\n      }" { (ERROR "iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::" (assignment_expression "iVar1 = gold" identifier = identifier) : : (binary_expression "Stringpool_template<char>::Stringpool_sort_comparison" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) identifier) : :) (expression_statement "operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);" (call_expression "operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1)" (call_expression "operator()" identifier (argument_list "()" ( ))) (argument_list "((Stringpool_sort_comparison *)local_res8,p_Var4,param_1)" ( (cast_expression "(Stringpool_sort_comparison *)local_res8" ( (type_descriptor "Stringpool_sort_comparison *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier ))) ;) (expression_statement "p_Var5 = p_Var4 + 4;" (assignment_expression "p_Var5 = p_Var4 + 4" identifier = (binary_expression "p_Var4 + 4" identifier + number_literal)) ;) (if_statement "if (iVar1 == 0) break;" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar3 = *(undefined4 *)p_Var4;" (assignment_expression "uVar3 = *(undefined4 *)p_Var4" identifier = (pointer_expression "*(undefined4 *)p_Var4" * (cast_expression "(undefined4 *)p_Var4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar1 = (int)p_Var4 - (int)param_1 >> 2;" (assignment_expression "iVar1 = (int)p_Var4 - (int)param_1 >> 2" identifier = (binary_expression "(int)p_Var4 - (int)param_1 >> 2" (binary_expression "(int)p_Var4 - (int)param_1" (cast_expression "(int)p_Var4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) ;) (expression_statement "p_Var2 = p_Var5;" (assignment_expression "p_Var2 = p_Var5" identifier = identifier) ;) (if_statement "if (0 < (int)p_Var4 - (int)param_1) {\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }" if (parenthesized_expression "(0 < (int)p_Var4 - (int)param_1)" ( (binary_expression "0 < (int)p_Var4 - (int)param_1" number_literal < (binary_expression "(int)p_Var4 - (int)param_1" (cast_expression "(int)p_Var4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier))) )) (compound_statement "{\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }" { (do_statement "do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);" do (compound_statement "{\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          }" { (expression_statement "iVar1 = iVar1 + -1;" (assignment_expression "iVar1 = iVar1 + -1" identifier = (binary_expression "iVar1 + -1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);" (assignment_expression "*(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8)" (pointer_expression "*(undefined4 *)(p_Var2 + -4)" * (cast_expression "(undefined4 *)(p_Var2 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var2 + -4)" ( (binary_expression "p_Var2 + -4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(p_Var2 + -8)" * (cast_expression "(undefined4 *)(p_Var2 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var2 + -8)" ( (binary_expression "p_Var2 + -8" identifier + number_literal) ))))) ;) (expression_statement "p_Var2 = p_Var2 + -4;" (assignment_expression "p_Var2 = p_Var2 + -4" identifier = (binary_expression "p_Var2 + -4" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) ;) })) (expression_statement "*(undefined4 *)param_1 = uVar3;" (assignment_expression "*(undefined4 *)param_1 = uVar3" (pointer_expression "*(undefined4 *)param_1" * (cast_expression "(undefined4 *)param_1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "p_Var4 = p_Var5;" (assignment_expression "p_Var4 = p_Var5" identifier = identifier) ;) (if_statement "if (p_Var5 == param_2) {\n          return;\n        }" if (parenthesized_expression "(p_Var5 == param_2)" ( (binary_expression "p_Var5 == param_2" identifier == identifier) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) })) (ERROR "__unguarded_linear_insert<__normal_iterator<std::" (binary_expression "__unguarded_linear_insert<__normal_iterator<std" (binary_expression "__unguarded_linear_insert<__normal_iterator" identifier < identifier) < identifier) : :) (labeled_statement "__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n                (p_Var4,0);" statement_identifier (ERROR "::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std:" : : (binary_expression "_Node_iterator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Stringpool_template<char" identifier < identifier) > : : (comma_expression "Hashkey_const,unsigned_int>,false,true>*,std" identifier , (comma_expression "unsigned_int>,false,true>*,std" (binary_expression "unsigned_int>,false" identifier > (ERROR "," ,) false) , (binary_expression "true>*,std" true > (pointer_expression "*,std" * (ERROR "," ,) identifier)))) : : (binary_expression "vector<std" identifier < identifier) :) : (labeled_statement "__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n                (p_Var4,0);" statement_identifier (ERROR "::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std:" : : (binary_expression "_Node_iterator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Stringpool_template<char" identifier < identifier) > : : (comma_expression "Hashkey_const,unsigned_int>,false,true>,std" identifier , (comma_expression "unsigned_int>,false,true>,std" (binary_expression "unsigned_int>,false" identifier > (ERROR "," ,) false) , (binary_expression "true>,std" true > (ERROR "," ,) identifier))) : : (binary_expression "allocator<std" identifier < identifier) :) : (labeled_statement "__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n                (p_Var4,0);" statement_identifier (ERROR "::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>:" : : (binary_expression "_Node_iterator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Stringpool_template<char" identifier < identifier) > : : (comma_expression "Hashkey_const,unsigned_int>,false,true>>>>,__ops" identifier , (comma_expression "unsigned_int>,false,true>>>>,__ops" (binary_expression "unsigned_int>,false" identifier > (ERROR "," ,) false) , (binary_expression "true>>>>,__ops" true >> (ERROR ">>," >> ,) identifier))) : : (binary_expression "_Val_comp_iter<gold" identifier < identifier) : : (binary_expression "Stringpool_template<char" identifier < identifier) > :) : (expression_statement "Stringpool_sort_comparison>>\n                (p_Var4,0);" (binary_expression "Stringpool_sort_comparison>>\n                (p_Var4,0)" identifier >> (parenthesized_expression "(p_Var4,0)" ( (comma_expression "p_Var4,0" identifier , number_literal) ))) ;)))) (expression_statement "p_Var4 = p_Var5;" (assignment_expression "p_Var4 = p_Var5" identifier = identifier) ;) }) while (parenthesized_expression "(p_Var5 != param_2)" ( (binary_expression "p_Var5 != param_2" identifier != identifier) )) ;) })) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n/* DWARF original name:\n   __insertion_sort<__gnu_cxx::__normal_iterator<std::__detail::_Node_iterator<std::pair<const\n   gold::Stringpool_template<char>::Hashkey, unsigned int>, false, true>*,\n   std::vector<std::__detail::_Node_iterator<std::pair<const\n   gold::Stringpool_template<char>::Hashkey, unsigned int>, false, true>,\n   std::allocator<std::__detail::_Node_iterator<std::pair<const\n   gold::Stringpool_template<char>::Hashkey, unsigned int>, false, true> > > >,\n   __gnu_cxx::__ops::_Iter_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison> >\n    */\n\nvoid std::\n     __insertion_sort<__gnu_cxx::__normal_iterator<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>*,_std::vector<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>,_std::allocator<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>_>\n               (Stringpool_sort_info *__first,Stringpool_sort_info *__last,undefined4 param_3)\n\n{\n  undefined3 extraout_var;\n  bool bVar2;\n  Stringpool_sort_info *pSVar1;\n  int iVar3;\n  __node_type *p_Var4;\n  Stringpool_sort_info *sort_info1;\n  Stringpool_sort_info *pSVar5;\n  undefined4 local_res8 [2];\n  \n  if ((__first != __last) && (__first + 1 != __last)) {\n    sort_info1 = __first + 1;\n    local_res8[0] = param_3;\n    do {\n      while( true ) {\n        bVar2 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,sort_info1,__first);\n        pSVar5 = sort_info1 + 1;\n        if (CONCAT31(extraout_var,bVar2) == 0) break;\n        p_Var4 = (sort_info1->\n                 super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n                 )._M_cur;\n        iVar3 = (int)sort_info1 - (int)__first >> 2;\n        pSVar1 = pSVar5;\n        if (0 < (int)sort_info1 - (int)__first) {\n          do {\n            iVar3 = iVar3 + -1;\n            pSVar1[-1].\n            super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n            ._M_cur = pSVar1[-2].\n                      super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n                      ._M_cur;\n            pSVar1 = pSVar1 + -1;\n          } while (iVar3 != 0);\n        }\n        (__first->\n        super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n        )._M_cur = p_Var4;\n        sort_info1 = pSVar5;\n        if (pSVar5 == __last) {\n          return;\n        }\n      }\n      __unguarded_linear_insert<__gnu_cxx::__normal_iterator<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>*,_std::vector<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>,_std::allocator<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>_>_>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>_>\n                (sort_info1,0);\n      sort_info1 = pSVar5;\n    } while (pSVar5 != __last);\n  }\n  return;\n}\n\n" comment comment (declaration "void std::\n     __insertion_sort<__gnu_cxx::__normal_iterator<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>*,_std::vector<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>,_std::allocator<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>_>\n               (Stringpool_sort_info *__first,Stringpool_sort_info *__last,undefined4 param_3)\n\n{\n  undefined3 extraout_var;" primitive_type (ERROR "std::\n     __insertion_sort<__gnu_cxx::__normal_iterator<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::" identifier : : identifier < identifier : : identifier < identifier : : identifier : : identifier < identifier : : identifier < identifier : : identifier < primitive_type > : :) identifier , identifier (ERROR ">" >) , identifier , identifier (ERROR ">*" > *) , (ERROR "_std::vector<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::" identifier : : identifier < identifier : : identifier : : identifier < identifier : : identifier < identifier : : identifier < primitive_type > : :) identifier , identifier (ERROR ">" >) , identifier , identifier (ERROR ">" >) , (ERROR "_std::allocator<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::" identifier : : identifier < identifier : : identifier : : identifier < identifier : : identifier < identifier : : identifier < primitive_type > : :) identifier , identifier (ERROR ">" >) , identifier , identifier (ERROR ">_>_>_>" > identifier > identifier > identifier >) , (ERROR "___gnu_cxx::__ops::_Iter_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>_>\n               (Stringpool_sort_info *__first,Stringpool_sort_info *__last,undefined4 param_3)\n\n{\n  undefined3" identifier : : identifier : : identifier < identifier : : identifier < primitive_type > : : identifier > (function_declarator "_>\n               (Stringpool_sort_info *__first,Stringpool_sort_info *__last,undefined4 param_3)" identifier (ERROR ">" >) (parameter_list "(Stringpool_sort_info *__first,Stringpool_sort_info *__last,undefined4 param_3)" ( (parameter_declaration "Stringpool_sort_info *__first" type_identifier (pointer_declarator "*__first" * identifier)) , (parameter_declaration "Stringpool_sort_info *__last" type_identifier (pointer_declarator "*__last" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) { identifier) identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "Stringpool_sort_info *pSVar1;" type_identifier (pointer_declarator "*pSVar1" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "__node_type *p_Var4;" type_identifier (pointer_declarator "*p_Var4" * identifier) ;) (declaration "Stringpool_sort_info *sort_info1;" type_identifier (pointer_declarator "*sort_info1" * identifier) ;) (declaration "Stringpool_sort_info *pSVar5;" type_identifier (pointer_declarator "*pSVar5" * identifier) ;) (declaration "undefined4 local_res8 [2];" type_identifier (array_declarator "local_res8 [2]" identifier [ number_literal ]) ;) (if_statement "if ((__first != __last) && (__first + 1 != __last)) {\n    sort_info1 = __first + 1;\n    local_res8[0] = param_3;\n    do {\n      while( true ) {\n        bVar2 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,sort_info1,__first);\n        pSVar5 = sort_info1 + 1;\n        if (CONCAT31(extraout_var,bVar2) == 0) break;\n        p_Var4 = (sort_info1->\n                 super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n                 )._M_cur;\n        iVar3 = (int)sort_info1 - (int)__first >> 2;\n        pSVar1 = pSVar5;\n        if (0 < (int)sort_info1 - (int)__first) {\n          do {\n            iVar3 = iVar3 + -1;\n            pSVar1[-1].\n            super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n            ._M_cur = pSVar1[-2].\n                      super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n                      ._M_cur;\n            pSVar1 = pSVar1 + -1;\n          } while (iVar3 != 0);\n        }\n        (__first->\n        super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n        )._M_cur = p_Var4;\n        sort_info1 = pSVar5;\n        if (pSVar5 == __last) {\n          return;\n        }\n      }\n      __unguarded_linear_insert<__gnu_cxx::__normal_iterator<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>*,_std::vector<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>,_std::allocator<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>_>_>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>_>\n                (sort_info1,0);\n      sort_info1 = pSVar5;\n    } while (pSVar5 != __last);\n  }" if (parenthesized_expression "((__first != __last) && (__first + 1 != __last))" ( (binary_expression "(__first != __last) && (__first + 1 != __last)" (parenthesized_expression "(__first != __last)" ( (binary_expression "__first != __last" identifier != identifier) )) && (parenthesized_expression "(__first + 1 != __last)" ( (binary_expression "__first + 1 != __last" (binary_expression "__first + 1" identifier + number_literal) != identifier) ))) )) (compound_statement "{\n    sort_info1 = __first + 1;\n    local_res8[0] = param_3;\n    do {\n      while( true ) {\n        bVar2 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,sort_info1,__first);\n        pSVar5 = sort_info1 + 1;\n        if (CONCAT31(extraout_var,bVar2) == 0) break;\n        p_Var4 = (sort_info1->\n                 super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n                 )._M_cur;\n        iVar3 = (int)sort_info1 - (int)__first >> 2;\n        pSVar1 = pSVar5;\n        if (0 < (int)sort_info1 - (int)__first) {\n          do {\n            iVar3 = iVar3 + -1;\n            pSVar1[-1].\n            super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n            ._M_cur = pSVar1[-2].\n                      super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n                      ._M_cur;\n            pSVar1 = pSVar1 + -1;\n          } while (iVar3 != 0);\n        }\n        (__first->\n        super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n        )._M_cur = p_Var4;\n        sort_info1 = pSVar5;\n        if (pSVar5 == __last) {\n          return;\n        }\n      }\n      __unguarded_linear_insert<__gnu_cxx::__normal_iterator<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>*,_std::vector<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>,_std::allocator<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>_>_>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>_>\n                (sort_info1,0);\n      sort_info1 = pSVar5;\n    } while (pSVar5 != __last);\n  }" { (expression_statement "sort_info1 = __first + 1;" (assignment_expression "sort_info1 = __first + 1" identifier = (binary_expression "__first + 1" identifier + number_literal)) ;) (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      while( true ) {\n        bVar2 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,sort_info1,__first);\n        pSVar5 = sort_info1 + 1;\n        if (CONCAT31(extraout_var,bVar2) == 0) break;\n        p_Var4 = (sort_info1->\n                 super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n                 )._M_cur;\n        iVar3 = (int)sort_info1 - (int)__first >> 2;\n        pSVar1 = pSVar5;\n        if (0 < (int)sort_info1 - (int)__first) {\n          do {\n            iVar3 = iVar3 + -1;\n            pSVar1[-1].\n            super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n            ._M_cur = pSVar1[-2].\n                      super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n                      ._M_cur;\n            pSVar1 = pSVar1 + -1;\n          } while (iVar3 != 0);\n        }\n        (__first->\n        super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n        )._M_cur = p_Var4;\n        sort_info1 = pSVar5;\n        if (pSVar5 == __last) {\n          return;\n        }\n      }\n      __unguarded_linear_insert<__gnu_cxx::__normal_iterator<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>*,_std::vector<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>,_std::allocator<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>_>_>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>_>\n                (sort_info1,0);\n      sort_info1 = pSVar5;\n    } while (pSVar5 != __last);" do (compound_statement "{\n      while( true ) {\n        bVar2 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,sort_info1,__first);\n        pSVar5 = sort_info1 + 1;\n        if (CONCAT31(extraout_var,bVar2) == 0) break;\n        p_Var4 = (sort_info1->\n                 super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n                 )._M_cur;\n        iVar3 = (int)sort_info1 - (int)__first >> 2;\n        pSVar1 = pSVar5;\n        if (0 < (int)sort_info1 - (int)__first) {\n          do {\n            iVar3 = iVar3 + -1;\n            pSVar1[-1].\n            super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n            ._M_cur = pSVar1[-2].\n                      super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n                      ._M_cur;\n            pSVar1 = pSVar1 + -1;\n          } while (iVar3 != 0);\n        }\n        (__first->\n        super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n        )._M_cur = p_Var4;\n        sort_info1 = pSVar5;\n        if (pSVar5 == __last) {\n          return;\n        }\n      }\n      __unguarded_linear_insert<__gnu_cxx::__normal_iterator<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>*,_std::vector<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>,_std::allocator<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>_>_>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>_>\n                (sort_info1,0);\n      sort_info1 = pSVar5;\n    }" { (while_statement "while( true ) {\n        bVar2 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,sort_info1,__first);\n        pSVar5 = sort_info1 + 1;\n        if (CONCAT31(extraout_var,bVar2) == 0) break;\n        p_Var4 = (sort_info1->\n                 super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n                 )._M_cur;\n        iVar3 = (int)sort_info1 - (int)__first >> 2;\n        pSVar1 = pSVar5;\n        if (0 < (int)sort_info1 - (int)__first) {\n          do {\n            iVar3 = iVar3 + -1;\n            pSVar1[-1].\n            super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n            ._M_cur = pSVar1[-2].\n                      super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n                      ._M_cur;\n            pSVar1 = pSVar1 + -1;\n          } while (iVar3 != 0);\n        }\n        (__first->\n        super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n        )._M_cur = p_Var4;\n        sort_info1 = pSVar5;\n        if (pSVar5 == __last) {\n          return;\n        }\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        bVar2 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,sort_info1,__first);\n        pSVar5 = sort_info1 + 1;\n        if (CONCAT31(extraout_var,bVar2) == 0) break;\n        p_Var4 = (sort_info1->\n                 super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n                 )._M_cur;\n        iVar3 = (int)sort_info1 - (int)__first >> 2;\n        pSVar1 = pSVar5;\n        if (0 < (int)sort_info1 - (int)__first) {\n          do {\n            iVar3 = iVar3 + -1;\n            pSVar1[-1].\n            super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n            ._M_cur = pSVar1[-2].\n                      super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n                      ._M_cur;\n            pSVar1 = pSVar1 + -1;\n          } while (iVar3 != 0);\n        }\n        (__first->\n        super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n        )._M_cur = p_Var4;\n        sort_info1 = pSVar5;\n        if (pSVar5 == __last) {\n          return;\n        }\n      }" { (ERROR "bVar2 = gold::Stringpool_template<char>::Stringpool_sort_comparison::" (assignment_expression "bVar2 = gold" identifier = identifier) : : (binary_expression "Stringpool_template<char>::Stringpool_sort_comparison" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) identifier) : :) (expression_statement "operator()\n                          ((Stringpool_sort_comparison *)local_res8,sort_info1,__first);" (call_expression "operator()\n                          ((Stringpool_sort_comparison *)local_res8,sort_info1,__first)" (call_expression "operator()" identifier (argument_list "()" ( ))) (argument_list "((Stringpool_sort_comparison *)local_res8,sort_info1,__first)" ( (cast_expression "(Stringpool_sort_comparison *)local_res8" ( (type_descriptor "Stringpool_sort_comparison *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier ))) ;) (expression_statement "pSVar5 = sort_info1 + 1;" (assignment_expression "pSVar5 = sort_info1 + 1" identifier = (binary_expression "sort_info1 + 1" identifier + number_literal)) ;) (if_statement "if (CONCAT31(extraout_var,bVar2) == 0) break;" if (parenthesized_expression "(CONCAT31(extraout_var,bVar2) == 0)" ( (binary_expression "CONCAT31(extraout_var,bVar2) == 0" (call_expression "CONCAT31(extraout_var,bVar2)" identifier (argument_list "(extraout_var,bVar2)" ( identifier , identifier ))) == number_literal) )) (break_statement "break;" break ;)) (expression_statement "p_Var4 = (sort_info1->\n                 super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n                 )._M_cur;" (assignment_expression "p_Var4 = (sort_info1->\n                 super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n                 )._M_cur" identifier = (field_expression "(sort_info1->\n                 super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n                 )._M_cur" (parenthesized_expression "(sort_info1->\n                 super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n                 )" ( (comma_expression "sort_info1->\n                 super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true" (binary_expression "sort_info1->\n                 super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey" (binary_expression "sort_info1->\n                 super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char" (binary_expression "sort_info1->\n                 super__Node_iterator_base<std::pair<const_gold" (binary_expression "sort_info1->\n                 super__Node_iterator_base<std" (field_expression "sort_info1->\n                 super__Node_iterator_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Stringpool_template" : : identifier) < identifier) > (ERROR "::" : :) identifier) , (binary_expression "_unsigned_int>,_true" identifier > (ERROR "," ,) identifier)) (ERROR ">" >) )) . field_identifier)) ;) (expression_statement "iVar3 = (int)sort_info1 - (int)__first >> 2;" (assignment_expression "iVar3 = (int)sort_info1 - (int)__first >> 2" identifier = (binary_expression "(int)sort_info1 - (int)__first >> 2" (binary_expression "(int)sort_info1 - (int)__first" (cast_expression "(int)sort_info1" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)__first" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) ;) (expression_statement "pSVar1 = pSVar5;" (assignment_expression "pSVar1 = pSVar5" identifier = identifier) ;) (if_statement "if (0 < (int)sort_info1 - (int)__first) {\n          do {\n            iVar3 = iVar3 + -1;\n            pSVar1[-1].\n            super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n            ._M_cur = pSVar1[-2].\n                      super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n                      ._M_cur;\n            pSVar1 = pSVar1 + -1;\n          } while (iVar3 != 0);\n        }" if (parenthesized_expression "(0 < (int)sort_info1 - (int)__first)" ( (binary_expression "0 < (int)sort_info1 - (int)__first" number_literal < (binary_expression "(int)sort_info1 - (int)__first" (cast_expression "(int)sort_info1" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)__first" ( (type_descriptor "int" primitive_type) ) identifier))) )) (compound_statement "{\n          do {\n            iVar3 = iVar3 + -1;\n            pSVar1[-1].\n            super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n            ._M_cur = pSVar1[-2].\n                      super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n                      ._M_cur;\n            pSVar1 = pSVar1 + -1;\n          } while (iVar3 != 0);\n        }" { (do_statement "do {\n            iVar3 = iVar3 + -1;\n            pSVar1[-1].\n            super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n            ._M_cur = pSVar1[-2].\n                      super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n                      ._M_cur;\n            pSVar1 = pSVar1 + -1;\n          } while (iVar3 != 0);" do (compound_statement "{\n            iVar3 = iVar3 + -1;\n            pSVar1[-1].\n            super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n            ._M_cur = pSVar1[-2].\n                      super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n                      ._M_cur;\n            pSVar1 = pSVar1 + -1;\n          }" { (expression_statement "iVar3 = iVar3 + -1;" (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (ERROR "pSVar1[-1].\n            super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n            ._M_cur = pSVar1[-2].\n                      super__Node_iterator_base<std::pair<const_gold::" (comma_expression "pSVar1[-1].\n            super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n            ._M_cur = pSVar1[-2].\n                      super__Node_iterator_base<std" (binary_expression "pSVar1[-1].\n            super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey" (binary_expression "pSVar1[-1].\n            super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char" (binary_expression "pSVar1[-1].\n            super__Node_iterator_base<std::pair<const_gold" (binary_expression "pSVar1[-1].\n            super__Node_iterator_base<std" (field_expression "pSVar1[-1].\n            super__Node_iterator_base" (subscript_expression "pSVar1[-1]" identifier [ number_literal ]) . field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Stringpool_template" : : identifier) < identifier) > (ERROR "::" : :) identifier) , (assignment_expression "_unsigned_int>,_true>\n            ._M_cur = pSVar1[-2].\n                      super__Node_iterator_base<std" (field_expression "_unsigned_int>,_true>\n            ._M_cur" (binary_expression "_unsigned_int>,_true" identifier > (ERROR "," ,) identifier) (ERROR ">" >) . field_identifier) = (binary_expression "pSVar1[-2].\n                      super__Node_iterator_base<std" (field_expression "pSVar1[-2].\n                      super__Node_iterator_base" (subscript_expression "pSVar1[-2]" identifier [ number_literal ]) . field_identifier) < identifier))) : : identifier < identifier : :) (expression_statement "Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n                      ._M_cur;" (comma_expression "Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n                      ._M_cur" (binary_expression "Stringpool_template<char>::Hashkey" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) identifier) , (field_expression "_unsigned_int>,_true>\n                      ._M_cur" (binary_expression "_unsigned_int>,_true" identifier > (ERROR "," ,) identifier) (ERROR ">" >) . field_identifier)) ;) (expression_statement "pSVar1 = pSVar1 + -1;" (assignment_expression "pSVar1 = pSVar1 + -1" identifier = (binary_expression "pSVar1 + -1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) ;) })) (expression_statement "(__first->\n        super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n        )._M_cur = p_Var4;" (assignment_expression "(__first->\n        super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n        )._M_cur = p_Var4" (field_expression "(__first->\n        super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n        )._M_cur" (parenthesized_expression "(__first->\n        super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true>\n        )" ( (comma_expression "__first->\n        super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_true" (binary_expression "__first->\n        super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char>::Hashkey" (binary_expression "__first->\n        super__Node_iterator_base<std::pair<const_gold::Stringpool_template<char" (binary_expression "__first->\n        super__Node_iterator_base<std::pair<const_gold" (binary_expression "__first->\n        super__Node_iterator_base<std" (field_expression "__first->\n        super__Node_iterator_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Stringpool_template" : : identifier) < identifier) > (ERROR "::" : :) identifier) , (binary_expression "_unsigned_int>,_true" identifier > (ERROR "," ,) identifier)) (ERROR ">" >) )) . field_identifier) = identifier) ;) (expression_statement "sort_info1 = pSVar5;" (assignment_expression "sort_info1 = pSVar5" identifier = identifier) ;) (if_statement "if (pSVar5 == __last) {\n          return;\n        }" if (parenthesized_expression "(pSVar5 == __last)" ( (binary_expression "pSVar5 == __last" identifier == identifier) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) })) (ERROR "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<std::" (binary_expression "__unguarded_linear_insert<__gnu_cxx::__normal_iterator<std" (binary_expression "__unguarded_linear_insert<__gnu_cxx" identifier < identifier) (ERROR "::__normal_iterator" : : identifier) < identifier) : :) (labeled_statement "__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>*,_std::vector<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>,_std::allocator<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>_>_>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>_>\n                (sort_info1,0);" statement_identifier (ERROR "::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>*,_std::vector<std:" : : (binary_expression "_Node_iterator<std" identifier < identifier) : : (binary_expression "pair<const_gold" identifier < identifier) : : (binary_expression "Stringpool_template<char" identifier < identifier) > : : (comma_expression "Hashkey,_unsigned_int>,_false,_true>*,_std" identifier , (comma_expression "_unsigned_int>,_false,_true>*,_std" (binary_expression "_unsigned_int>,_false" identifier > (ERROR "," ,) identifier) , (binary_expression "_true>*,_std" identifier > (pointer_expression "*,_std" * (ERROR "," ,) identifier)))) : : (binary_expression "vector<std" identifier < identifier) :) : (labeled_statement "__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>,_std::allocator<std::__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>_>_>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>_>\n                (sort_info1,0);" statement_identifier (ERROR "::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>,_std::allocator<std:" : : (binary_expression "_Node_iterator<std" identifier < identifier) : : (binary_expression "pair<const_gold" identifier < identifier) : : (binary_expression "Stringpool_template<char" identifier < identifier) > : : (comma_expression "Hashkey,_unsigned_int>,_false,_true>,_std" identifier , (comma_expression "_unsigned_int>,_false,_true>,_std" (binary_expression "_unsigned_int>,_false" identifier > (ERROR "," ,) identifier) , (binary_expression "_true>,_std" identifier > (ERROR "," ,) identifier))) : : (binary_expression "allocator<std" identifier < identifier) :) : (labeled_statement "__detail::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>_>_>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>_>\n                (sort_info1,0);" statement_identifier (ERROR "::_Node_iterator<std::pair<const_gold::Stringpool_template<char>::Hashkey,_unsigned_int>,_false,_true>_>_>_>,___gnu_cxx:" : : (binary_expression "_Node_iterator<std" identifier < identifier) : : (binary_expression "pair<const_gold" identifier < identifier) : : (binary_expression "Stringpool_template<char" identifier < identifier) > : : (comma_expression "Hashkey,_unsigned_int>,_false,_true>_>_>_>,___gnu_cxx" identifier , (comma_expression "_unsigned_int>,_false,_true>_>_>_>,___gnu_cxx" (binary_expression "_unsigned_int>,_false" identifier > (ERROR "," ,) identifier) , (binary_expression "_true>_>_>_>,___gnu_cxx" (binary_expression "_true>_>_>_" (binary_expression "_true>_>_" (binary_expression "_true>_" identifier > identifier) > identifier) > identifier) > (ERROR "," ,) identifier))) :) : (labeled_statement "__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>_>\n                (sort_info1,0);" statement_identifier (ERROR "::_Val_comp_iter<gold::Stringpool_template<char>:" : : (binary_expression "_Val_comp_iter<gold" identifier < identifier) : : (binary_expression "Stringpool_template<char" identifier < identifier) > :) : (expression_statement "Stringpool_sort_comparison>_>\n                (sort_info1,0);" (binary_expression "Stringpool_sort_comparison>_>\n                (sort_info1,0)" (binary_expression "Stringpool_sort_comparison>_" identifier > identifier) > (parenthesized_expression "(sort_info1,0)" ( (comma_expression "sort_info1,0" identifier , number_literal) ))) ;))))) (expression_statement "sort_info1 = pSVar5;" (assignment_expression "sort_info1 = pSVar5" identifier = identifier) ;) }) while (parenthesized_expression "(pSVar5 != __last)" ( (binary_expression "pSVar5 != __last" identifier != identifier) )) ;) })) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void std::\n     __insertion_sort<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Iter_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n               (_Node_iterator *param_1,_Node_iterator *param_2,undefined4 param_3)\n\n{\n  int iVar1;\n  _Node_iterator *p_Var2;\n  undefined4 uVar3;\n  _Node_iterator *p_Var4;\n  _Node_iterator *p_Var5;\n  undefined4 local_res8 [2];\n  \n  if ((param_1 != param_2) && (param_1 + 4 != param_2)) {\n    p_Var4 = param_1 + 4;\n    local_res8[0] = param_3;\n    do {\n      while( true ) {\n        iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);\n        p_Var5 = p_Var4 + 4;\n        if (iVar1 == 0) break;\n        uVar3 = *(undefined4 *)p_Var4;\n        iVar1 = (int)p_Var4 - (int)param_1 >> 2;\n        p_Var2 = p_Var5;\n        if (0 < (int)p_Var4 - (int)param_1) {\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }\n        *(undefined4 *)param_1 = uVar3;\n        p_Var4 = p_Var5;\n        if (p_Var5 == param_2) {\n          return;\n        }\n      }\n      __unguarded_linear_insert<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n                (p_Var4,0);\n      p_Var4 = p_Var5;\n    } while (p_Var5 != param_2);\n  }\n  return;\n}\n\n" (declaration "void std::\n     __insertion_sort<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Iter_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n               (_Node_iterator *param_1,_Node_iterator *param_2,undefined4 param_3)\n\n{\n  int iVar1;" primitive_type (ERROR "std::\n     __insertion_sort<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::" identifier : : identifier < identifier < identifier : : identifier : : identifier < identifier : : identifier < identifier : : identifier < primitive_type > : :) identifier , identifier (ERROR ">" >) , identifier , identifier (ERROR ">*" > *) , (ERROR "std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::" identifier : : identifier < identifier : : identifier : : identifier < identifier : : identifier < identifier : : identifier < primitive_type > : :) identifier , identifier (ERROR ">" >) , identifier , identifier (ERROR ">" >) , (ERROR "std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::" identifier : : identifier < identifier : : identifier : : identifier < identifier : : identifier < identifier : : identifier < primitive_type > : :) identifier , identifier (ERROR ">" >) , identifier , identifier (ERROR ">>>>" >> >>) , (ERROR "__ops::_Iter_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n               (_Node_iterator *param_1,_Node_iterator *param_2,undefined4 param_3)\n\n{\n  int" identifier : : identifier < identifier : : identifier < primitive_type > : : (function_declarator "Stringpool_sort_comparison>>\n               (_Node_iterator *param_1,_Node_iterator *param_2,undefined4 param_3)" identifier (ERROR ">>" >>) (parameter_list "(_Node_iterator *param_1,_Node_iterator *param_2,undefined4 param_3)" ( (parameter_declaration "_Node_iterator *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "_Node_iterator *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) { primitive_type) identifier ;) (declaration "_Node_iterator *p_Var2;" type_identifier (pointer_declarator "*p_Var2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "_Node_iterator *p_Var4;" type_identifier (pointer_declarator "*p_Var4" * identifier) ;) (declaration "_Node_iterator *p_Var5;" type_identifier (pointer_declarator "*p_Var5" * identifier) ;) (declaration "undefined4 local_res8 [2];" type_identifier (array_declarator "local_res8 [2]" identifier [ number_literal ]) ;) (if_statement "if ((param_1 != param_2) && (param_1 + 4 != param_2)) {\n    p_Var4 = param_1 + 4;\n    local_res8[0] = param_3;\n    do {\n      while( true ) {\n        iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);\n        p_Var5 = p_Var4 + 4;\n        if (iVar1 == 0) break;\n        uVar3 = *(undefined4 *)p_Var4;\n        iVar1 = (int)p_Var4 - (int)param_1 >> 2;\n        p_Var2 = p_Var5;\n        if (0 < (int)p_Var4 - (int)param_1) {\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }\n        *(undefined4 *)param_1 = uVar3;\n        p_Var4 = p_Var5;\n        if (p_Var5 == param_2) {\n          return;\n        }\n      }\n      __unguarded_linear_insert<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n                (p_Var4,0);\n      p_Var4 = p_Var5;\n    } while (p_Var5 != param_2);\n  }" if (parenthesized_expression "((param_1 != param_2) && (param_1 + 4 != param_2))" ( (binary_expression "(param_1 != param_2) && (param_1 + 4 != param_2)" (parenthesized_expression "(param_1 != param_2)" ( (binary_expression "param_1 != param_2" identifier != identifier) )) && (parenthesized_expression "(param_1 + 4 != param_2)" ( (binary_expression "param_1 + 4 != param_2" (binary_expression "param_1 + 4" identifier + number_literal) != identifier) ))) )) (compound_statement "{\n    p_Var4 = param_1 + 4;\n    local_res8[0] = param_3;\n    do {\n      while( true ) {\n        iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);\n        p_Var5 = p_Var4 + 4;\n        if (iVar1 == 0) break;\n        uVar3 = *(undefined4 *)p_Var4;\n        iVar1 = (int)p_Var4 - (int)param_1 >> 2;\n        p_Var2 = p_Var5;\n        if (0 < (int)p_Var4 - (int)param_1) {\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }\n        *(undefined4 *)param_1 = uVar3;\n        p_Var4 = p_Var5;\n        if (p_Var5 == param_2) {\n          return;\n        }\n      }\n      __unguarded_linear_insert<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n                (p_Var4,0);\n      p_Var4 = p_Var5;\n    } while (p_Var5 != param_2);\n  }" { (expression_statement "p_Var4 = param_1 + 4;" (assignment_expression "p_Var4 = param_1 + 4" identifier = (binary_expression "param_1 + 4" identifier + number_literal)) ;) (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      while( true ) {\n        iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);\n        p_Var5 = p_Var4 + 4;\n        if (iVar1 == 0) break;\n        uVar3 = *(undefined4 *)p_Var4;\n        iVar1 = (int)p_Var4 - (int)param_1 >> 2;\n        p_Var2 = p_Var5;\n        if (0 < (int)p_Var4 - (int)param_1) {\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }\n        *(undefined4 *)param_1 = uVar3;\n        p_Var4 = p_Var5;\n        if (p_Var5 == param_2) {\n          return;\n        }\n      }\n      __unguarded_linear_insert<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n                (p_Var4,0);\n      p_Var4 = p_Var5;\n    } while (p_Var5 != param_2);" do (compound_statement "{\n      while( true ) {\n        iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);\n        p_Var5 = p_Var4 + 4;\n        if (iVar1 == 0) break;\n        uVar3 = *(undefined4 *)p_Var4;\n        iVar1 = (int)p_Var4 - (int)param_1 >> 2;\n        p_Var2 = p_Var5;\n        if (0 < (int)p_Var4 - (int)param_1) {\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }\n        *(undefined4 *)param_1 = uVar3;\n        p_Var4 = p_Var5;\n        if (p_Var5 == param_2) {\n          return;\n        }\n      }\n      __unguarded_linear_insert<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n                (p_Var4,0);\n      p_Var4 = p_Var5;\n    }" { (while_statement "while( true ) {\n        iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);\n        p_Var5 = p_Var4 + 4;\n        if (iVar1 == 0) break;\n        uVar3 = *(undefined4 *)p_Var4;\n        iVar1 = (int)p_Var4 - (int)param_1 >> 2;\n        p_Var2 = p_Var5;\n        if (0 < (int)p_Var4 - (int)param_1) {\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }\n        *(undefined4 *)param_1 = uVar3;\n        p_Var4 = p_Var5;\n        if (p_Var5 == param_2) {\n          return;\n        }\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);\n        p_Var5 = p_Var4 + 4;\n        if (iVar1 == 0) break;\n        uVar3 = *(undefined4 *)p_Var4;\n        iVar1 = (int)p_Var4 - (int)param_1 >> 2;\n        p_Var2 = p_Var5;\n        if (0 < (int)p_Var4 - (int)param_1) {\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }\n        *(undefined4 *)param_1 = uVar3;\n        p_Var4 = p_Var5;\n        if (p_Var5 == param_2) {\n          return;\n        }\n      }" { (ERROR "iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::" (assignment_expression "iVar1 = gold" identifier = identifier) : : (binary_expression "Stringpool_template<char>::Stringpool_sort_comparison" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) identifier) : :) (expression_statement "operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);" (call_expression "operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1)" (call_expression "operator()" identifier (argument_list "()" ( ))) (argument_list "((Stringpool_sort_comparison *)local_res8,p_Var4,param_1)" ( (cast_expression "(Stringpool_sort_comparison *)local_res8" ( (type_descriptor "Stringpool_sort_comparison *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier ))) ;) (expression_statement "p_Var5 = p_Var4 + 4;" (assignment_expression "p_Var5 = p_Var4 + 4" identifier = (binary_expression "p_Var4 + 4" identifier + number_literal)) ;) (if_statement "if (iVar1 == 0) break;" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar3 = *(undefined4 *)p_Var4;" (assignment_expression "uVar3 = *(undefined4 *)p_Var4" identifier = (pointer_expression "*(undefined4 *)p_Var4" * (cast_expression "(undefined4 *)p_Var4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar1 = (int)p_Var4 - (int)param_1 >> 2;" (assignment_expression "iVar1 = (int)p_Var4 - (int)param_1 >> 2" identifier = (binary_expression "(int)p_Var4 - (int)param_1 >> 2" (binary_expression "(int)p_Var4 - (int)param_1" (cast_expression "(int)p_Var4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) ;) (expression_statement "p_Var2 = p_Var5;" (assignment_expression "p_Var2 = p_Var5" identifier = identifier) ;) (if_statement "if (0 < (int)p_Var4 - (int)param_1) {\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }" if (parenthesized_expression "(0 < (int)p_Var4 - (int)param_1)" ( (binary_expression "0 < (int)p_Var4 - (int)param_1" number_literal < (binary_expression "(int)p_Var4 - (int)param_1" (cast_expression "(int)p_Var4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier))) )) (compound_statement "{\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }" { (do_statement "do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);" do (compound_statement "{\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          }" { (expression_statement "iVar1 = iVar1 + -1;" (assignment_expression "iVar1 = iVar1 + -1" identifier = (binary_expression "iVar1 + -1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);" (assignment_expression "*(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8)" (pointer_expression "*(undefined4 *)(p_Var2 + -4)" * (cast_expression "(undefined4 *)(p_Var2 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var2 + -4)" ( (binary_expression "p_Var2 + -4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(p_Var2 + -8)" * (cast_expression "(undefined4 *)(p_Var2 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var2 + -8)" ( (binary_expression "p_Var2 + -8" identifier + number_literal) ))))) ;) (expression_statement "p_Var2 = p_Var2 + -4;" (assignment_expression "p_Var2 = p_Var2 + -4" identifier = (binary_expression "p_Var2 + -4" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) ;) })) (expression_statement "*(undefined4 *)param_1 = uVar3;" (assignment_expression "*(undefined4 *)param_1 = uVar3" (pointer_expression "*(undefined4 *)param_1" * (cast_expression "(undefined4 *)param_1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "p_Var4 = p_Var5;" (assignment_expression "p_Var4 = p_Var5" identifier = identifier) ;) (if_statement "if (p_Var5 == param_2) {\n          return;\n        }" if (parenthesized_expression "(p_Var5 == param_2)" ( (binary_expression "p_Var5 == param_2" identifier == identifier) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) })) (ERROR "__unguarded_linear_insert<__normal_iterator<std::" (binary_expression "__unguarded_linear_insert<__normal_iterator<std" (binary_expression "__unguarded_linear_insert<__normal_iterator" identifier < identifier) < identifier) : :) (labeled_statement "__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n                (p_Var4,0);" statement_identifier (ERROR "::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std:" : : (binary_expression "_Node_iterator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Stringpool_template<char" identifier < identifier) > : : (comma_expression "Hashkey_const,unsigned_int>,false,true>*,std" identifier , (comma_expression "unsigned_int>,false,true>*,std" (binary_expression "unsigned_int>,false" identifier > (ERROR "," ,) false) , (binary_expression "true>*,std" true > (pointer_expression "*,std" * (ERROR "," ,) identifier)))) : : (binary_expression "vector<std" identifier < identifier) :) : (labeled_statement "__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n                (p_Var4,0);" statement_identifier (ERROR "::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std:" : : (binary_expression "_Node_iterator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Stringpool_template<char" identifier < identifier) > : : (comma_expression "Hashkey_const,unsigned_int>,false,true>,std" identifier , (comma_expression "unsigned_int>,false,true>,std" (binary_expression "unsigned_int>,false" identifier > (ERROR "," ,) false) , (binary_expression "true>,std" true > (ERROR "," ,) identifier))) : : (binary_expression "allocator<std" identifier < identifier) :) : (labeled_statement "__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n                (p_Var4,0);" statement_identifier (ERROR "::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>:" : : (binary_expression "_Node_iterator<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Stringpool_template<char" identifier < identifier) > : : (comma_expression "Hashkey_const,unsigned_int>,false,true>>>>,__ops" identifier , (comma_expression "unsigned_int>,false,true>>>>,__ops" (binary_expression "unsigned_int>,false" identifier > (ERROR "," ,) false) , (binary_expression "true>>>>,__ops" true >> (ERROR ">>," >> ,) identifier))) : : (binary_expression "_Val_comp_iter<gold" identifier < identifier) : : (binary_expression "Stringpool_template<char" identifier < identifier) > :) : (expression_statement "Stringpool_sort_comparison>>\n                (p_Var4,0);" (binary_expression "Stringpool_sort_comparison>>\n                (p_Var4,0)" identifier >> (parenthesized_expression "(p_Var4,0)" ( (comma_expression "p_Var4,0" identifier , number_literal) ))) ;)))) (expression_statement "p_Var4 = p_Var5;" (assignment_expression "p_Var4 = p_Var5" identifier = identifier) ;) }) while (parenthesized_expression "(p_Var5 != param_2)" ( (binary_expression "p_Var5 != param_2" identifier != identifier) )) ;) })) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit (declaration TYPE (ERROR IDENT : : IDENT < IDENT < IDENT : : IDENT : : IDENT < IDENT : : IDENT < IDENT : : IDENT < TYPE > : :) IDENT , IDENT (ERROR >) , IDENT , IDENT (ERROR > *) , (ERROR IDENT : : IDENT < IDENT : : IDENT : : IDENT < IDENT : : IDENT < IDENT : : IDENT < TYPE > : :) IDENT , IDENT (ERROR >) , IDENT , IDENT (ERROR >) , (ERROR IDENT : : IDENT < IDENT : : IDENT : : IDENT < IDENT : : IDENT < IDENT : : IDENT < TYPE > : :) IDENT , IDENT (ERROR >) , IDENT , IDENT (ERROR >> >>) , (ERROR IDENT : : IDENT < IDENT : : IDENT < TYPE > : : (function_declarator IDENT (ERROR >>) (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) { TYPE) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) != IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (ERROR (assignment_expression IDENT = IDENT) : : (binary_expression (binary_expression IDENT < IDENT) > (ERROR : :) IDENT) : :) (expression_statement (call_expression (call_expression IDENT (argument_list ( ))) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (return_statement return ;) })) })) (ERROR (binary_expression (binary_expression IDENT < IDENT) < IDENT) : :) (labeled_statement statement_identifier (ERROR : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT < IDENT) > : : (comma_expression IDENT , (comma_expression (binary_expression IDENT > (ERROR ,) BOOL) , (binary_expression BOOL > (pointer_expression * (ERROR ,) IDENT)))) : : (binary_expression IDENT < IDENT) :) : (labeled_statement statement_identifier (ERROR : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT < IDENT) > : : (comma_expression IDENT , (comma_expression (binary_expression IDENT > (ERROR ,) BOOL) , (binary_expression BOOL > (ERROR ,) IDENT))) : : (binary_expression IDENT < IDENT) :) : (labeled_statement statement_identifier (ERROR : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT < IDENT) > : : (comma_expression IDENT , (comma_expression (binary_expression IDENT > (ERROR ,) BOOL) , (binary_expression BOOL >> (ERROR >> ,) IDENT))) : : (binary_expression IDENT < IDENT) : : (binary_expression IDENT < IDENT) > :) : (expression_statement (binary_expression IDENT >> (parenthesized_expression ( (comma_expression IDENT , LIT) ))) ;)))) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (return_statement return ;) (ERROR }))
(declaration "void std::\n     __insertion_sort<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Iter_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n               (_Node_iterator *param_1,_Node_iterator *param_2,undefined4 param_3)\n\n{\n  int iVar1;" (primitive_type "void") (ERROR "std::\n     __insertion_sort<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::" (identifier "std") (: ":") (: ":") (identifier "__insertion_sort") (< "<") (identifier "__normal_iterator") (< "<") (identifier "std") (: ":") (: ":") (identifier "__detail") (: ":") (: ":") (identifier "_Node_iterator") (< "<") (identifier "std") (: ":") (: ":") (identifier "pair") (< "<") (identifier "gold") (: ":") (: ":") (identifier "Stringpool_template") (< "<") (primitive_type "char") (> ">") (: ":") (: ":")) (identifier "Hashkey_const") (, ",") (identifier "unsigned_int") (ERROR ">" (> ">")) (, ",") (identifier "false") (, ",") (identifier "true") (ERROR ">*" (> ">") (* "*")) (, ",") (ERROR "std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::" (identifier "std") (: ":") (: ":") (identifier "vector") (< "<") (identifier "std") (: ":") (: ":") (identifier "__detail") (: ":") (: ":") (identifier "_Node_iterator") (< "<") (identifier "std") (: ":") (: ":") (identifier "pair") (< "<") (identifier "gold") (: ":") (: ":") (identifier "Stringpool_template") (< "<") (primitive_type "char") (> ">") (: ":") (: ":")) (identifier "Hashkey_const") (, ",") (identifier "unsigned_int") (ERROR ">" (> ">")) (, ",") (identifier "false") (, ",") (identifier "true") (ERROR ">" (> ">")) (, ",") (ERROR "std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::" (identifier "std") (: ":") (: ":") (identifier "allocator") (< "<") (identifier "std") (: ":") (: ":") (identifier "__detail") (: ":") (: ":") (identifier "_Node_iterator") (< "<") (identifier "std") (: ":") (: ":") (identifier "pair") (< "<") (identifier "gold") (: ":") (: ":") (identifier "Stringpool_template") (< "<") (primitive_type "char") (> ">") (: ":") (: ":")) (identifier "Hashkey_const") (, ",") (identifier "unsigned_int") (ERROR ">" (> ">")) (, ",") (identifier "false") (, ",") (identifier "true") (ERROR ">>>>" (>> ">>") (>> ">>")) (, ",") (ERROR "__ops::_Iter_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n               (_Node_iterator *param_1,_Node_iterator *param_2,undefined4 param_3)\n\n{\n  int" (identifier "__ops") (: ":") (: ":") (identifier "_Iter_comp_iter") (< "<") (identifier "gold") (: ":") (: ":") (identifier "Stringpool_template") (< "<") (primitive_type "char") (> ">") (: ":") (: ":") (function_declarator "Stringpool_sort_comparison>>\n               (_Node_iterator *param_1,_Node_iterator *param_2,undefined4 param_3)" (identifier "Stringpool_sort_comparison") (ERROR ">>" (>> ">>")) (parameter_list "(_Node_iterator *param_1,_Node_iterator *param_2,undefined4 param_3)" (( "(") (parameter_declaration "_Node_iterator *param_1" (type_identifier "_Node_iterator") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "_Node_iterator *param_2" (type_identifier "_Node_iterator") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) () ")"))) ({ "{") (primitive_type "int")) (identifier "iVar1") (; ";")) (declaration "_Node_iterator *p_Var2;" (type_identifier "_Node_iterator") (pointer_declarator "*p_Var2" (* "*") (identifier "p_Var2")) (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "_Node_iterator *p_Var4;" (type_identifier "_Node_iterator") (pointer_declarator "*p_Var4" (* "*") (identifier "p_Var4")) (; ";")) (declaration "_Node_iterator *p_Var5;" (type_identifier "_Node_iterator") (pointer_declarator "*p_Var5" (* "*") (identifier "p_Var5")) (; ";")) (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) && (param_1 + 4 != param_2)) {\n    p_Var4 = param_1 + 4;\n    local_res8[0] = param_3;\n    do {\n      while( true ) {\n        iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);\n        p_Var5 = p_Var4 + 4;\n        if (iVar1 == 0) break;\n        uVar3 = *(undefined4 *)p_Var4;\n        iVar1 = (int)p_Var4 - (int)param_1 >> 2;\n        p_Var2 = p_Var5;\n        if (0 < (int)p_Var4 - (int)param_1) {\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }\n        *(undefined4 *)param_1 = uVar3;\n        p_Var4 = p_Var5;\n        if (p_Var5 == param_2) {\n          return;\n        }\n      }\n      __unguarded_linear_insert<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n                (p_Var4,0);\n      p_Var4 = p_Var5;\n    } while (p_Var5 != param_2);\n  }" (if "if") (parenthesized_expression "((param_1 != param_2) && (param_1 + 4 != param_2))" (( "(") (binary_expression "(param_1 != param_2) && (param_1 + 4 != param_2)" (parenthesized_expression "(param_1 != param_2)" (( "(") (binary_expression "param_1 != param_2" (identifier "param_1") (!= "!=") (identifier "param_2")) () ")")) (&& "&&") (parenthesized_expression "(param_1 + 4 != param_2)" (( "(") (binary_expression "param_1 + 4 != param_2" (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) (!= "!=") (identifier "param_2")) () ")"))) () ")")) (compound_statement "{\n    p_Var4 = param_1 + 4;\n    local_res8[0] = param_3;\n    do {\n      while( true ) {\n        iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);\n        p_Var5 = p_Var4 + 4;\n        if (iVar1 == 0) break;\n        uVar3 = *(undefined4 *)p_Var4;\n        iVar1 = (int)p_Var4 - (int)param_1 >> 2;\n        p_Var2 = p_Var5;\n        if (0 < (int)p_Var4 - (int)param_1) {\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }\n        *(undefined4 *)param_1 = uVar3;\n        p_Var4 = p_Var5;\n        if (p_Var5 == param_2) {\n          return;\n        }\n      }\n      __unguarded_linear_insert<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n                (p_Var4,0);\n      p_Var4 = p_Var5;\n    } while (p_Var5 != param_2);\n  }" ({ "{") (expression_statement "p_Var4 = param_1 + 4;" (assignment_expression "p_Var4 = param_1 + 4" (identifier "p_Var4") (= "=") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4"))) (; ";")) (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      while( true ) {\n        iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);\n        p_Var5 = p_Var4 + 4;\n        if (iVar1 == 0) break;\n        uVar3 = *(undefined4 *)p_Var4;\n        iVar1 = (int)p_Var4 - (int)param_1 >> 2;\n        p_Var2 = p_Var5;\n        if (0 < (int)p_Var4 - (int)param_1) {\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }\n        *(undefined4 *)param_1 = uVar3;\n        p_Var4 = p_Var5;\n        if (p_Var5 == param_2) {\n          return;\n        }\n      }\n      __unguarded_linear_insert<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n                (p_Var4,0);\n      p_Var4 = p_Var5;\n    } while (p_Var5 != param_2);" (do "do") (compound_statement "{\n      while( true ) {\n        iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);\n        p_Var5 = p_Var4 + 4;\n        if (iVar1 == 0) break;\n        uVar3 = *(undefined4 *)p_Var4;\n        iVar1 = (int)p_Var4 - (int)param_1 >> 2;\n        p_Var2 = p_Var5;\n        if (0 < (int)p_Var4 - (int)param_1) {\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }\n        *(undefined4 *)param_1 = uVar3;\n        p_Var4 = p_Var5;\n        if (p_Var5 == param_2) {\n          return;\n        }\n      }\n      __unguarded_linear_insert<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n                (p_Var4,0);\n      p_Var4 = p_Var5;\n    }" ({ "{") (while_statement "while( true ) {\n        iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);\n        p_Var5 = p_Var4 + 4;\n        if (iVar1 == 0) break;\n        uVar3 = *(undefined4 *)p_Var4;\n        iVar1 = (int)p_Var4 - (int)param_1 >> 2;\n        p_Var2 = p_Var5;\n        if (0 < (int)p_Var4 - (int)param_1) {\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }\n        *(undefined4 *)param_1 = uVar3;\n        p_Var4 = p_Var5;\n        if (p_Var5 == param_2) {\n          return;\n        }\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);\n        p_Var5 = p_Var4 + 4;\n        if (iVar1 == 0) break;\n        uVar3 = *(undefined4 *)p_Var4;\n        iVar1 = (int)p_Var4 - (int)param_1 >> 2;\n        p_Var2 = p_Var5;\n        if (0 < (int)p_Var4 - (int)param_1) {\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }\n        *(undefined4 *)param_1 = uVar3;\n        p_Var4 = p_Var5;\n        if (p_Var5 == param_2) {\n          return;\n        }\n      }" ({ "{") (ERROR "iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::" (assignment_expression "iVar1 = gold" (identifier "iVar1") (= "=") (identifier "gold")) (: ":") (: ":") (binary_expression "Stringpool_template<char>::Stringpool_sort_comparison" (binary_expression "Stringpool_template<char" (identifier "Stringpool_template") (< "<") (identifier "char")) (> ">") (ERROR "::" (: ":") (: ":")) (identifier "Stringpool_sort_comparison")) (: ":") (: ":")) (expression_statement "operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);" (call_expression "operator()\n                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1)" (call_expression "operator()" (identifier "operator") (argument_list "()" (( "(") () ")"))) (argument_list "((Stringpool_sort_comparison *)local_res8,p_Var4,param_1)" (( "(") (cast_expression "(Stringpool_sort_comparison *)local_res8" (( "(") (type_descriptor "Stringpool_sort_comparison *" (type_identifier "Stringpool_sort_comparison") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_res8")) (, ",") (identifier "p_Var4") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "p_Var5 = p_Var4 + 4;" (assignment_expression "p_Var5 = p_Var4 + 4" (identifier "p_Var5") (= "=") (binary_expression "p_Var4 + 4" (identifier "p_Var4") (+ "+") (number_literal "4"))) (; ";")) (if_statement "if (iVar1 == 0) break;" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar3 = *(undefined4 *)p_Var4;" (assignment_expression "uVar3 = *(undefined4 *)p_Var4" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)p_Var4" (* "*") (cast_expression "(undefined4 *)p_Var4" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "p_Var4")))) (; ";")) (expression_statement "iVar1 = (int)p_Var4 - (int)param_1 >> 2;" (assignment_expression "iVar1 = (int)p_Var4 - (int)param_1 >> 2" (identifier "iVar1") (= "=") (binary_expression "(int)p_Var4 - (int)param_1 >> 2" (binary_expression "(int)p_Var4 - (int)param_1" (cast_expression "(int)p_Var4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "p_Var4")) (- "-") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1"))) (>> ">>") (number_literal "2"))) (; ";")) (expression_statement "p_Var2 = p_Var5;" (assignment_expression "p_Var2 = p_Var5" (identifier "p_Var2") (= "=") (identifier "p_Var5")) (; ";")) (if_statement "if (0 < (int)p_Var4 - (int)param_1) {\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }" (if "if") (parenthesized_expression "(0 < (int)p_Var4 - (int)param_1)" (( "(") (binary_expression "0 < (int)p_Var4 - (int)param_1" (number_literal "0") (< "<") (binary_expression "(int)p_Var4 - (int)param_1" (cast_expression "(int)p_Var4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "p_Var4")) (- "-") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")))) () ")")) (compound_statement "{\n          do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);\n        }" ({ "{") (do_statement "do {\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          } while (iVar1 != 0);" (do "do") (compound_statement "{\n            iVar1 = iVar1 + -1;\n            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);\n            p_Var2 = p_Var2 + -4;\n          }" ({ "{") (expression_statement "iVar1 = iVar1 + -1;" (assignment_expression "iVar1 = iVar1 + -1" (identifier "iVar1") (= "=") (binary_expression "iVar1 + -1" (identifier "iVar1") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "*(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);" (assignment_expression "*(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8)" (pointer_expression "*(undefined4 *)(p_Var2 + -4)" (* "*") (cast_expression "(undefined4 *)(p_Var2 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(p_Var2 + -4)" (( "(") (binary_expression "p_Var2 + -4" (identifier "p_Var2") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(p_Var2 + -8)" (* "*") (cast_expression "(undefined4 *)(p_Var2 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(p_Var2 + -8)" (( "(") (binary_expression "p_Var2 + -8" (identifier "p_Var2") (+ "+") (number_literal "-8")) () ")"))))) (; ";")) (expression_statement "p_Var2 = p_Var2 + -4;" (assignment_expression "p_Var2 = p_Var2 + -4" (identifier "p_Var2") (= "=") (binary_expression "p_Var2 + -4" (identifier "p_Var2") (+ "+") (number_literal "-4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)param_1 = uVar3;" (assignment_expression "*(undefined4 *)param_1 = uVar3" (pointer_expression "*(undefined4 *)param_1" (* "*") (cast_expression "(undefined4 *)param_1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "p_Var4 = p_Var5;" (assignment_expression "p_Var4 = p_Var5" (identifier "p_Var4") (= "=") (identifier "p_Var5")) (; ";")) (if_statement "if (p_Var5 == param_2) {\n          return;\n        }" (if "if") (parenthesized_expression "(p_Var5 == param_2)" (( "(") (binary_expression "p_Var5 == param_2" (identifier "p_Var5") (== "==") (identifier "param_2")) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (ERROR "__unguarded_linear_insert<__normal_iterator<std::" (binary_expression "__unguarded_linear_insert<__normal_iterator<std" (binary_expression "__unguarded_linear_insert<__normal_iterator" (identifier "__unguarded_linear_insert") (< "<") (identifier "__normal_iterator")) (< "<") (identifier "std")) (: ":") (: ":")) (labeled_statement "__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n                (p_Var4,0);" (statement_identifier "__detail") (ERROR "::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std:" (: ":") (: ":") (binary_expression "_Node_iterator<std" (identifier "_Node_iterator") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "pair<gold" (identifier "pair") (< "<") (identifier "gold")) (: ":") (: ":") (binary_expression "Stringpool_template<char" (identifier "Stringpool_template") (< "<") (identifier "char")) (> ">") (: ":") (: ":") (comma_expression "Hashkey_const,unsigned_int>,false,true>*,std" (identifier "Hashkey_const") (, ",") (comma_expression "unsigned_int>,false,true>*,std" (binary_expression "unsigned_int>,false" (identifier "unsigned_int") (> ">") (ERROR "," (, ",")) (false "false")) (, ",") (binary_expression "true>*,std" (true "true") (> ">") (pointer_expression "*,std" (* "*") (ERROR "," (, ",")) (identifier "std"))))) (: ":") (: ":") (binary_expression "vector<std" (identifier "vector") (< "<") (identifier "std")) (: ":")) (: ":") (labeled_statement "__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n                (p_Var4,0);" (statement_identifier "__detail") (ERROR "::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std:" (: ":") (: ":") (binary_expression "_Node_iterator<std" (identifier "_Node_iterator") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "pair<gold" (identifier "pair") (< "<") (identifier "gold")) (: ":") (: ":") (binary_expression "Stringpool_template<char" (identifier "Stringpool_template") (< "<") (identifier "char")) (> ">") (: ":") (: ":") (comma_expression "Hashkey_const,unsigned_int>,false,true>,std" (identifier "Hashkey_const") (, ",") (comma_expression "unsigned_int>,false,true>,std" (binary_expression "unsigned_int>,false" (identifier "unsigned_int") (> ">") (ERROR "," (, ",")) (false "false")) (, ",") (binary_expression "true>,std" (true "true") (> ">") (ERROR "," (, ",")) (identifier "std")))) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":")) (: ":") (labeled_statement "__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>\n                (p_Var4,0);" (statement_identifier "__detail") (ERROR "::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>:" (: ":") (: ":") (binary_expression "_Node_iterator<std" (identifier "_Node_iterator") (< "<") (identifier "std")) (: ":") (: ":") (binary_expression "pair<gold" (identifier "pair") (< "<") (identifier "gold")) (: ":") (: ":") (binary_expression "Stringpool_template<char" (identifier "Stringpool_template") (< "<") (identifier "char")) (> ">") (: ":") (: ":") (comma_expression "Hashkey_const,unsigned_int>,false,true>>>>,__ops" (identifier "Hashkey_const") (, ",") (comma_expression "unsigned_int>,false,true>>>>,__ops" (binary_expression "unsigned_int>,false" (identifier "unsigned_int") (> ">") (ERROR "," (, ",")) (false "false")) (, ",") (binary_expression "true>>>>,__ops" (true "true") (>> ">>") (ERROR ">>," (>> ">>") (, ",")) (identifier "__ops")))) (: ":") (: ":") (binary_expression "_Val_comp_iter<gold" (identifier "_Val_comp_iter") (< "<") (identifier "gold")) (: ":") (: ":") (binary_expression "Stringpool_template<char" (identifier "Stringpool_template") (< "<") (identifier "char")) (> ">") (: ":")) (: ":") (expression_statement "Stringpool_sort_comparison>>\n                (p_Var4,0);" (binary_expression "Stringpool_sort_comparison>>\n                (p_Var4,0)" (identifier "Stringpool_sort_comparison") (>> ">>") (parenthesized_expression "(p_Var4,0)" (( "(") (comma_expression "p_Var4,0" (identifier "p_Var4") (, ",") (number_literal "0")) () ")"))) (; ";"))))) (expression_statement "p_Var4 = p_Var5;" (assignment_expression "p_Var4 = p_Var5" (identifier "p_Var4") (= "=") (identifier "p_Var5")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(p_Var5 != param_2)" (( "(") (binary_expression "p_Var5 != param_2" (identifier "p_Var5") (!= "!=") (identifier "param_2")) () ")")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (ERROR "}" (} "}"))

/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* DWARF original name:
   __insertion_sort<__gnu_cxx::__normal_iterator<std::__detail::_Node_iterator<std::pair<const
   gold::Stringpool_template<char>::Hashkey, unsigned int>, false, true>*,
   std::vector<std::__detail::_Node_iterator<std::pair<const
   gold::Stringpool_template<char>::Hashkey, unsigned int>, false, true>,
   std::allocator<std::__detail::_Node_iterator<std::pair<const
   gold::Stringpool_template<char>::Hashkey, unsigned int>, false, true> > > >,
   __gnu_cxx::__ops::_Iter_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison> >
    */

void var_6::
     __insertion_sort<__gnu_cxx::__normal_iterator<var_6::__detail::_Node_iterator<var_6::pair<var_7::var_13<char>::var_9,var_10>,_false,var_11>*,_std::vector<var_6::__detail::_Node_iterator<var_6::pair<var_7::var_13<char>::var_9,var_10>,_false,var_11>,_std::allocator<var_6::__detail::_Node_iterator<var_6::pair<var_7::var_13<char>::var_9,var_10>,_false,var_11>var_16>var_16>var_16>,___gnu_cxx::__ops::_Iter_comp_iter<gold::var_13<char>::type_4>var_16>
               (type_1 *var_1,type_1 *var_2,type_3 param_3)

{
  undefined3 extraout_var;
  bool bVar2;
  type_1 *var_14;
  int var_12;
  type_2 *p_Var4;
  type_1 *var_4;
  type_1 *var_15;
  type_3 local_res8 [2];
  
  if ((var_1 != var_2) && (var_1 + 1 != var_2)) {
    var_4 = var_1 + 1;
    local_res8[0] = param_3;
    do {
      while( true ) {
        bVar2 = gold::var_13<var_8>::type_4::var_3()
                          ((type_4 *)local_res8,var_4,var_1);
        var_15 = var_4 + 1;
        if (var_5(extraout_var,bVar2) == 0) break;
        p_Var4 = (var_4->
                 super__Node_iterator_base<var_6::pair<var_7::var_13<var_8>::var_9,var_10>,var_11>
                 )._M_cur;
        var_12 = (int)var_4 - (int)var_1 >> 2;
        var_14 = var_15;
        if (0 < (int)var_4 - (int)var_1) {
          do {
            var_12 = var_12 + -1;
            var_14[-1].
            super__Node_iterator_base<var_6::pair<var_7::var_13<var_8>::var_9,var_10>,var_11>
            ._M_cur = var_14[-2].
                      super__Node_iterator_base<var_6::pair<var_7::var_13<var_8>::var_9,var_10>,var_11>
                      ._M_cur;
            var_14 = var_14 + -1;
          } while (var_12 != 0);
        }
        (var_1->
        super__Node_iterator_base<var_6::pair<var_7::var_13<var_8>::var_9,var_10>,var_11>
        )._M_cur = p_Var4;
        var_4 = var_15;
        if (var_15 == var_2) {
          return;
        }
      }
      __unguarded_linear_insert<__gnu_cxx::__normal_iterator<var_6::__detail::_Node_iterator<var_6::pair<var_7::var_13<var_8>::var_9,var_10>,_false,var_11>*,_std::vector<var_6::__detail::_Node_iterator<var_6::pair<var_7::var_13<var_8>::var_9,var_10>,_false,var_11>,_std::allocator<var_6::__detail::_Node_iterator<var_6::pair<var_7::var_13<var_8>::var_9,var_10>,_false,var_11>var_16>var_16>var_16>,___gnu_cxx::__ops::_Val_comp_iter<gold::var_13<var_8>::type_4>var_16>
                (var_4,0);
      var_4 = var_15;
    } while (var_15 != var_2);
  }
  return;
}


(translation_unit (declaration type: (primitive_type) (ERROR (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (primitive_type)) declarator: (identifier) declarator: (identifier) (ERROR) declarator: (identifier) declarator: (identifier) (ERROR) (ERROR (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (primitive_type)) declarator: (identifier) declarator: (identifier) (ERROR) declarator: (identifier) declarator: (identifier) (ERROR) (ERROR (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (primitive_type)) declarator: (identifier) declarator: (identifier) (ERROR) declarator: (identifier) declarator: (identifier) (ERROR) (ERROR (identifier) (identifier) (identifier) (identifier) (primitive_type) (function_declarator declarator: (identifier) (ERROR) 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)))) (primitive_type)) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (ERROR (assignment_expression left: (identifier) right: (identifier)) (binary_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR) right: (identifier))) (expression_statement (call_expression function: (call_expression function: (identifier) arguments: (argument_list)) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (return_statement))))) (ERROR (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (comma_expression left: (binary_expression left: (identifier) (ERROR) right: (false)) right: (binary_expression left: (true) right: (pointer_expression (ERROR) argument: (identifier))))) (binary_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (comma_expression left: (binary_expression left: (identifier) (ERROR) right: (false)) right: (binary_expression left: (true) (ERROR) right: (identifier)))) (binary_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (identifier) right: (comma_expression left: (binary_expression left: (identifier) (ERROR) right: (false)) right: (binary_expression left: (true) (ERROR) right: (identifier)))) (binary_expression left: (identifier) right: (identifier)) (binary_expression left: (identifier) right: (identifier))) (expression_statement (binary_expression left: (identifier) right: (parenthesized_expression (comma_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (return_statement) (ERROR))

/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* void 
   std::__insertion_sort<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey
   const, unsigned int>, false, true>*,
   std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey
   const, unsigned int>, false, true>,
   std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey
   const, unsigned int>, false, true> > > >,
   __ops::_Iter_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>
   >(__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey
   const, unsigned int>, false, true>*,
   std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey
   const, unsigned int>, false, true>,
   std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey
   const, unsigned int>, false, true> > > >,
   __normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey
   const, unsigned int>, false, true>*,
   std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey
   const, unsigned int>, false, true>,
   std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey
   const, unsigned int>, false, true> > > >,
   __ops::_Iter_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>) */

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

{
  int iVar1;
  _Node_iterator *p_Var2;
  undefined4 uVar3;
  _Node_iterator *p_Var4;
  _Node_iterator *p_Var5;
  undefined4 local_res8 [2];
  
  if ((param_1 != param_2) && (param_1 + 4 != param_2)) {
    p_Var4 = param_1 + 4;
    local_res8[0] = param_3;
    do {
      while( true ) {
        iVar1 = gold::Stringpool_template<char>::Stringpool_sort_comparison::operator()
                          ((Stringpool_sort_comparison *)local_res8,p_Var4,param_1);
        p_Var5 = p_Var4 + 4;
        if (iVar1 == 0) break;
        uVar3 = *(undefined4 *)p_Var4;
        iVar1 = (int)p_Var4 - (int)param_1 >> 2;
        p_Var2 = p_Var5;
        if (0 < (int)p_Var4 - (int)param_1) {
          do {
            iVar1 = iVar1 + -1;
            *(undefined4 *)(p_Var2 + -4) = *(undefined4 *)(p_Var2 + -8);
            p_Var2 = p_Var2 + -4;
          } while (iVar1 != 0);
        }
        *(undefined4 *)param_1 = uVar3;
        p_Var4 = p_Var5;
        if (p_Var5 == param_2) {
          return;
        }
      }
      __unguarded_linear_insert<__normal_iterator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>*,std::vector<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>,std::allocator<std::__detail::_Node_iterator<std::pair<gold::Stringpool_template<char>::Hashkey_const,unsigned_int>,false,true>>>>,__ops::_Val_comp_iter<gold::Stringpool_template<char>::Stringpool_sort_comparison>>
                (p_Var4,0);
      p_Var4 = p_Var5;
    } while (p_Var5 != param_2);
  }
  return;
}

