
/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* DWARF original name: __move_median_to_first<__gnu_cxx::__normal_iterator<std::pair<long long
   unsigned int, long long unsigned int>*, std::vector<std::pair<long long unsigned int, long long
   unsigned int>, std::allocator<std::pair<long long unsigned int, long long unsigned int> > > >,
   __gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64> > > */

void std::
     __move_median_to_first<__gnu_cxx::__normal_iterator<std::pair<long_long_unsigned_int,_long_long_unsigned_int>*,_std::vector<std::pair<long_long_unsigned_int,_long_long_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int,_long_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>
               (uint *__result,uint *__a,uint *__b,uint *__c)

{
  uint uVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  uint uVar5;
  uint uVar6;
  uint uVar7;
  uint uVar8;
  
  uVar7 = __c[1];
  uVar8 = *__a;
  uVar1 = __a[1];
  uVar2 = *__c;
  uVar3 = *__b;
  uVar4 = __result[1];
  uVar5 = __b[1];
  uVar6 = *__result;
  if (uVar1 < uVar5 || uVar1 - uVar5 < (uint)(uVar8 < uVar3)) {
    if (uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7) {
      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {
        *__result = uVar2;
        __result[1] = uVar7;
LAB_00181024:
        *__c = uVar6;
        __c[1] = uVar4;
        uVar7 = __c[3];
        uVar8 = __result[3];
        uVar1 = __result[2];
        __result[2] = __c[2];
        __result[3] = uVar7;
        __c[2] = uVar1;
        __c[3] = uVar8;
        return;
      }
      *__result = uVar8;
      __result[1] = uVar1;
      __a[1] = uVar4;
      *__a = uVar6;
LAB_00180fe9:
      uVar7 = __result[2];
      uVar8 = __result[3];
      uVar1 = __a[3];
      __result[2] = __a[2];
      __result[3] = uVar1;
      __a[2] = uVar7;
      __a[3] = uVar8;
      return;
    }
    *__result = uVar3;
    __result[1] = uVar5;
    __b[1] = uVar4;
    *__b = uVar6;
    uVar7 = __result[2];
    uVar8 = __result[3];
  }
  else {
    if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {
      __result[1] = uVar1;
      *__result = uVar8;
      *__a = uVar6;
      __a[1] = uVar4;
      goto LAB_00180fe9;
    }
    if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {
      *__result = uVar2;
      __result[1] = uVar7;
      goto LAB_00181024;
    }
    *__result = uVar3;
    __result[1] = uVar5;
    *__b = uVar6;
    __b[1] = uVar4;
    uVar7 = __result[2];
    uVar8 = __result[3];
  }
  uVar1 = __b[2];
  __result[3] = __b[3];
  __result[2] = uVar1;
  __b[2] = uVar7;
  __b[3] = uVar8;
  return;
}



void FUN_00180f10(uint *param_1,uint *param_2,uint *param_3,uint *param_4)

{
  uint uVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  uint uVar5;
  uint uVar6;
  uint uVar7;
  uint uVar8;
  
  uVar7 = param_4[1];
  uVar8 = *param_2;
  uVar1 = param_2[1];
  uVar2 = *param_4;
  uVar3 = *param_3;
  uVar4 = param_1[1];
  uVar5 = param_3[1];
  uVar6 = *param_1;
  if (uVar1 < uVar5 || uVar1 - uVar5 < (uint)(uVar8 < uVar3)) {
    if (uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7) {
      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {
        *param_1 = uVar2;
        param_1[1] = uVar7;
LAB_00181024:
        *param_4 = uVar6;
        param_4[1] = uVar4;
        uVar7 = param_4[3];
        uVar8 = param_1[3];
        uVar1 = param_1[2];
        param_1[2] = param_4[2];
        param_1[3] = uVar7;
        param_4[2] = uVar1;
        param_4[3] = uVar8;
        return;
      }
      *param_1 = uVar8;
      param_1[1] = uVar1;
      param_2[1] = uVar4;
      *param_2 = uVar6;
LAB_00180fe9:
      uVar7 = param_1[2];
      uVar8 = param_1[3];
      uVar1 = param_2[3];
      param_1[2] = param_2[2];
      param_1[3] = uVar1;
      param_2[2] = uVar7;
      param_2[3] = uVar8;
      return;
    }
    *param_1 = uVar3;
    param_1[1] = uVar5;
    param_3[1] = uVar4;
    *param_3 = uVar6;
    uVar7 = param_1[2];
    uVar8 = param_1[3];
  }
  else {
    if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {
      param_1[1] = uVar1;
      *param_1 = uVar8;
      *param_2 = uVar6;
      param_2[1] = uVar4;
      goto LAB_00180fe9;
    }
    if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {
      *param_1 = uVar2;
      param_1[1] = uVar7;
      goto LAB_00181024;
    }
    *param_1 = uVar3;
    param_1[1] = uVar5;
    *param_3 = uVar6;
    param_3[1] = uVar4;
    uVar7 = param_1[2];
    uVar8 = param_1[3];
  }
  uVar1 = param_3[2];
  param_1[3] = param_3[3];
  param_1[2] = uVar1;
  param_3[2] = uVar7;
  param_3[3] = uVar8;
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x14
MOV ECX,dword ptr [ESP + 0x34]
MOV EBX,dword ptr [ESP + 0x2c]
MOV EAX,dword ptr [ESP + 0x28]
MOV ESI,dword ptr [ESP + 0x30]
MOV ECX,dword ptr [ECX + 0x4]
MOV EDX,dword ptr [ESP + 0x34]
MOV EBP,dword ptr [EBX]
MOV EDI,dword ptr [EBX + 0x4]
MOV EBX,dword ptr [ESP + 0x30]
MOV EDX,dword ptr [EDX]
MOV dword ptr [ESP + 0x4],ECX
MOV ESI,dword ptr [ESI]
MOV ECX,dword ptr [EAX + 0x4]
MOV EBX,dword ptr [EBX + 0x4]
MOV dword ptr [ESP],EDX
MOV dword ptr [ESP + 0xc],ECX
MOV EDX,dword ptr [EAX]
CMP EBP,ESI
MOV ECX,EDI
SBB ECX,EBX
MOV dword ptr [ESP + 0x8],EDX
JNC 0x00180fc8
CMP ESI,dword ptr [ESP]
MOV EDX,EBX
SBB EDX,dword ptr [ESP + 0x4]
JNC 0x00180fa8
MOV EDI,dword ptr [ESP + 0x30]
MOV ECX,dword ptr [ESP + 0xc]
MOV dword ptr [EAX],ESI
MOV EDX,dword ptr [ESP + 0x8]
MOV dword ptr [EAX + 0x4],EBX
MOV dword ptr [EDI + 0x4],ECX
MOV ESI,EDI
MOV dword ptr [EDI],EDX
MOV ECX,dword ptr [EAX + 0x8]
MOV EBX,dword ptr [EAX + 0xc]
MOV EDI,dword ptr [ESI + 0xc]
MOV ESI,dword ptr [ESI + 0x8]
MOV dword ptr [EAX + 0xc],EDI
MOV dword ptr [EAX + 0x8],ESI
MOV EAX,dword ptr [ESP + 0x30]
MOV dword ptr [EAX + 0x8],ECX
MOV dword ptr [EAX + 0xc],EBX
ADD ESP,0x14
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EBX,dword ptr [ESP]
MOV ESI,dword ptr [ESP + 0x4]
MOV EDX,EDI
CMP EBP,EBX
SBB EDX,ESI
JNC 0x00181088
MOV dword ptr [EAX],EBX
MOV dword ptr [EAX + 0x4],ESI
JMP 0x00181024
CMP EBP,dword ptr [ESP]
MOV EDX,EDI
SBB EDX,dword ptr [ESP + 0x4]
JNC 0x00181010
MOV EDX,dword ptr [ESP + 0x8]
MOV ECX,dword ptr [ESP + 0xc]
MOV dword ptr [EAX + 0x4],EDI
MOV EDI,dword ptr [ESP + 0x2c]
MOV dword ptr [EAX],EBP
MOV dword ptr [EDI],EDX
MOV dword ptr [EDI + 0x4],ECX
MOV EBX,dword ptr [ESP + 0x2c]
MOV ESI,dword ptr [EAX + 0x8]
MOV EDI,dword ptr [EAX + 0xc]
MOV EDX,dword ptr [EBX + 0x8]
MOV ECX,dword ptr [EBX + 0xc]
MOV dword ptr [EAX + 0x8],EDX
MOV dword ptr [EAX + 0xc],ECX
MOV dword ptr [EBX + 0x8],ESI
MOV dword ptr [EBX + 0xc],EDI
ADD ESP,0x14
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EDI,dword ptr [ESP]
MOV EDX,dword ptr [ESP + 0x4]
MOV ECX,EBX
CMP ESI,EDI
SBB ECX,EDX
JNC 0x00181060
MOV dword ptr [EAX],EDI
MOV dword ptr [EAX + 0x4],EDX
MOV EDI,dword ptr [ESP + 0x34]
MOV EBX,dword ptr [ESP + 0x8]
MOV ESI,dword ptr [ESP + 0xc]
MOV dword ptr [EDI],EBX
MOV dword ptr [EDI + 0x4],ESI
MOV ESI,dword ptr [EDI + 0x8]
MOV EDI,dword ptr [EDI + 0xc]
MOV EBX,dword ptr [EAX + 0xc]
MOV ECX,dword ptr [EAX + 0x8]
MOV dword ptr [EAX + 0x8],ESI
MOV dword ptr [EAX + 0xc],EDI
MOV EAX,dword ptr [ESP + 0x34]
MOV dword ptr [EAX + 0x8],ECX
MOV dword ptr [EAX + 0xc],EBX
ADD ESP,0x14
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EDI,dword ptr [ESP + 0x8]
MOV EBP,dword ptr [ESP + 0xc]
MOV dword ptr [EAX],ESI
MOV ESI,dword ptr [ESP + 0x30]
MOV dword ptr [EAX + 0x4],EBX
MOV dword ptr [ESI],EDI
MOV dword ptr [ESI + 0x4],EBP
MOV ECX,dword ptr [EAX + 0x8]
MOV EBX,dword ptr [EAX + 0xc]
JMP 0x00180f83
MOV dword ptr [EAX],EBP
MOV ESI,dword ptr [ESP + 0x2c]
MOV dword ptr [EAX + 0x4],EDI
MOV EBP,dword ptr [ESP + 0xc]
MOV EDI,dword ptr [ESP + 0x8]
MOV dword ptr [ESI + 0x4],EBP
MOV dword ptr [ESI],EDI
JMP 0x00180fe9
(translation_unit "void FUN_00180f10(uint *param_1,uint *param_2,uint *param_3,uint *param_4)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  \n  uVar7 = param_4[1];\n  uVar8 = *param_2;\n  uVar1 = param_2[1];\n  uVar2 = *param_4;\n  uVar3 = *param_3;\n  uVar4 = param_1[1];\n  uVar5 = param_3[1];\n  uVar6 = *param_1;\n  if (uVar1 < uVar5 || uVar1 - uVar5 < (uint)(uVar8 < uVar3)) {\n    if (uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7) {\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }\n      *param_1 = uVar8;\n      param_1[1] = uVar1;\n      param_2[1] = uVar4;\n      *param_2 = uVar6;\nLAB_00180fe9:\n      uVar7 = param_1[2];\n      uVar8 = param_1[3];\n      uVar1 = param_2[3];\n      param_1[2] = param_2[2];\n      param_1[3] = uVar1;\n      param_2[2] = uVar7;\n      param_2[3] = uVar8;\n      return;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    param_3[1] = uVar4;\n    *param_3 = uVar6;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }\n  else {\n    if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      param_1[1] = uVar1;\n      *param_1 = uVar8;\n      *param_2 = uVar6;\n      param_2[1] = uVar4;\n      goto LAB_00180fe9;\n    }\n    if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *param_1 = uVar2;\n      param_1[1] = uVar7;\n      goto LAB_00181024;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    *param_3 = uVar6;\n    param_3[1] = uVar4;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }\n  uVar1 = param_3[2];\n  param_1[3] = param_3[3];\n  param_1[2] = uVar1;\n  param_3[2] = uVar7;\n  param_3[3] = uVar8;\n  return;\n}\n\n" (function_definition "void FUN_00180f10(uint *param_1,uint *param_2,uint *param_3,uint *param_4)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  \n  uVar7 = param_4[1];\n  uVar8 = *param_2;\n  uVar1 = param_2[1];\n  uVar2 = *param_4;\n  uVar3 = *param_3;\n  uVar4 = param_1[1];\n  uVar5 = param_3[1];\n  uVar6 = *param_1;\n  if (uVar1 < uVar5 || uVar1 - uVar5 < (uint)(uVar8 < uVar3)) {\n    if (uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7) {\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }\n      *param_1 = uVar8;\n      param_1[1] = uVar1;\n      param_2[1] = uVar4;\n      *param_2 = uVar6;\nLAB_00180fe9:\n      uVar7 = param_1[2];\n      uVar8 = param_1[3];\n      uVar1 = param_2[3];\n      param_1[2] = param_2[2];\n      param_1[3] = uVar1;\n      param_2[2] = uVar7;\n      param_2[3] = uVar8;\n      return;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    param_3[1] = uVar4;\n    *param_3 = uVar6;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }\n  else {\n    if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      param_1[1] = uVar1;\n      *param_1 = uVar8;\n      *param_2 = uVar6;\n      param_2[1] = uVar4;\n      goto LAB_00180fe9;\n    }\n    if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *param_1 = uVar2;\n      param_1[1] = uVar7;\n      goto LAB_00181024;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    *param_3 = uVar6;\n    param_3[1] = uVar4;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }\n  uVar1 = param_3[2];\n  param_1[3] = param_3[3];\n  param_1[2] = uVar1;\n  param_3[2] = uVar7;\n  param_3[3] = uVar8;\n  return;\n}" primitive_type (function_declarator "FUN_00180f10(uint *param_1,uint *param_2,uint *param_3,uint *param_4)" identifier (parameter_list "(uint *param_1,uint *param_2,uint *param_3,uint *param_4)" ( (parameter_declaration "uint *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "uint *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "uint *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  \n  uVar7 = param_4[1];\n  uVar8 = *param_2;\n  uVar1 = param_2[1];\n  uVar2 = *param_4;\n  uVar3 = *param_3;\n  uVar4 = param_1[1];\n  uVar5 = param_3[1];\n  uVar6 = *param_1;\n  if (uVar1 < uVar5 || uVar1 - uVar5 < (uint)(uVar8 < uVar3)) {\n    if (uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7) {\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }\n      *param_1 = uVar8;\n      param_1[1] = uVar1;\n      param_2[1] = uVar4;\n      *param_2 = uVar6;\nLAB_00180fe9:\n      uVar7 = param_1[2];\n      uVar8 = param_1[3];\n      uVar1 = param_2[3];\n      param_1[2] = param_2[2];\n      param_1[3] = uVar1;\n      param_2[2] = uVar7;\n      param_2[3] = uVar8;\n      return;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    param_3[1] = uVar4;\n    *param_3 = uVar6;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }\n  else {\n    if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      param_1[1] = uVar1;\n      *param_1 = uVar8;\n      *param_2 = uVar6;\n      param_2[1] = uVar4;\n      goto LAB_00180fe9;\n    }\n    if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *param_1 = uVar2;\n      param_1[1] = uVar7;\n      goto LAB_00181024;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    *param_3 = uVar6;\n    param_3[1] = uVar4;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }\n  uVar1 = param_3[2];\n  param_1[3] = param_3[3];\n  param_1[2] = uVar1;\n  param_3[2] = uVar7;\n  param_3[3] = uVar8;\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (expression_statement "uVar7 = param_4[1];" (assignment_expression "uVar7 = param_4[1]" identifier = (subscript_expression "param_4[1]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = *param_2;" (assignment_expression "uVar8 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar1 = param_2[1];" (assignment_expression "uVar1 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = *param_4;" (assignment_expression "uVar2 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (expression_statement "uVar3 = *param_3;" (assignment_expression "uVar3 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "uVar4 = param_1[1];" (assignment_expression "uVar4 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = param_3[1];" (assignment_expression "uVar5 = param_3[1]" identifier = (subscript_expression "param_3[1]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = *param_1;" (assignment_expression "uVar6 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (if_statement "if (uVar1 < uVar5 || uVar1 - uVar5 < (uint)(uVar8 < uVar3)) {\n    if (uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7) {\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }\n      *param_1 = uVar8;\n      param_1[1] = uVar1;\n      param_2[1] = uVar4;\n      *param_2 = uVar6;\nLAB_00180fe9:\n      uVar7 = param_1[2];\n      uVar8 = param_1[3];\n      uVar1 = param_2[3];\n      param_1[2] = param_2[2];\n      param_1[3] = uVar1;\n      param_2[2] = uVar7;\n      param_2[3] = uVar8;\n      return;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    param_3[1] = uVar4;\n    *param_3 = uVar6;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }\n  else {\n    if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      param_1[1] = uVar1;\n      *param_1 = uVar8;\n      *param_2 = uVar6;\n      param_2[1] = uVar4;\n      goto LAB_00180fe9;\n    }\n    if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *param_1 = uVar2;\n      param_1[1] = uVar7;\n      goto LAB_00181024;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    *param_3 = uVar6;\n    param_3[1] = uVar4;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }" if (parenthesized_expression "(uVar1 < uVar5 || uVar1 - uVar5 < (uint)(uVar8 < uVar3))" ( (binary_expression "uVar1 < uVar5 || uVar1 - uVar5 < (uint)(uVar8 < uVar3)" (binary_expression "uVar1 < uVar5" identifier < identifier) || (binary_expression "uVar1 - uVar5 < (uint)(uVar8 < uVar3)" (binary_expression "uVar1 - uVar5" identifier - identifier) < (call_expression "(uint)(uVar8 < uVar3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 < uVar3)" ( (binary_expression "uVar8 < uVar3" identifier < identifier) ))))) )) (compound_statement "{\n    if (uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7) {\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }\n      *param_1 = uVar8;\n      param_1[1] = uVar1;\n      param_2[1] = uVar4;\n      *param_2 = uVar6;\nLAB_00180fe9:\n      uVar7 = param_1[2];\n      uVar8 = param_1[3];\n      uVar1 = param_2[3];\n      param_1[2] = param_2[2];\n      param_1[3] = uVar1;\n      param_2[2] = uVar7;\n      param_2[3] = uVar8;\n      return;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    param_3[1] = uVar4;\n    *param_3 = uVar6;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }" { (if_statement "if (uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7) {\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }\n      *param_1 = uVar8;\n      param_1[1] = uVar1;\n      param_2[1] = uVar4;\n      *param_2 = uVar6;\nLAB_00180fe9:\n      uVar7 = param_1[2];\n      uVar8 = param_1[3];\n      uVar1 = param_2[3];\n      param_1[2] = param_2[2];\n      param_1[3] = uVar1;\n      param_2[2] = uVar7;\n      param_2[3] = uVar8;\n      return;\n    }" if (parenthesized_expression "(uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7)" ( (binary_expression "uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7" (binary_expression "uVar7 <= uVar5" identifier <= identifier) && (binary_expression "(uint)(uVar3 < uVar2) <= uVar5 - uVar7" (call_expression "(uint)(uVar3 < uVar2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar3 < uVar2)" ( (binary_expression "uVar3 < uVar2" identifier < identifier) ))) <= (binary_expression "uVar5 - uVar7" identifier - identifier))) )) (compound_statement "{\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }\n      *param_1 = uVar8;\n      param_1[1] = uVar1;\n      param_2[1] = uVar4;\n      *param_2 = uVar6;\nLAB_00180fe9:\n      uVar7 = param_1[2];\n      uVar8 = param_1[3];\n      uVar1 = param_2[3];\n      param_1[2] = param_2[2];\n      param_1[3] = uVar1;\n      param_2[2] = uVar7;\n      param_2[3] = uVar8;\n      return;\n    }" { (if_statement "if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }" if (parenthesized_expression "(uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2))" ( (binary_expression "uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)" (binary_expression "uVar1 < uVar7" identifier < identifier) || (binary_expression "uVar1 - uVar7 < (uint)(uVar8 < uVar2)" (binary_expression "uVar1 - uVar7" identifier - identifier) < (call_expression "(uint)(uVar8 < uVar2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 < uVar2)" ( (binary_expression "uVar8 < uVar2" identifier < identifier) ))))) )) (compound_statement "{\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }" { (expression_statement "*param_1 = uVar2;" (assignment_expression "*param_1 = uVar2" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[1] = uVar7;" (assignment_expression "param_1[1] = uVar7" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_00181024:\n        *param_4 = uVar6;" statement_identifier : (expression_statement "*param_4 = uVar6;" (assignment_expression "*param_4 = uVar6" (pointer_expression "*param_4" * identifier) = identifier) ;)) (expression_statement "param_4[1] = uVar4;" (assignment_expression "param_4[1] = uVar4" (subscript_expression "param_4[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar7 = param_4[3];" (assignment_expression "uVar7 = param_4[3]" identifier = (subscript_expression "param_4[3]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = param_1[3];" (assignment_expression "uVar8 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "uVar1 = param_1[2];" (assignment_expression "uVar1 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "param_1[2] = param_4[2];" (assignment_expression "param_1[2] = param_4[2]" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (subscript_expression "param_4[2]" identifier [ number_literal ])) ;) (expression_statement "param_1[3] = uVar7;" (assignment_expression "param_1[3] = uVar7" (subscript_expression "param_1[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[2] = uVar1;" (assignment_expression "param_4[2] = uVar1" (subscript_expression "param_4[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[3] = uVar8;" (assignment_expression "param_4[3] = uVar8" (subscript_expression "param_4[3]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "*param_1 = uVar8;" (assignment_expression "*param_1 = uVar8" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[1] = uVar1;" (assignment_expression "param_1[1] = uVar1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[1] = uVar4;" (assignment_expression "param_2[1] = uVar4" (subscript_expression "param_2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*param_2 = uVar6;" (assignment_expression "*param_2 = uVar6" (pointer_expression "*param_2" * identifier) = identifier) ;) (labeled_statement "LAB_00180fe9:\n      uVar7 = param_1[2];" statement_identifier : (expression_statement "uVar7 = param_1[2];" (assignment_expression "uVar7 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;)) (expression_statement "uVar8 = param_1[3];" (assignment_expression "uVar8 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "uVar1 = param_2[3];" (assignment_expression "uVar1 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "param_1[2] = param_2[2];" (assignment_expression "param_1[2] = param_2[2]" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "param_1[3] = uVar1;" (assignment_expression "param_1[3] = uVar1" (subscript_expression "param_1[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[2] = uVar7;" (assignment_expression "param_2[2] = uVar7" (subscript_expression "param_2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[3] = uVar8;" (assignment_expression "param_2[3] = uVar8" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "*param_1 = uVar3;" (assignment_expression "*param_1 = uVar3" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[1] = uVar5;" (assignment_expression "param_1[1] = uVar5" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_3[1] = uVar4;" (assignment_expression "param_3[1] = uVar4" (subscript_expression "param_3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*param_3 = uVar6;" (assignment_expression "*param_3 = uVar6" (pointer_expression "*param_3" * identifier) = identifier) ;) (expression_statement "uVar7 = param_1[2];" (assignment_expression "uVar7 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = param_1[3];" (assignment_expression "uVar8 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) }) (else_clause "else {\n    if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      param_1[1] = uVar1;\n      *param_1 = uVar8;\n      *param_2 = uVar6;\n      param_2[1] = uVar4;\n      goto LAB_00180fe9;\n    }\n    if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *param_1 = uVar2;\n      param_1[1] = uVar7;\n      goto LAB_00181024;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    *param_3 = uVar6;\n    param_3[1] = uVar4;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }" else (compound_statement "{\n    if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      param_1[1] = uVar1;\n      *param_1 = uVar8;\n      *param_2 = uVar6;\n      param_2[1] = uVar4;\n      goto LAB_00180fe9;\n    }\n    if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *param_1 = uVar2;\n      param_1[1] = uVar7;\n      goto LAB_00181024;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    *param_3 = uVar6;\n    param_3[1] = uVar4;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }" { (if_statement "if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      param_1[1] = uVar1;\n      *param_1 = uVar8;\n      *param_2 = uVar6;\n      param_2[1] = uVar4;\n      goto LAB_00180fe9;\n    }" if (parenthesized_expression "(uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2))" ( (binary_expression "uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)" (binary_expression "uVar1 < uVar7" identifier < identifier) || (binary_expression "uVar1 - uVar7 < (uint)(uVar8 < uVar2)" (binary_expression "uVar1 - uVar7" identifier - identifier) < (call_expression "(uint)(uVar8 < uVar2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 < uVar2)" ( (binary_expression "uVar8 < uVar2" identifier < identifier) ))))) )) (compound_statement "{\n      param_1[1] = uVar1;\n      *param_1 = uVar8;\n      *param_2 = uVar6;\n      param_2[1] = uVar4;\n      goto LAB_00180fe9;\n    }" { (expression_statement "param_1[1] = uVar1;" (assignment_expression "param_1[1] = uVar1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*param_1 = uVar8;" (assignment_expression "*param_1 = uVar8" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "*param_2 = uVar6;" (assignment_expression "*param_2 = uVar6" (pointer_expression "*param_2" * identifier) = identifier) ;) (expression_statement "param_2[1] = uVar4;" (assignment_expression "param_2[1] = uVar4" (subscript_expression "param_2[1]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_00180fe9;" goto statement_identifier ;) })) (if_statement "if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *param_1 = uVar2;\n      param_1[1] = uVar7;\n      goto LAB_00181024;\n    }" if (parenthesized_expression "(uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2))" ( (binary_expression "uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)" (binary_expression "uVar5 < uVar7" identifier < identifier) || (binary_expression "uVar5 - uVar7 < (uint)(uVar3 < uVar2)" (binary_expression "uVar5 - uVar7" identifier - identifier) < (call_expression "(uint)(uVar3 < uVar2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar3 < uVar2)" ( (binary_expression "uVar3 < uVar2" identifier < identifier) ))))) )) (compound_statement "{\n      *param_1 = uVar2;\n      param_1[1] = uVar7;\n      goto LAB_00181024;\n    }" { (expression_statement "*param_1 = uVar2;" (assignment_expression "*param_1 = uVar2" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[1] = uVar7;" (assignment_expression "param_1[1] = uVar7" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_00181024;" goto statement_identifier ;) })) (expression_statement "*param_1 = uVar3;" (assignment_expression "*param_1 = uVar3" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[1] = uVar5;" (assignment_expression "param_1[1] = uVar5" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*param_3 = uVar6;" (assignment_expression "*param_3 = uVar6" (pointer_expression "*param_3" * identifier) = identifier) ;) (expression_statement "param_3[1] = uVar4;" (assignment_expression "param_3[1] = uVar4" (subscript_expression "param_3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar7 = param_1[2];" (assignment_expression "uVar7 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = param_1[3];" (assignment_expression "uVar8 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) }))) (expression_statement "uVar1 = param_3[2];" (assignment_expression "uVar1 = param_3[2]" identifier = (subscript_expression "param_3[2]" identifier [ number_literal ])) ;) (expression_statement "param_1[3] = param_3[3];" (assignment_expression "param_1[3] = param_3[3]" (subscript_expression "param_1[3]" identifier [ number_literal ]) = (subscript_expression "param_3[3]" identifier [ number_literal ])) ;) (expression_statement "param_1[2] = uVar1;" (assignment_expression "param_1[2] = uVar1" (subscript_expression "param_1[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_3[2] = uVar7;" (assignment_expression "param_3[2] = uVar7" (subscript_expression "param_3[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_3[3] = uVar8;" (assignment_expression "param_3[3] = uVar8" (subscript_expression "param_3[3]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n/* DWARF original name: __move_median_to_first<__gnu_cxx::__normal_iterator<std::pair<long long\n   unsigned int, long long unsigned int>*, std::vector<std::pair<long long unsigned int, long long\n   unsigned int>, std::allocator<std::pair<long long unsigned int, long long unsigned int> > > >,\n   __gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64> > > */\n\nvoid std::\n     __move_median_to_first<__gnu_cxx::__normal_iterator<std::pair<long_long_unsigned_int,_long_long_unsigned_int>*,_std::vector<std::pair<long_long_unsigned_int,_long_long_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int,_long_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n               (uint *__result,uint *__a,uint *__b,uint *__c)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  \n  uVar7 = __c[1];\n  uVar8 = *__a;\n  uVar1 = __a[1];\n  uVar2 = *__c;\n  uVar3 = *__b;\n  uVar4 = __result[1];\n  uVar5 = __b[1];\n  uVar6 = *__result;\n  if (uVar1 < uVar5 || uVar1 - uVar5 < (uint)(uVar8 < uVar3)) {\n    if (uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7) {\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *__result = uVar2;\n        __result[1] = uVar7;\nLAB_00181024:\n        *__c = uVar6;\n        __c[1] = uVar4;\n        uVar7 = __c[3];\n        uVar8 = __result[3];\n        uVar1 = __result[2];\n        __result[2] = __c[2];\n        __result[3] = uVar7;\n        __c[2] = uVar1;\n        __c[3] = uVar8;\n        return;\n      }\n      *__result = uVar8;\n      __result[1] = uVar1;\n      __a[1] = uVar4;\n      *__a = uVar6;\nLAB_00180fe9:\n      uVar7 = __result[2];\n      uVar8 = __result[3];\n      uVar1 = __a[3];\n      __result[2] = __a[2];\n      __result[3] = uVar1;\n      __a[2] = uVar7;\n      __a[3] = uVar8;\n      return;\n    }\n    *__result = uVar3;\n    __result[1] = uVar5;\n    __b[1] = uVar4;\n    *__b = uVar6;\n    uVar7 = __result[2];\n    uVar8 = __result[3];\n  }\n  else {\n    if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      __result[1] = uVar1;\n      *__result = uVar8;\n      *__a = uVar6;\n      __a[1] = uVar4;\n      goto LAB_00180fe9;\n    }\n    if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *__result = uVar2;\n      __result[1] = uVar7;\n      goto LAB_00181024;\n    }\n    *__result = uVar3;\n    __result[1] = uVar5;\n    *__b = uVar6;\n    __b[1] = uVar4;\n    uVar7 = __result[2];\n    uVar8 = __result[3];\n  }\n  uVar1 = __b[2];\n  __result[3] = __b[3];\n  __result[2] = uVar1;\n  __b[2] = uVar7;\n  __b[3] = uVar8;\n  return;\n}\n\n" comment comment (declaration "void std::\n     __move_median_to_first<__gnu_cxx::__normal_iterator<std::pair<long_long_unsigned_int,_long_long_unsigned_int>*,_std::vector<std::pair<long_long_unsigned_int,_long_long_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int,_long_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n               (uint *__result,uint *__a,uint *__b,uint *__c)\n\n{\n  uint uVar1;" primitive_type (ERROR "std::\n     __move_median_to_first<__gnu_cxx::__normal_iterator<std::pair<" identifier : : identifier < identifier : : identifier < identifier : : identifier <) identifier , identifier (ERROR ">*" > *) , (ERROR "_std::vector<std::pair<" identifier : : identifier < identifier : : identifier <) identifier , identifier (ERROR ">" >) , (ERROR "_std::allocator<std::pair<" identifier : : identifier < identifier : : identifier <) identifier , identifier (ERROR ">_>_>_>" > identifier > identifier > identifier >) , (ERROR "___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>\n               (uint *__result,uint *__a,uint *__b,uint *__c)\n\n{\n  uint" identifier : : identifier : : identifier < identifier : : identifier : : identifier < number_literal > identifier > (function_declarator "_>\n               (uint *__result,uint *__a,uint *__b,uint *__c)" identifier (ERROR ">" >) (parameter_list "(uint *__result,uint *__a,uint *__b,uint *__c)" ( (parameter_declaration "uint *__result" type_identifier (pointer_declarator "*__result" * identifier)) , (parameter_declaration "uint *__a" type_identifier (pointer_declarator "*__a" * identifier)) , (parameter_declaration "uint *__b" type_identifier (pointer_declarator "*__b" * identifier)) , (parameter_declaration "uint *__c" type_identifier (pointer_declarator "*__c" * identifier)) ))) { identifier) identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (expression_statement "uVar7 = __c[1];" (assignment_expression "uVar7 = __c[1]" identifier = (subscript_expression "__c[1]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = *__a;" (assignment_expression "uVar8 = *__a" identifier = (pointer_expression "*__a" * identifier)) ;) (expression_statement "uVar1 = __a[1];" (assignment_expression "uVar1 = __a[1]" identifier = (subscript_expression "__a[1]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = *__c;" (assignment_expression "uVar2 = *__c" identifier = (pointer_expression "*__c" * identifier)) ;) (expression_statement "uVar3 = *__b;" (assignment_expression "uVar3 = *__b" identifier = (pointer_expression "*__b" * identifier)) ;) (expression_statement "uVar4 = __result[1];" (assignment_expression "uVar4 = __result[1]" identifier = (subscript_expression "__result[1]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = __b[1];" (assignment_expression "uVar5 = __b[1]" identifier = (subscript_expression "__b[1]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = *__result;" (assignment_expression "uVar6 = *__result" identifier = (pointer_expression "*__result" * identifier)) ;) (if_statement "if (uVar1 < uVar5 || uVar1 - uVar5 < (uint)(uVar8 < uVar3)) {\n    if (uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7) {\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *__result = uVar2;\n        __result[1] = uVar7;\nLAB_00181024:\n        *__c = uVar6;\n        __c[1] = uVar4;\n        uVar7 = __c[3];\n        uVar8 = __result[3];\n        uVar1 = __result[2];\n        __result[2] = __c[2];\n        __result[3] = uVar7;\n        __c[2] = uVar1;\n        __c[3] = uVar8;\n        return;\n      }\n      *__result = uVar8;\n      __result[1] = uVar1;\n      __a[1] = uVar4;\n      *__a = uVar6;\nLAB_00180fe9:\n      uVar7 = __result[2];\n      uVar8 = __result[3];\n      uVar1 = __a[3];\n      __result[2] = __a[2];\n      __result[3] = uVar1;\n      __a[2] = uVar7;\n      __a[3] = uVar8;\n      return;\n    }\n    *__result = uVar3;\n    __result[1] = uVar5;\n    __b[1] = uVar4;\n    *__b = uVar6;\n    uVar7 = __result[2];\n    uVar8 = __result[3];\n  }\n  else {\n    if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      __result[1] = uVar1;\n      *__result = uVar8;\n      *__a = uVar6;\n      __a[1] = uVar4;\n      goto LAB_00180fe9;\n    }\n    if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *__result = uVar2;\n      __result[1] = uVar7;\n      goto LAB_00181024;\n    }\n    *__result = uVar3;\n    __result[1] = uVar5;\n    *__b = uVar6;\n    __b[1] = uVar4;\n    uVar7 = __result[2];\n    uVar8 = __result[3];\n  }" if (parenthesized_expression "(uVar1 < uVar5 || uVar1 - uVar5 < (uint)(uVar8 < uVar3))" ( (binary_expression "uVar1 < uVar5 || uVar1 - uVar5 < (uint)(uVar8 < uVar3)" (binary_expression "uVar1 < uVar5" identifier < identifier) || (binary_expression "uVar1 - uVar5 < (uint)(uVar8 < uVar3)" (binary_expression "uVar1 - uVar5" identifier - identifier) < (call_expression "(uint)(uVar8 < uVar3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 < uVar3)" ( (binary_expression "uVar8 < uVar3" identifier < identifier) ))))) )) (compound_statement "{\n    if (uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7) {\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *__result = uVar2;\n        __result[1] = uVar7;\nLAB_00181024:\n        *__c = uVar6;\n        __c[1] = uVar4;\n        uVar7 = __c[3];\n        uVar8 = __result[3];\n        uVar1 = __result[2];\n        __result[2] = __c[2];\n        __result[3] = uVar7;\n        __c[2] = uVar1;\n        __c[3] = uVar8;\n        return;\n      }\n      *__result = uVar8;\n      __result[1] = uVar1;\n      __a[1] = uVar4;\n      *__a = uVar6;\nLAB_00180fe9:\n      uVar7 = __result[2];\n      uVar8 = __result[3];\n      uVar1 = __a[3];\n      __result[2] = __a[2];\n      __result[3] = uVar1;\n      __a[2] = uVar7;\n      __a[3] = uVar8;\n      return;\n    }\n    *__result = uVar3;\n    __result[1] = uVar5;\n    __b[1] = uVar4;\n    *__b = uVar6;\n    uVar7 = __result[2];\n    uVar8 = __result[3];\n  }" { (if_statement "if (uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7) {\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *__result = uVar2;\n        __result[1] = uVar7;\nLAB_00181024:\n        *__c = uVar6;\n        __c[1] = uVar4;\n        uVar7 = __c[3];\n        uVar8 = __result[3];\n        uVar1 = __result[2];\n        __result[2] = __c[2];\n        __result[3] = uVar7;\n        __c[2] = uVar1;\n        __c[3] = uVar8;\n        return;\n      }\n      *__result = uVar8;\n      __result[1] = uVar1;\n      __a[1] = uVar4;\n      *__a = uVar6;\nLAB_00180fe9:\n      uVar7 = __result[2];\n      uVar8 = __result[3];\n      uVar1 = __a[3];\n      __result[2] = __a[2];\n      __result[3] = uVar1;\n      __a[2] = uVar7;\n      __a[3] = uVar8;\n      return;\n    }" if (parenthesized_expression "(uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7)" ( (binary_expression "uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7" (binary_expression "uVar7 <= uVar5" identifier <= identifier) && (binary_expression "(uint)(uVar3 < uVar2) <= uVar5 - uVar7" (call_expression "(uint)(uVar3 < uVar2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar3 < uVar2)" ( (binary_expression "uVar3 < uVar2" identifier < identifier) ))) <= (binary_expression "uVar5 - uVar7" identifier - identifier))) )) (compound_statement "{\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *__result = uVar2;\n        __result[1] = uVar7;\nLAB_00181024:\n        *__c = uVar6;\n        __c[1] = uVar4;\n        uVar7 = __c[3];\n        uVar8 = __result[3];\n        uVar1 = __result[2];\n        __result[2] = __c[2];\n        __result[3] = uVar7;\n        __c[2] = uVar1;\n        __c[3] = uVar8;\n        return;\n      }\n      *__result = uVar8;\n      __result[1] = uVar1;\n      __a[1] = uVar4;\n      *__a = uVar6;\nLAB_00180fe9:\n      uVar7 = __result[2];\n      uVar8 = __result[3];\n      uVar1 = __a[3];\n      __result[2] = __a[2];\n      __result[3] = uVar1;\n      __a[2] = uVar7;\n      __a[3] = uVar8;\n      return;\n    }" { (if_statement "if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *__result = uVar2;\n        __result[1] = uVar7;\nLAB_00181024:\n        *__c = uVar6;\n        __c[1] = uVar4;\n        uVar7 = __c[3];\n        uVar8 = __result[3];\n        uVar1 = __result[2];\n        __result[2] = __c[2];\n        __result[3] = uVar7;\n        __c[2] = uVar1;\n        __c[3] = uVar8;\n        return;\n      }" if (parenthesized_expression "(uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2))" ( (binary_expression "uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)" (binary_expression "uVar1 < uVar7" identifier < identifier) || (binary_expression "uVar1 - uVar7 < (uint)(uVar8 < uVar2)" (binary_expression "uVar1 - uVar7" identifier - identifier) < (call_expression "(uint)(uVar8 < uVar2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 < uVar2)" ( (binary_expression "uVar8 < uVar2" identifier < identifier) ))))) )) (compound_statement "{\n        *__result = uVar2;\n        __result[1] = uVar7;\nLAB_00181024:\n        *__c = uVar6;\n        __c[1] = uVar4;\n        uVar7 = __c[3];\n        uVar8 = __result[3];\n        uVar1 = __result[2];\n        __result[2] = __c[2];\n        __result[3] = uVar7;\n        __c[2] = uVar1;\n        __c[3] = uVar8;\n        return;\n      }" { (expression_statement "*__result = uVar2;" (assignment_expression "*__result = uVar2" (pointer_expression "*__result" * identifier) = identifier) ;) (expression_statement "__result[1] = uVar7;" (assignment_expression "__result[1] = uVar7" (subscript_expression "__result[1]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_00181024:\n        *__c = uVar6;" statement_identifier : (expression_statement "*__c = uVar6;" (assignment_expression "*__c = uVar6" (pointer_expression "*__c" * identifier) = identifier) ;)) (expression_statement "__c[1] = uVar4;" (assignment_expression "__c[1] = uVar4" (subscript_expression "__c[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar7 = __c[3];" (assignment_expression "uVar7 = __c[3]" identifier = (subscript_expression "__c[3]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = __result[3];" (assignment_expression "uVar8 = __result[3]" identifier = (subscript_expression "__result[3]" identifier [ number_literal ])) ;) (expression_statement "uVar1 = __result[2];" (assignment_expression "uVar1 = __result[2]" identifier = (subscript_expression "__result[2]" identifier [ number_literal ])) ;) (expression_statement "__result[2] = __c[2];" (assignment_expression "__result[2] = __c[2]" (subscript_expression "__result[2]" identifier [ number_literal ]) = (subscript_expression "__c[2]" identifier [ number_literal ])) ;) (expression_statement "__result[3] = uVar7;" (assignment_expression "__result[3] = uVar7" (subscript_expression "__result[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__c[2] = uVar1;" (assignment_expression "__c[2] = uVar1" (subscript_expression "__c[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__c[3] = uVar8;" (assignment_expression "__c[3] = uVar8" (subscript_expression "__c[3]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "*__result = uVar8;" (assignment_expression "*__result = uVar8" (pointer_expression "*__result" * identifier) = identifier) ;) (expression_statement "__result[1] = uVar1;" (assignment_expression "__result[1] = uVar1" (subscript_expression "__result[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__a[1] = uVar4;" (assignment_expression "__a[1] = uVar4" (subscript_expression "__a[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*__a = uVar6;" (assignment_expression "*__a = uVar6" (pointer_expression "*__a" * identifier) = identifier) ;) (labeled_statement "LAB_00180fe9:\n      uVar7 = __result[2];" statement_identifier : (expression_statement "uVar7 = __result[2];" (assignment_expression "uVar7 = __result[2]" identifier = (subscript_expression "__result[2]" identifier [ number_literal ])) ;)) (expression_statement "uVar8 = __result[3];" (assignment_expression "uVar8 = __result[3]" identifier = (subscript_expression "__result[3]" identifier [ number_literal ])) ;) (expression_statement "uVar1 = __a[3];" (assignment_expression "uVar1 = __a[3]" identifier = (subscript_expression "__a[3]" identifier [ number_literal ])) ;) (expression_statement "__result[2] = __a[2];" (assignment_expression "__result[2] = __a[2]" (subscript_expression "__result[2]" identifier [ number_literal ]) = (subscript_expression "__a[2]" identifier [ number_literal ])) ;) (expression_statement "__result[3] = uVar1;" (assignment_expression "__result[3] = uVar1" (subscript_expression "__result[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__a[2] = uVar7;" (assignment_expression "__a[2] = uVar7" (subscript_expression "__a[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__a[3] = uVar8;" (assignment_expression "__a[3] = uVar8" (subscript_expression "__a[3]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "*__result = uVar3;" (assignment_expression "*__result = uVar3" (pointer_expression "*__result" * identifier) = identifier) ;) (expression_statement "__result[1] = uVar5;" (assignment_expression "__result[1] = uVar5" (subscript_expression "__result[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__b[1] = uVar4;" (assignment_expression "__b[1] = uVar4" (subscript_expression "__b[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*__b = uVar6;" (assignment_expression "*__b = uVar6" (pointer_expression "*__b" * identifier) = identifier) ;) (expression_statement "uVar7 = __result[2];" (assignment_expression "uVar7 = __result[2]" identifier = (subscript_expression "__result[2]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = __result[3];" (assignment_expression "uVar8 = __result[3]" identifier = (subscript_expression "__result[3]" identifier [ number_literal ])) ;) }) (else_clause "else {\n    if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      __result[1] = uVar1;\n      *__result = uVar8;\n      *__a = uVar6;\n      __a[1] = uVar4;\n      goto LAB_00180fe9;\n    }\n    if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *__result = uVar2;\n      __result[1] = uVar7;\n      goto LAB_00181024;\n    }\n    *__result = uVar3;\n    __result[1] = uVar5;\n    *__b = uVar6;\n    __b[1] = uVar4;\n    uVar7 = __result[2];\n    uVar8 = __result[3];\n  }" else (compound_statement "{\n    if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      __result[1] = uVar1;\n      *__result = uVar8;\n      *__a = uVar6;\n      __a[1] = uVar4;\n      goto LAB_00180fe9;\n    }\n    if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *__result = uVar2;\n      __result[1] = uVar7;\n      goto LAB_00181024;\n    }\n    *__result = uVar3;\n    __result[1] = uVar5;\n    *__b = uVar6;\n    __b[1] = uVar4;\n    uVar7 = __result[2];\n    uVar8 = __result[3];\n  }" { (if_statement "if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      __result[1] = uVar1;\n      *__result = uVar8;\n      *__a = uVar6;\n      __a[1] = uVar4;\n      goto LAB_00180fe9;\n    }" if (parenthesized_expression "(uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2))" ( (binary_expression "uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)" (binary_expression "uVar1 < uVar7" identifier < identifier) || (binary_expression "uVar1 - uVar7 < (uint)(uVar8 < uVar2)" (binary_expression "uVar1 - uVar7" identifier - identifier) < (call_expression "(uint)(uVar8 < uVar2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 < uVar2)" ( (binary_expression "uVar8 < uVar2" identifier < identifier) ))))) )) (compound_statement "{\n      __result[1] = uVar1;\n      *__result = uVar8;\n      *__a = uVar6;\n      __a[1] = uVar4;\n      goto LAB_00180fe9;\n    }" { (expression_statement "__result[1] = uVar1;" (assignment_expression "__result[1] = uVar1" (subscript_expression "__result[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*__result = uVar8;" (assignment_expression "*__result = uVar8" (pointer_expression "*__result" * identifier) = identifier) ;) (expression_statement "*__a = uVar6;" (assignment_expression "*__a = uVar6" (pointer_expression "*__a" * identifier) = identifier) ;) (expression_statement "__a[1] = uVar4;" (assignment_expression "__a[1] = uVar4" (subscript_expression "__a[1]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_00180fe9;" goto statement_identifier ;) })) (if_statement "if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *__result = uVar2;\n      __result[1] = uVar7;\n      goto LAB_00181024;\n    }" if (parenthesized_expression "(uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2))" ( (binary_expression "uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)" (binary_expression "uVar5 < uVar7" identifier < identifier) || (binary_expression "uVar5 - uVar7 < (uint)(uVar3 < uVar2)" (binary_expression "uVar5 - uVar7" identifier - identifier) < (call_expression "(uint)(uVar3 < uVar2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar3 < uVar2)" ( (binary_expression "uVar3 < uVar2" identifier < identifier) ))))) )) (compound_statement "{\n      *__result = uVar2;\n      __result[1] = uVar7;\n      goto LAB_00181024;\n    }" { (expression_statement "*__result = uVar2;" (assignment_expression "*__result = uVar2" (pointer_expression "*__result" * identifier) = identifier) ;) (expression_statement "__result[1] = uVar7;" (assignment_expression "__result[1] = uVar7" (subscript_expression "__result[1]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_00181024;" goto statement_identifier ;) })) (expression_statement "*__result = uVar3;" (assignment_expression "*__result = uVar3" (pointer_expression "*__result" * identifier) = identifier) ;) (expression_statement "__result[1] = uVar5;" (assignment_expression "__result[1] = uVar5" (subscript_expression "__result[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*__b = uVar6;" (assignment_expression "*__b = uVar6" (pointer_expression "*__b" * identifier) = identifier) ;) (expression_statement "__b[1] = uVar4;" (assignment_expression "__b[1] = uVar4" (subscript_expression "__b[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar7 = __result[2];" (assignment_expression "uVar7 = __result[2]" identifier = (subscript_expression "__result[2]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = __result[3];" (assignment_expression "uVar8 = __result[3]" identifier = (subscript_expression "__result[3]" identifier [ number_literal ])) ;) }))) (expression_statement "uVar1 = __b[2];" (assignment_expression "uVar1 = __b[2]" identifier = (subscript_expression "__b[2]" identifier [ number_literal ])) ;) (expression_statement "__result[3] = __b[3];" (assignment_expression "__result[3] = __b[3]" (subscript_expression "__result[3]" identifier [ number_literal ]) = (subscript_expression "__b[3]" identifier [ number_literal ])) ;) (expression_statement "__result[2] = uVar1;" (assignment_expression "__result[2] = uVar1" (subscript_expression "__result[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__b[2] = uVar7;" (assignment_expression "__b[2] = uVar7" (subscript_expression "__b[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__b[3] = uVar8;" (assignment_expression "__b[3] = uVar8" (subscript_expression "__b[3]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void FUN_00180f10(uint *param_1,uint *param_2,uint *param_3,uint *param_4)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  \n  uVar7 = param_4[1];\n  uVar8 = *param_2;\n  uVar1 = param_2[1];\n  uVar2 = *param_4;\n  uVar3 = *param_3;\n  uVar4 = param_1[1];\n  uVar5 = param_3[1];\n  uVar6 = *param_1;\n  if (uVar1 < uVar5 || uVar1 - uVar5 < (uint)(uVar8 < uVar3)) {\n    if (uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7) {\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }\n      *param_1 = uVar8;\n      param_1[1] = uVar1;\n      param_2[1] = uVar4;\n      *param_2 = uVar6;\nLAB_00180fe9:\n      uVar7 = param_1[2];\n      uVar8 = param_1[3];\n      uVar1 = param_2[3];\n      param_1[2] = param_2[2];\n      param_1[3] = uVar1;\n      param_2[2] = uVar7;\n      param_2[3] = uVar8;\n      return;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    param_3[1] = uVar4;\n    *param_3 = uVar6;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }\n  else {\n    if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      param_1[1] = uVar1;\n      *param_1 = uVar8;\n      *param_2 = uVar6;\n      param_2[1] = uVar4;\n      goto LAB_00180fe9;\n    }\n    if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *param_1 = uVar2;\n      param_1[1] = uVar7;\n      goto LAB_00181024;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    *param_3 = uVar6;\n    param_3[1] = uVar4;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }\n  uVar1 = param_3[2];\n  param_1[3] = param_3[3];\n  param_1[2] = uVar1;\n  param_3[2] = uVar7;\n  param_3[3] = uVar8;\n  return;\n}\n\n" (function_definition "void FUN_00180f10(uint *param_1,uint *param_2,uint *param_3,uint *param_4)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  \n  uVar7 = param_4[1];\n  uVar8 = *param_2;\n  uVar1 = param_2[1];\n  uVar2 = *param_4;\n  uVar3 = *param_3;\n  uVar4 = param_1[1];\n  uVar5 = param_3[1];\n  uVar6 = *param_1;\n  if (uVar1 < uVar5 || uVar1 - uVar5 < (uint)(uVar8 < uVar3)) {\n    if (uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7) {\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }\n      *param_1 = uVar8;\n      param_1[1] = uVar1;\n      param_2[1] = uVar4;\n      *param_2 = uVar6;\nLAB_00180fe9:\n      uVar7 = param_1[2];\n      uVar8 = param_1[3];\n      uVar1 = param_2[3];\n      param_1[2] = param_2[2];\n      param_1[3] = uVar1;\n      param_2[2] = uVar7;\n      param_2[3] = uVar8;\n      return;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    param_3[1] = uVar4;\n    *param_3 = uVar6;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }\n  else {\n    if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      param_1[1] = uVar1;\n      *param_1 = uVar8;\n      *param_2 = uVar6;\n      param_2[1] = uVar4;\n      goto LAB_00180fe9;\n    }\n    if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *param_1 = uVar2;\n      param_1[1] = uVar7;\n      goto LAB_00181024;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    *param_3 = uVar6;\n    param_3[1] = uVar4;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }\n  uVar1 = param_3[2];\n  param_1[3] = param_3[3];\n  param_1[2] = uVar1;\n  param_3[2] = uVar7;\n  param_3[3] = uVar8;\n  return;\n}" primitive_type (function_declarator "FUN_00180f10(uint *param_1,uint *param_2,uint *param_3,uint *param_4)" identifier (parameter_list "(uint *param_1,uint *param_2,uint *param_3,uint *param_4)" ( (parameter_declaration "uint *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "uint *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "uint *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  \n  uVar7 = param_4[1];\n  uVar8 = *param_2;\n  uVar1 = param_2[1];\n  uVar2 = *param_4;\n  uVar3 = *param_3;\n  uVar4 = param_1[1];\n  uVar5 = param_3[1];\n  uVar6 = *param_1;\n  if (uVar1 < uVar5 || uVar1 - uVar5 < (uint)(uVar8 < uVar3)) {\n    if (uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7) {\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }\n      *param_1 = uVar8;\n      param_1[1] = uVar1;\n      param_2[1] = uVar4;\n      *param_2 = uVar6;\nLAB_00180fe9:\n      uVar7 = param_1[2];\n      uVar8 = param_1[3];\n      uVar1 = param_2[3];\n      param_1[2] = param_2[2];\n      param_1[3] = uVar1;\n      param_2[2] = uVar7;\n      param_2[3] = uVar8;\n      return;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    param_3[1] = uVar4;\n    *param_3 = uVar6;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }\n  else {\n    if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      param_1[1] = uVar1;\n      *param_1 = uVar8;\n      *param_2 = uVar6;\n      param_2[1] = uVar4;\n      goto LAB_00180fe9;\n    }\n    if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *param_1 = uVar2;\n      param_1[1] = uVar7;\n      goto LAB_00181024;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    *param_3 = uVar6;\n    param_3[1] = uVar4;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }\n  uVar1 = param_3[2];\n  param_1[3] = param_3[3];\n  param_1[2] = uVar1;\n  param_3[2] = uVar7;\n  param_3[3] = uVar8;\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (expression_statement "uVar7 = param_4[1];" (assignment_expression "uVar7 = param_4[1]" identifier = (subscript_expression "param_4[1]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = *param_2;" (assignment_expression "uVar8 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar1 = param_2[1];" (assignment_expression "uVar1 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = *param_4;" (assignment_expression "uVar2 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (expression_statement "uVar3 = *param_3;" (assignment_expression "uVar3 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "uVar4 = param_1[1];" (assignment_expression "uVar4 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = param_3[1];" (assignment_expression "uVar5 = param_3[1]" identifier = (subscript_expression "param_3[1]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = *param_1;" (assignment_expression "uVar6 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (if_statement "if (uVar1 < uVar5 || uVar1 - uVar5 < (uint)(uVar8 < uVar3)) {\n    if (uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7) {\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }\n      *param_1 = uVar8;\n      param_1[1] = uVar1;\n      param_2[1] = uVar4;\n      *param_2 = uVar6;\nLAB_00180fe9:\n      uVar7 = param_1[2];\n      uVar8 = param_1[3];\n      uVar1 = param_2[3];\n      param_1[2] = param_2[2];\n      param_1[3] = uVar1;\n      param_2[2] = uVar7;\n      param_2[3] = uVar8;\n      return;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    param_3[1] = uVar4;\n    *param_3 = uVar6;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }\n  else {\n    if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      param_1[1] = uVar1;\n      *param_1 = uVar8;\n      *param_2 = uVar6;\n      param_2[1] = uVar4;\n      goto LAB_00180fe9;\n    }\n    if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *param_1 = uVar2;\n      param_1[1] = uVar7;\n      goto LAB_00181024;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    *param_3 = uVar6;\n    param_3[1] = uVar4;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }" if (parenthesized_expression "(uVar1 < uVar5 || uVar1 - uVar5 < (uint)(uVar8 < uVar3))" ( (binary_expression "uVar1 < uVar5 || uVar1 - uVar5 < (uint)(uVar8 < uVar3)" (binary_expression "uVar1 < uVar5" identifier < identifier) || (binary_expression "uVar1 - uVar5 < (uint)(uVar8 < uVar3)" (binary_expression "uVar1 - uVar5" identifier - identifier) < (call_expression "(uint)(uVar8 < uVar3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 < uVar3)" ( (binary_expression "uVar8 < uVar3" identifier < identifier) ))))) )) (compound_statement "{\n    if (uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7) {\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }\n      *param_1 = uVar8;\n      param_1[1] = uVar1;\n      param_2[1] = uVar4;\n      *param_2 = uVar6;\nLAB_00180fe9:\n      uVar7 = param_1[2];\n      uVar8 = param_1[3];\n      uVar1 = param_2[3];\n      param_1[2] = param_2[2];\n      param_1[3] = uVar1;\n      param_2[2] = uVar7;\n      param_2[3] = uVar8;\n      return;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    param_3[1] = uVar4;\n    *param_3 = uVar6;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }" { (if_statement "if (uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7) {\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }\n      *param_1 = uVar8;\n      param_1[1] = uVar1;\n      param_2[1] = uVar4;\n      *param_2 = uVar6;\nLAB_00180fe9:\n      uVar7 = param_1[2];\n      uVar8 = param_1[3];\n      uVar1 = param_2[3];\n      param_1[2] = param_2[2];\n      param_1[3] = uVar1;\n      param_2[2] = uVar7;\n      param_2[3] = uVar8;\n      return;\n    }" if (parenthesized_expression "(uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7)" ( (binary_expression "uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7" (binary_expression "uVar7 <= uVar5" identifier <= identifier) && (binary_expression "(uint)(uVar3 < uVar2) <= uVar5 - uVar7" (call_expression "(uint)(uVar3 < uVar2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar3 < uVar2)" ( (binary_expression "uVar3 < uVar2" identifier < identifier) ))) <= (binary_expression "uVar5 - uVar7" identifier - identifier))) )) (compound_statement "{\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }\n      *param_1 = uVar8;\n      param_1[1] = uVar1;\n      param_2[1] = uVar4;\n      *param_2 = uVar6;\nLAB_00180fe9:\n      uVar7 = param_1[2];\n      uVar8 = param_1[3];\n      uVar1 = param_2[3];\n      param_1[2] = param_2[2];\n      param_1[3] = uVar1;\n      param_2[2] = uVar7;\n      param_2[3] = uVar8;\n      return;\n    }" { (if_statement "if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }" if (parenthesized_expression "(uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2))" ( (binary_expression "uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)" (binary_expression "uVar1 < uVar7" identifier < identifier) || (binary_expression "uVar1 - uVar7 < (uint)(uVar8 < uVar2)" (binary_expression "uVar1 - uVar7" identifier - identifier) < (call_expression "(uint)(uVar8 < uVar2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 < uVar2)" ( (binary_expression "uVar8 < uVar2" identifier < identifier) ))))) )) (compound_statement "{\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }" { (expression_statement "*param_1 = uVar2;" (assignment_expression "*param_1 = uVar2" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[1] = uVar7;" (assignment_expression "param_1[1] = uVar7" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_00181024:\n        *param_4 = uVar6;" statement_identifier : (expression_statement "*param_4 = uVar6;" (assignment_expression "*param_4 = uVar6" (pointer_expression "*param_4" * identifier) = identifier) ;)) (expression_statement "param_4[1] = uVar4;" (assignment_expression "param_4[1] = uVar4" (subscript_expression "param_4[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar7 = param_4[3];" (assignment_expression "uVar7 = param_4[3]" identifier = (subscript_expression "param_4[3]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = param_1[3];" (assignment_expression "uVar8 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "uVar1 = param_1[2];" (assignment_expression "uVar1 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "param_1[2] = param_4[2];" (assignment_expression "param_1[2] = param_4[2]" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (subscript_expression "param_4[2]" identifier [ number_literal ])) ;) (expression_statement "param_1[3] = uVar7;" (assignment_expression "param_1[3] = uVar7" (subscript_expression "param_1[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[2] = uVar1;" (assignment_expression "param_4[2] = uVar1" (subscript_expression "param_4[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[3] = uVar8;" (assignment_expression "param_4[3] = uVar8" (subscript_expression "param_4[3]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "*param_1 = uVar8;" (assignment_expression "*param_1 = uVar8" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[1] = uVar1;" (assignment_expression "param_1[1] = uVar1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[1] = uVar4;" (assignment_expression "param_2[1] = uVar4" (subscript_expression "param_2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*param_2 = uVar6;" (assignment_expression "*param_2 = uVar6" (pointer_expression "*param_2" * identifier) = identifier) ;) (labeled_statement "LAB_00180fe9:\n      uVar7 = param_1[2];" statement_identifier : (expression_statement "uVar7 = param_1[2];" (assignment_expression "uVar7 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;)) (expression_statement "uVar8 = param_1[3];" (assignment_expression "uVar8 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "uVar1 = param_2[3];" (assignment_expression "uVar1 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "param_1[2] = param_2[2];" (assignment_expression "param_1[2] = param_2[2]" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "param_1[3] = uVar1;" (assignment_expression "param_1[3] = uVar1" (subscript_expression "param_1[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[2] = uVar7;" (assignment_expression "param_2[2] = uVar7" (subscript_expression "param_2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[3] = uVar8;" (assignment_expression "param_2[3] = uVar8" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "*param_1 = uVar3;" (assignment_expression "*param_1 = uVar3" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[1] = uVar5;" (assignment_expression "param_1[1] = uVar5" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_3[1] = uVar4;" (assignment_expression "param_3[1] = uVar4" (subscript_expression "param_3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*param_3 = uVar6;" (assignment_expression "*param_3 = uVar6" (pointer_expression "*param_3" * identifier) = identifier) ;) (expression_statement "uVar7 = param_1[2];" (assignment_expression "uVar7 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = param_1[3];" (assignment_expression "uVar8 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) }) (else_clause "else {\n    if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      param_1[1] = uVar1;\n      *param_1 = uVar8;\n      *param_2 = uVar6;\n      param_2[1] = uVar4;\n      goto LAB_00180fe9;\n    }\n    if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *param_1 = uVar2;\n      param_1[1] = uVar7;\n      goto LAB_00181024;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    *param_3 = uVar6;\n    param_3[1] = uVar4;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }" else (compound_statement "{\n    if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      param_1[1] = uVar1;\n      *param_1 = uVar8;\n      *param_2 = uVar6;\n      param_2[1] = uVar4;\n      goto LAB_00180fe9;\n    }\n    if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *param_1 = uVar2;\n      param_1[1] = uVar7;\n      goto LAB_00181024;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    *param_3 = uVar6;\n    param_3[1] = uVar4;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }" { (if_statement "if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      param_1[1] = uVar1;\n      *param_1 = uVar8;\n      *param_2 = uVar6;\n      param_2[1] = uVar4;\n      goto LAB_00180fe9;\n    }" if (parenthesized_expression "(uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2))" ( (binary_expression "uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)" (binary_expression "uVar1 < uVar7" identifier < identifier) || (binary_expression "uVar1 - uVar7 < (uint)(uVar8 < uVar2)" (binary_expression "uVar1 - uVar7" identifier - identifier) < (call_expression "(uint)(uVar8 < uVar2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 < uVar2)" ( (binary_expression "uVar8 < uVar2" identifier < identifier) ))))) )) (compound_statement "{\n      param_1[1] = uVar1;\n      *param_1 = uVar8;\n      *param_2 = uVar6;\n      param_2[1] = uVar4;\n      goto LAB_00180fe9;\n    }" { (expression_statement "param_1[1] = uVar1;" (assignment_expression "param_1[1] = uVar1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*param_1 = uVar8;" (assignment_expression "*param_1 = uVar8" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "*param_2 = uVar6;" (assignment_expression "*param_2 = uVar6" (pointer_expression "*param_2" * identifier) = identifier) ;) (expression_statement "param_2[1] = uVar4;" (assignment_expression "param_2[1] = uVar4" (subscript_expression "param_2[1]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_00180fe9;" goto statement_identifier ;) })) (if_statement "if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *param_1 = uVar2;\n      param_1[1] = uVar7;\n      goto LAB_00181024;\n    }" if (parenthesized_expression "(uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2))" ( (binary_expression "uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)" (binary_expression "uVar5 < uVar7" identifier < identifier) || (binary_expression "uVar5 - uVar7 < (uint)(uVar3 < uVar2)" (binary_expression "uVar5 - uVar7" identifier - identifier) < (call_expression "(uint)(uVar3 < uVar2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar3 < uVar2)" ( (binary_expression "uVar3 < uVar2" identifier < identifier) ))))) )) (compound_statement "{\n      *param_1 = uVar2;\n      param_1[1] = uVar7;\n      goto LAB_00181024;\n    }" { (expression_statement "*param_1 = uVar2;" (assignment_expression "*param_1 = uVar2" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[1] = uVar7;" (assignment_expression "param_1[1] = uVar7" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_00181024;" goto statement_identifier ;) })) (expression_statement "*param_1 = uVar3;" (assignment_expression "*param_1 = uVar3" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[1] = uVar5;" (assignment_expression "param_1[1] = uVar5" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*param_3 = uVar6;" (assignment_expression "*param_3 = uVar6" (pointer_expression "*param_3" * identifier) = identifier) ;) (expression_statement "param_3[1] = uVar4;" (assignment_expression "param_3[1] = uVar4" (subscript_expression "param_3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar7 = param_1[2];" (assignment_expression "uVar7 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = param_1[3];" (assignment_expression "uVar8 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) }))) (expression_statement "uVar1 = param_3[2];" (assignment_expression "uVar1 = param_3[2]" identifier = (subscript_expression "param_3[2]" identifier [ number_literal ])) ;) (expression_statement "param_1[3] = param_3[3];" (assignment_expression "param_1[3] = param_3[3]" (subscript_expression "param_1[3]" identifier [ number_literal ]) = (subscript_expression "param_3[3]" identifier [ number_literal ])) ;) (expression_statement "param_1[2] = uVar1;" (assignment_expression "param_1[2] = uVar1" (subscript_expression "param_1[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_3[2] = uVar7;" (assignment_expression "param_3[2] = uVar7" (subscript_expression "param_3[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_3[3] = uVar8;" (assignment_expression "param_3[3] = uVar8" (subscript_expression "param_3[3]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT <= IDENT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) <= (binary_expression IDENT - IDENT))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return ;) })))
(function_definition "void FUN_00180f10(uint *param_1,uint *param_2,uint *param_3,uint *param_4)\n\n{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  \n  uVar7 = param_4[1];\n  uVar8 = *param_2;\n  uVar1 = param_2[1];\n  uVar2 = *param_4;\n  uVar3 = *param_3;\n  uVar4 = param_1[1];\n  uVar5 = param_3[1];\n  uVar6 = *param_1;\n  if (uVar1 < uVar5 || uVar1 - uVar5 < (uint)(uVar8 < uVar3)) {\n    if (uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7) {\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }\n      *param_1 = uVar8;\n      param_1[1] = uVar1;\n      param_2[1] = uVar4;\n      *param_2 = uVar6;\nLAB_00180fe9:\n      uVar7 = param_1[2];\n      uVar8 = param_1[3];\n      uVar1 = param_2[3];\n      param_1[2] = param_2[2];\n      param_1[3] = uVar1;\n      param_2[2] = uVar7;\n      param_2[3] = uVar8;\n      return;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    param_3[1] = uVar4;\n    *param_3 = uVar6;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }\n  else {\n    if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      param_1[1] = uVar1;\n      *param_1 = uVar8;\n      *param_2 = uVar6;\n      param_2[1] = uVar4;\n      goto LAB_00180fe9;\n    }\n    if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *param_1 = uVar2;\n      param_1[1] = uVar7;\n      goto LAB_00181024;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    *param_3 = uVar6;\n    param_3[1] = uVar4;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }\n  uVar1 = param_3[2];\n  param_1[3] = param_3[3];\n  param_1[2] = uVar1;\n  param_3[2] = uVar7;\n  param_3[3] = uVar8;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00180f10(uint *param_1,uint *param_2,uint *param_3,uint *param_4)" (identifier "FUN_00180f10") (parameter_list "(uint *param_1,uint *param_2,uint *param_3,uint *param_4)" (( "(") (parameter_declaration "uint *param_1" (type_identifier "uint") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "uint *param_2" (type_identifier "uint") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "uint *param_3" (type_identifier "uint") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "uint *param_4" (type_identifier "uint") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")"))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  \n  uVar7 = param_4[1];\n  uVar8 = *param_2;\n  uVar1 = param_2[1];\n  uVar2 = *param_4;\n  uVar3 = *param_3;\n  uVar4 = param_1[1];\n  uVar5 = param_3[1];\n  uVar6 = *param_1;\n  if (uVar1 < uVar5 || uVar1 - uVar5 < (uint)(uVar8 < uVar3)) {\n    if (uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7) {\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }\n      *param_1 = uVar8;\n      param_1[1] = uVar1;\n      param_2[1] = uVar4;\n      *param_2 = uVar6;\nLAB_00180fe9:\n      uVar7 = param_1[2];\n      uVar8 = param_1[3];\n      uVar1 = param_2[3];\n      param_1[2] = param_2[2];\n      param_1[3] = uVar1;\n      param_2[2] = uVar7;\n      param_2[3] = uVar8;\n      return;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    param_3[1] = uVar4;\n    *param_3 = uVar6;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }\n  else {\n    if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      param_1[1] = uVar1;\n      *param_1 = uVar8;\n      *param_2 = uVar6;\n      param_2[1] = uVar4;\n      goto LAB_00180fe9;\n    }\n    if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *param_1 = uVar2;\n      param_1[1] = uVar7;\n      goto LAB_00181024;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    *param_3 = uVar6;\n    param_3[1] = uVar4;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }\n  uVar1 = param_3[2];\n  param_1[3] = param_3[3];\n  param_1[2] = uVar1;\n  param_3[2] = uVar7;\n  param_3[3] = uVar8;\n  return;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (expression_statement "uVar7 = param_4[1];" (assignment_expression "uVar7 = param_4[1]" (identifier "uVar7") (= "=") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar8 = *param_2;" (assignment_expression "uVar8 = *param_2" (identifier "uVar8") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar1 = param_2[1];" (assignment_expression "uVar1 = param_2[1]" (identifier "uVar1") (= "=") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar2 = *param_4;" (assignment_expression "uVar2 = *param_4" (identifier "uVar2") (= "=") (pointer_expression "*param_4" (* "*") (identifier "param_4"))) (; ";")) (expression_statement "uVar3 = *param_3;" (assignment_expression "uVar3 = *param_3" (identifier "uVar3") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (expression_statement "uVar4 = param_1[1];" (assignment_expression "uVar4 = param_1[1]" (identifier "uVar4") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar5 = param_3[1];" (assignment_expression "uVar5 = param_3[1]" (identifier "uVar5") (= "=") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar6 = *param_1;" (assignment_expression "uVar6 = *param_1" (identifier "uVar6") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (if_statement "if (uVar1 < uVar5 || uVar1 - uVar5 < (uint)(uVar8 < uVar3)) {\n    if (uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7) {\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }\n      *param_1 = uVar8;\n      param_1[1] = uVar1;\n      param_2[1] = uVar4;\n      *param_2 = uVar6;\nLAB_00180fe9:\n      uVar7 = param_1[2];\n      uVar8 = param_1[3];\n      uVar1 = param_2[3];\n      param_1[2] = param_2[2];\n      param_1[3] = uVar1;\n      param_2[2] = uVar7;\n      param_2[3] = uVar8;\n      return;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    param_3[1] = uVar4;\n    *param_3 = uVar6;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }\n  else {\n    if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      param_1[1] = uVar1;\n      *param_1 = uVar8;\n      *param_2 = uVar6;\n      param_2[1] = uVar4;\n      goto LAB_00180fe9;\n    }\n    if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *param_1 = uVar2;\n      param_1[1] = uVar7;\n      goto LAB_00181024;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    *param_3 = uVar6;\n    param_3[1] = uVar4;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }" (if "if") (parenthesized_expression "(uVar1 < uVar5 || uVar1 - uVar5 < (uint)(uVar8 < uVar3))" (( "(") (binary_expression "uVar1 < uVar5 || uVar1 - uVar5 < (uint)(uVar8 < uVar3)" (binary_expression "uVar1 < uVar5" (identifier "uVar1") (< "<") (identifier "uVar5")) (|| "||") (binary_expression "uVar1 - uVar5 < (uint)(uVar8 < uVar3)" (binary_expression "uVar1 - uVar5" (identifier "uVar1") (- "-") (identifier "uVar5")) (< "<") (call_expression "(uint)(uVar8 < uVar3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar8 < uVar3)" (( "(") (binary_expression "uVar8 < uVar3" (identifier "uVar8") (< "<") (identifier "uVar3")) () ")"))))) () ")")) (compound_statement "{\n    if (uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7) {\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }\n      *param_1 = uVar8;\n      param_1[1] = uVar1;\n      param_2[1] = uVar4;\n      *param_2 = uVar6;\nLAB_00180fe9:\n      uVar7 = param_1[2];\n      uVar8 = param_1[3];\n      uVar1 = param_2[3];\n      param_1[2] = param_2[2];\n      param_1[3] = uVar1;\n      param_2[2] = uVar7;\n      param_2[3] = uVar8;\n      return;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    param_3[1] = uVar4;\n    *param_3 = uVar6;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }" ({ "{") (if_statement "if (uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7) {\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }\n      *param_1 = uVar8;\n      param_1[1] = uVar1;\n      param_2[1] = uVar4;\n      *param_2 = uVar6;\nLAB_00180fe9:\n      uVar7 = param_1[2];\n      uVar8 = param_1[3];\n      uVar1 = param_2[3];\n      param_1[2] = param_2[2];\n      param_1[3] = uVar1;\n      param_2[2] = uVar7;\n      param_2[3] = uVar8;\n      return;\n    }" (if "if") (parenthesized_expression "(uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7)" (( "(") (binary_expression "uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7" (binary_expression "uVar7 <= uVar5" (identifier "uVar7") (<= "<=") (identifier "uVar5")) (&& "&&") (binary_expression "(uint)(uVar3 < uVar2) <= uVar5 - uVar7" (call_expression "(uint)(uVar3 < uVar2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar3 < uVar2)" (( "(") (binary_expression "uVar3 < uVar2" (identifier "uVar3") (< "<") (identifier "uVar2")) () ")"))) (<= "<=") (binary_expression "uVar5 - uVar7" (identifier "uVar5") (- "-") (identifier "uVar7")))) () ")")) (compound_statement "{\n      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }\n      *param_1 = uVar8;\n      param_1[1] = uVar1;\n      param_2[1] = uVar4;\n      *param_2 = uVar6;\nLAB_00180fe9:\n      uVar7 = param_1[2];\n      uVar8 = param_1[3];\n      uVar1 = param_2[3];\n      param_1[2] = param_2[2];\n      param_1[3] = uVar1;\n      param_2[2] = uVar7;\n      param_2[3] = uVar8;\n      return;\n    }" ({ "{") (if_statement "if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }" (if "if") (parenthesized_expression "(uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2))" (( "(") (binary_expression "uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)" (binary_expression "uVar1 < uVar7" (identifier "uVar1") (< "<") (identifier "uVar7")) (|| "||") (binary_expression "uVar1 - uVar7 < (uint)(uVar8 < uVar2)" (binary_expression "uVar1 - uVar7" (identifier "uVar1") (- "-") (identifier "uVar7")) (< "<") (call_expression "(uint)(uVar8 < uVar2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar8 < uVar2)" (( "(") (binary_expression "uVar8 < uVar2" (identifier "uVar8") (< "<") (identifier "uVar2")) () ")"))))) () ")")) (compound_statement "{\n        *param_1 = uVar2;\n        param_1[1] = uVar7;\nLAB_00181024:\n        *param_4 = uVar6;\n        param_4[1] = uVar4;\n        uVar7 = param_4[3];\n        uVar8 = param_1[3];\n        uVar1 = param_1[2];\n        param_1[2] = param_4[2];\n        param_1[3] = uVar7;\n        param_4[2] = uVar1;\n        param_4[3] = uVar8;\n        return;\n      }" ({ "{") (expression_statement "*param_1 = uVar2;" (assignment_expression "*param_1 = uVar2" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "param_1[1] = uVar7;" (assignment_expression "param_1[1] = uVar7" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (labeled_statement "LAB_00181024:\n        *param_4 = uVar6;" (statement_identifier "LAB_00181024") (: ":") (expression_statement "*param_4 = uVar6;" (assignment_expression "*param_4 = uVar6" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (identifier "uVar6")) (; ";"))) (expression_statement "param_4[1] = uVar4;" (assignment_expression "param_4[1] = uVar4" (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "uVar7 = param_4[3];" (assignment_expression "uVar7 = param_4[3]" (identifier "uVar7") (= "=") (subscript_expression "param_4[3]" (identifier "param_4") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar8 = param_1[3];" (assignment_expression "uVar8 = param_1[3]" (identifier "uVar8") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar1 = param_1[2];" (assignment_expression "uVar1 = param_1[2]" (identifier "uVar1") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "param_1[2] = param_4[2];" (assignment_expression "param_1[2] = param_4[2]" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (subscript_expression "param_4[2]" (identifier "param_4") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "param_1[3] = uVar7;" (assignment_expression "param_1[3] = uVar7" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "param_4[2] = uVar1;" (assignment_expression "param_4[2] = uVar1" (subscript_expression "param_4[2]" (identifier "param_4") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "param_4[3] = uVar8;" (assignment_expression "param_4[3] = uVar8" (subscript_expression "param_4[3]" (identifier "param_4") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "*param_1 = uVar8;" (assignment_expression "*param_1 = uVar8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "param_1[1] = uVar1;" (assignment_expression "param_1[1] = uVar1" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "param_2[1] = uVar4;" (assignment_expression "param_2[1] = uVar4" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "*param_2 = uVar6;" (assignment_expression "*param_2 = uVar6" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (identifier "uVar6")) (; ";")) (labeled_statement "LAB_00180fe9:\n      uVar7 = param_1[2];" (statement_identifier "LAB_00180fe9") (: ":") (expression_statement "uVar7 = param_1[2];" (assignment_expression "uVar7 = param_1[2]" (identifier "uVar7") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";"))) (expression_statement "uVar8 = param_1[3];" (assignment_expression "uVar8 = param_1[3]" (identifier "uVar8") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar1 = param_2[3];" (assignment_expression "uVar1 = param_2[3]" (identifier "uVar1") (= "=") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "param_1[2] = param_2[2];" (assignment_expression "param_1[2] = param_2[2]" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "param_1[3] = uVar1;" (assignment_expression "param_1[3] = uVar1" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "param_2[2] = uVar7;" (assignment_expression "param_2[2] = uVar7" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "param_2[3] = uVar8;" (assignment_expression "param_2[3] = uVar8" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "*param_1 = uVar3;" (assignment_expression "*param_1 = uVar3" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "param_1[1] = uVar5;" (assignment_expression "param_1[1] = uVar5" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "param_3[1] = uVar4;" (assignment_expression "param_3[1] = uVar4" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "*param_3 = uVar6;" (assignment_expression "*param_3 = uVar6" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "uVar7 = param_1[2];" (assignment_expression "uVar7 = param_1[2]" (identifier "uVar7") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar8 = param_1[3];" (assignment_expression "uVar8 = param_1[3]" (identifier "uVar8") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n    if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      param_1[1] = uVar1;\n      *param_1 = uVar8;\n      *param_2 = uVar6;\n      param_2[1] = uVar4;\n      goto LAB_00180fe9;\n    }\n    if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *param_1 = uVar2;\n      param_1[1] = uVar7;\n      goto LAB_00181024;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    *param_3 = uVar6;\n    param_3[1] = uVar4;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }" (else "else") (compound_statement "{\n    if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      param_1[1] = uVar1;\n      *param_1 = uVar8;\n      *param_2 = uVar6;\n      param_2[1] = uVar4;\n      goto LAB_00180fe9;\n    }\n    if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *param_1 = uVar2;\n      param_1[1] = uVar7;\n      goto LAB_00181024;\n    }\n    *param_1 = uVar3;\n    param_1[1] = uVar5;\n    *param_3 = uVar6;\n    param_3[1] = uVar4;\n    uVar7 = param_1[2];\n    uVar8 = param_1[3];\n  }" ({ "{") (if_statement "if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {\n      param_1[1] = uVar1;\n      *param_1 = uVar8;\n      *param_2 = uVar6;\n      param_2[1] = uVar4;\n      goto LAB_00180fe9;\n    }" (if "if") (parenthesized_expression "(uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2))" (( "(") (binary_expression "uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)" (binary_expression "uVar1 < uVar7" (identifier "uVar1") (< "<") (identifier "uVar7")) (|| "||") (binary_expression "uVar1 - uVar7 < (uint)(uVar8 < uVar2)" (binary_expression "uVar1 - uVar7" (identifier "uVar1") (- "-") (identifier "uVar7")) (< "<") (call_expression "(uint)(uVar8 < uVar2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar8 < uVar2)" (( "(") (binary_expression "uVar8 < uVar2" (identifier "uVar8") (< "<") (identifier "uVar2")) () ")"))))) () ")")) (compound_statement "{\n      param_1[1] = uVar1;\n      *param_1 = uVar8;\n      *param_2 = uVar6;\n      param_2[1] = uVar4;\n      goto LAB_00180fe9;\n    }" ({ "{") (expression_statement "param_1[1] = uVar1;" (assignment_expression "param_1[1] = uVar1" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "*param_1 = uVar8;" (assignment_expression "*param_1 = uVar8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*param_2 = uVar6;" (assignment_expression "*param_2 = uVar6" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "param_2[1] = uVar4;" (assignment_expression "param_2[1] = uVar4" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (goto_statement "goto LAB_00180fe9;" (goto "goto") (statement_identifier "LAB_00180fe9") (; ";")) (} "}"))) (if_statement "if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {\n      *param_1 = uVar2;\n      param_1[1] = uVar7;\n      goto LAB_00181024;\n    }" (if "if") (parenthesized_expression "(uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2))" (( "(") (binary_expression "uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)" (binary_expression "uVar5 < uVar7" (identifier "uVar5") (< "<") (identifier "uVar7")) (|| "||") (binary_expression "uVar5 - uVar7 < (uint)(uVar3 < uVar2)" (binary_expression "uVar5 - uVar7" (identifier "uVar5") (- "-") (identifier "uVar7")) (< "<") (call_expression "(uint)(uVar3 < uVar2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar3 < uVar2)" (( "(") (binary_expression "uVar3 < uVar2" (identifier "uVar3") (< "<") (identifier "uVar2")) () ")"))))) () ")")) (compound_statement "{\n      *param_1 = uVar2;\n      param_1[1] = uVar7;\n      goto LAB_00181024;\n    }" ({ "{") (expression_statement "*param_1 = uVar2;" (assignment_expression "*param_1 = uVar2" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "param_1[1] = uVar7;" (assignment_expression "param_1[1] = uVar7" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (goto_statement "goto LAB_00181024;" (goto "goto") (statement_identifier "LAB_00181024") (; ";")) (} "}"))) (expression_statement "*param_1 = uVar3;" (assignment_expression "*param_1 = uVar3" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "param_1[1] = uVar5;" (assignment_expression "param_1[1] = uVar5" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "*param_3 = uVar6;" (assignment_expression "*param_3 = uVar6" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "param_3[1] = uVar4;" (assignment_expression "param_3[1] = uVar4" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "uVar7 = param_1[2];" (assignment_expression "uVar7 = param_1[2]" (identifier "uVar7") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar8 = param_1[3];" (assignment_expression "uVar8 = param_1[3]" (identifier "uVar8") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (} "}")))) (expression_statement "uVar1 = param_3[2];" (assignment_expression "uVar1 = param_3[2]" (identifier "uVar1") (= "=") (subscript_expression "param_3[2]" (identifier "param_3") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "param_1[3] = param_3[3];" (assignment_expression "param_1[3] = param_3[3]" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (subscript_expression "param_3[3]" (identifier "param_3") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "param_1[2] = uVar1;" (assignment_expression "param_1[2] = uVar1" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "param_3[2] = uVar7;" (assignment_expression "param_3[2] = uVar7" (subscript_expression "param_3[2]" (identifier "param_3") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "param_3[3] = uVar8;" (assignment_expression "param_3[3] = uVar8" (subscript_expression "param_3[3]" (identifier "param_3") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* DWARF original name: __move_median_to_first<__gnu_cxx::__normal_iterator<std::pair<long long
   unsigned int, long long unsigned int>*, std::vector<std::pair<long long unsigned int, long long
   unsigned int>, std::allocator<std::pair<long long unsigned int, long long unsigned int> > > >,
   __gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64> > > */

void std::
     __move_median_to_first<__gnu_cxx::__normal_iterator<std::pair<long_long_unsigned_int,_long_long_unsigned_int>*,_std::vector<std::pair<long_long_unsigned_int,_long_long_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int,_long_long_unsigned_int>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Eh_frame_hdr::Fde_address_compare<64>_>_>
               (type_1 *__result,type_1 *__a,type_1 *__b,type_1 *__c)

{
  type_1 var_1;
  type_1 var_6;
  type_1 var_4;
  type_1 uVar4;
  type_1 var_2;
  type_1 uVar6;
  type_1 var_5;
  type_1 var_3;
  
  var_5 = __c[1];
  var_3 = *__a;
  var_1 = __a[1];
  var_6 = *__c;
  var_4 = *__b;
  uVar4 = __result[1];
  var_2 = __b[1];
  uVar6 = *__result;
  if (var_1 < var_2 || var_1 - var_2 < (type_1)(var_3 < var_4)) {
    if (var_5 <= var_2 && (type_1)(var_4 < var_6) <= var_2 - var_5) {
      if (var_1 < var_5 || var_1 - var_5 < (type_1)(var_3 < var_6)) {
        *__result = var_6;
        __result[1] = var_5;
LAB_00181024:
        *__c = uVar6;
        __c[1] = uVar4;
        var_5 = __c[3];
        var_3 = __result[3];
        var_1 = __result[2];
        __result[2] = __c[2];
        __result[3] = var_5;
        __c[2] = var_1;
        __c[3] = var_3;
        return;
      }
      *__result = var_3;
      __result[1] = var_1;
      __a[1] = uVar4;
      *__a = uVar6;
LAB_00180fe9:
      var_5 = __result[2];
      var_3 = __result[3];
      var_1 = __a[3];
      __result[2] = __a[2];
      __result[3] = var_1;
      __a[2] = var_5;
      __a[3] = var_3;
      return;
    }
    *__result = var_4;
    __result[1] = var_2;
    __b[1] = uVar4;
    *__b = uVar6;
    var_5 = __result[2];
    var_3 = __result[3];
  }
  else {
    if (var_1 < var_5 || var_1 - var_5 < (type_1)(var_3 < var_6)) {
      __result[1] = var_1;
      *__result = var_3;
      *__a = uVar6;
      __a[1] = uVar4;
      goto LAB_00180fe9;
    }
    if (var_2 < var_5 || var_2 - var_5 < (type_1)(var_4 < var_6)) {
      *__result = var_6;
      __result[1] = var_5;
      goto LAB_00181024;
    }
    *__result = var_4;
    __result[1] = var_2;
    *__b = uVar6;
    __b[1] = uVar4;
    var_5 = __result[2];
    var_3 = __result[3];
  }
  var_1 = __b[2];
  __result[3] = __b[3];
  __result[2] = var_1;
  __b[2] = var_5;
  __b[3] = var_3;
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) 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: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (binary_expression left: (identifier) right: (identifier))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (return_statement))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (return_statement))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (return_statement))))

void MASKED(uint *param_1,uint *param_2,uint *param_3,uint *param_4)

{
  uint uVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  uint uVar5;
  uint uVar6;
  uint uVar7;
  uint uVar8;
  
  uVar7 = param_4[1];
  uVar8 = *param_2;
  uVar1 = param_2[1];
  uVar2 = *param_4;
  uVar3 = *param_3;
  uVar4 = param_1[1];
  uVar5 = param_3[1];
  uVar6 = *param_1;
  if (uVar1 < uVar5 || uVar1 - uVar5 < (uint)(uVar8 < uVar3)) {
    if (uVar7 <= uVar5 && (uint)(uVar3 < uVar2) <= uVar5 - uVar7) {
      if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {
        *param_1 = uVar2;
        param_1[1] = uVar7;
LAB_00181024:
        *param_4 = uVar6;
        param_4[1] = uVar4;
        uVar7 = param_4[3];
        uVar8 = param_1[3];
        uVar1 = param_1[2];
        param_1[2] = param_4[2];
        param_1[3] = uVar7;
        param_4[2] = uVar1;
        param_4[3] = uVar8;
        return;
      }
      *param_1 = uVar8;
      param_1[1] = uVar1;
      param_2[1] = uVar4;
      *param_2 = uVar6;
LAB_00180fe9:
      uVar7 = param_1[2];
      uVar8 = param_1[3];
      uVar1 = param_2[3];
      param_1[2] = param_2[2];
      param_1[3] = uVar1;
      param_2[2] = uVar7;
      param_2[3] = uVar8;
      return;
    }
    *param_1 = uVar3;
    param_1[1] = uVar5;
    param_3[1] = uVar4;
    *param_3 = uVar6;
    uVar7 = param_1[2];
    uVar8 = param_1[3];
  }
  else {
    if (uVar1 < uVar7 || uVar1 - uVar7 < (uint)(uVar8 < uVar2)) {
      param_1[1] = uVar1;
      *param_1 = uVar8;
      *param_2 = uVar6;
      param_2[1] = uVar4;
      goto LAB_00180fe9;
    }
    if (uVar5 < uVar7 || uVar5 - uVar7 < (uint)(uVar3 < uVar2)) {
      *param_1 = uVar2;
      param_1[1] = uVar7;
      goto LAB_00181024;
    }
    *param_1 = uVar3;
    param_1[1] = uVar5;
    *param_3 = uVar6;
    param_3[1] = uVar4;
    uVar7 = param_1[2];
    uVar8 = param_1[3];
  }
  uVar1 = param_3[2];
  param_1[3] = param_3[3];
  param_1[2] = uVar1;
  param_3[2] = uVar7;
  param_3[3] = uVar8;
  return;
}

