
/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* DWARF original name: __move_median_to_first<__gnu_cxx::__normal_iterator<gold::Output_reloc<4,
   true, 64, false>*, std::vector<gold::Output_reloc<4, true, 64, false>,
   std::allocator<gold::Output_reloc<4, true, 64, false> > > >,
   __gnu_cxx::__ops::_Iter_comp_iter<gold::Output_data_reloc_base<4, true, 64,
   false>::Sort_relocs_comparison> > */

void std::
     __move_median_to_first<__gnu_cxx::__normal_iterator<gold::Output_reloc<4,_true,_64,_false>*,_std::vector<gold::Output_reloc<4,_true,_64,_false>,_std::allocator<gold::Output_reloc<4,_true,_64,_false>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Output_data_reloc_base<4,_true,_64,_false>::Sort_relocs_comparison>_>
               (anon_union_8_4_c82d8563_for_u1_ *__result,Output_reloc<9,_true,_64,_false> *__a,
               Output_reloc<9,_true,_64,_false> *__b,Output_reloc<9,_true,_64,_false> *__c)

{
  anon_union_8_4_c82d8563_for_u1_ aVar1;
  int iVar2;
  anon_union_8_4_c82d8563_for_u1_ aVar3;
  anon_union_8_4_c82d8563_for_u1_ aVar4;
  anon_union_8_4_c82d8563_for_u1_ aVar5;
  anon_union_8_4_c82d8563_for_u1_ aVar6;
  anon_union_8_4_c82d8563_for_u1_ aVar7;
  anon_union_8_4_c82d8563_for_u1_ aVar8;
  Output_reloc<4,_true,_64,_false> __tmp;
  
  iVar2 = gold::Output_reloc<9,_true,_64,_false>::compare(__a,__b);
  if ((iVar2 < 0) || ((iVar2 == 0 && (__a[1].u1_.relobj < __b[1].u1_.relobj)))) {
    iVar2 = gold::Output_reloc<9,_true,_64,_false>::compare(__b,__c);
    if ((iVar2 < 0) || ((iVar2 == 0 && (__b[1].u1_.relobj < __c[1].u1_.relobj)))) {
      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->u2_;
      aVar7 = *__result;
      aVar8 = __result[1];
      aVar5 = __result[2];
      aVar6 = __result[3];
      aVar3 = __result[4];
      aVar4 = __result[5];
      *__result = __b->u1_;
      __result[1] = aVar1;
      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_;
      __result[2] = (anon_union_8_4_c82d8563_for_u1_)__b->address_;
      __result[3] = aVar1;
      aVar1 = __b[1].u1_;
      __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_;
      __result[5] = aVar1;
      __b->address_ = (Address)aVar5;
      *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_ = aVar6;
      *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_ = aVar3;
      __b[1].u1_ = aVar4;
      __b->u1_ = aVar7;
      __b->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;
      return;
    }
    iVar2 = gold::Output_reloc<9,_true,_64,_false>::compare(__a,__c);
    if ((iVar2 < 0) || ((iVar2 == 0 && (__a[1].u1_.relobj < __c[1].u1_.relobj)))) {
      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->u2_;
      aVar7 = *__result;
      aVar8 = __result[1];
      aVar5 = __result[2];
      aVar6 = __result[3];
      aVar3 = __result[4];
      aVar4 = __result[5];
      *__result = __c->u1_;
      __result[1] = aVar1;
      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_;
      __result[2] = (anon_union_8_4_c82d8563_for_u1_)__c->address_;
      __result[3] = aVar1;
      aVar1 = __c[1].u1_;
      __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_;
      __result[5] = aVar1;
      __c->u1_ = aVar7;
      __c->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;
      __c->address_ = (Address)aVar5;
      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_ = aVar6;
      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_ = aVar3;
      __c[1].u1_ = aVar4;
      return;
    }
    aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->u2_;
    aVar7 = *__result;
    aVar8 = __result[1];
    aVar5 = __result[2];
    aVar6 = __result[3];
    aVar3 = __result[4];
    aVar4 = __result[5];
    *__result = __a->u1_;
    __result[1] = aVar1;
    aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->local_sym_index_;
    __result[2] = (anon_union_8_4_c82d8563_for_u1_)__a->address_;
    __result[3] = aVar1;
  }
  else {
    iVar2 = gold::Output_reloc<9,_true,_64,_false>::compare(__a,__c);
    if ((-1 < iVar2) && ((iVar2 != 0 || (__c[1].u1_.relobj <= __a[1].u1_.relobj)))) {
      iVar2 = gold::Output_reloc<9,_true,_64,_false>::compare(__b,__c);
      if ((-1 < iVar2) && ((iVar2 != 0 || (__c[1].u1_.relobj <= __b[1].u1_.relobj)))) {
        aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->u2_;
        aVar7 = *__result;
        aVar8 = __result[1];
        aVar5 = __result[2];
        aVar6 = __result[3];
        aVar3 = __result[4];
        aVar4 = __result[5];
        *__result = __b->u1_;
        __result[1] = aVar1;
        aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_;
        __result[2] = (anon_union_8_4_c82d8563_for_u1_)__b->address_;
        __result[3] = aVar1;
        aVar1 = __b[1].u1_;
        __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_;
        __result[5] = aVar1;
        __b->address_ = (Address)aVar5;
        *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_ = aVar6;
        *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_ = aVar3;
        __b[1].u1_ = aVar4;
        __b->u1_ = aVar7;
        __b->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;
        return;
      }
      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->u2_;
      aVar7 = *__result;
      aVar8 = __result[1];
      aVar5 = __result[2];
      aVar6 = __result[3];
      aVar3 = __result[4];
      aVar4 = __result[5];
      *__result = __c->u1_;
      __result[1] = aVar1;
      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_;
      __result[2] = (anon_union_8_4_c82d8563_for_u1_)__c->address_;
      __result[3] = aVar1;
      aVar1 = __c[1].u1_;
      __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_;
      __result[5] = aVar1;
      __c->u1_ = aVar7;
      __c->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;
      __c->address_ = (Address)aVar5;
      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_ = aVar6;
      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_ = aVar3;
      __c[1].u1_ = aVar4;
      return;
    }
    aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->u2_;
    aVar7 = *__result;
    aVar8 = __result[1];
    aVar5 = __result[2];
    aVar6 = __result[3];
    aVar3 = __result[4];
    aVar4 = __result[5];
    *__result = __a->u1_;
    __result[1] = aVar1;
    aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->local_sym_index_;
    __result[2] = (anon_union_8_4_c82d8563_for_u1_)__a->address_;
    __result[3] = aVar1;
  }
  aVar1 = __a[1].u1_;
  __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->shndx_;
  __result[5] = aVar1;
  __a->address_ = (Address)aVar5;
  *(anon_union_8_4_c82d8563_for_u1_ *)&__a->local_sym_index_ = aVar6;
  *(anon_union_8_4_c82d8563_for_u1_ *)&__a->shndx_ = aVar3;
  __a[1].u1_ = aVar4;
  __a->u1_ = aVar7;
  __a->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;
  return;
}



void FUN_002175c0(undefined8 *param_1,undefined8 *param_2,undefined8 *param_3,undefined8 *param_4)

{
  undefined8 uVar1;
  int iVar2;
  undefined8 uVar3;
  undefined8 uVar4;
  undefined8 uVar5;
  undefined8 uVar6;
  undefined8 uVar7;
  undefined8 uVar8;
  
  iVar2 = FUN_002111e0(param_2,param_3);
  if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5])))) {
    iVar2 = FUN_002111e0(param_3,param_4);
    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))) {
      uVar1 = param_3[1];
      uVar7 = *param_1;
      uVar8 = param_1[1];
      uVar5 = param_1[2];
      uVar6 = param_1[3];
      uVar3 = param_1[4];
      uVar4 = param_1[5];
      *param_1 = *param_3;
      param_1[1] = uVar1;
      uVar1 = param_3[3];
      param_1[2] = param_3[2];
      param_1[3] = uVar1;
      uVar1 = param_3[5];
      param_1[4] = param_3[4];
      param_1[5] = uVar1;
      param_3[2] = uVar5;
      param_3[3] = uVar6;
      param_3[4] = uVar3;
      param_3[5] = uVar4;
      *param_3 = uVar7;
      param_3[1] = uVar8;
      return;
    }
    iVar2 = FUN_002111e0(param_2,param_4);
    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))) {
      uVar1 = param_4[1];
      uVar7 = *param_1;
      uVar8 = param_1[1];
      uVar5 = param_1[2];
      uVar6 = param_1[3];
      uVar3 = param_1[4];
      uVar4 = param_1[5];
      *param_1 = *param_4;
      param_1[1] = uVar1;
      uVar1 = param_4[3];
      param_1[2] = param_4[2];
      param_1[3] = uVar1;
      uVar1 = param_4[5];
      param_1[4] = param_4[4];
      param_1[5] = uVar1;
      *param_4 = uVar7;
      param_4[1] = uVar8;
      param_4[2] = uVar5;
      param_4[3] = uVar6;
      param_4[4] = uVar3;
      param_4[5] = uVar4;
      return;
    }
    uVar1 = param_2[1];
    uVar7 = *param_1;
    uVar8 = param_1[1];
    uVar5 = param_1[2];
    uVar6 = param_1[3];
    uVar3 = param_1[4];
    uVar4 = param_1[5];
    *param_1 = *param_2;
    param_1[1] = uVar1;
    uVar1 = param_2[3];
    param_1[2] = param_2[2];
    param_1[3] = uVar1;
  }
  else {
    iVar2 = FUN_002111e0(param_2,param_4);
    if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))) {
      iVar2 = FUN_002111e0(param_3,param_4);
      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {
        uVar1 = param_3[1];
        uVar7 = *param_1;
        uVar8 = param_1[1];
        uVar5 = param_1[2];
        uVar6 = param_1[3];
        uVar3 = param_1[4];
        uVar4 = param_1[5];
        *param_1 = *param_3;
        param_1[1] = uVar1;
        uVar1 = param_3[3];
        param_1[2] = param_3[2];
        param_1[3] = uVar1;
        uVar1 = param_3[5];
        param_1[4] = param_3[4];
        param_1[5] = uVar1;
        param_3[2] = uVar5;
        param_3[3] = uVar6;
        param_3[4] = uVar3;
        param_3[5] = uVar4;
        *param_3 = uVar7;
        param_3[1] = uVar8;
        return;
      }
      uVar1 = param_4[1];
      uVar7 = *param_1;
      uVar8 = param_1[1];
      uVar5 = param_1[2];
      uVar6 = param_1[3];
      uVar3 = param_1[4];
      uVar4 = param_1[5];
      *param_1 = *param_4;
      param_1[1] = uVar1;
      uVar1 = param_4[3];
      param_1[2] = param_4[2];
      param_1[3] = uVar1;
      uVar1 = param_4[5];
      param_1[4] = param_4[4];
      param_1[5] = uVar1;
      *param_4 = uVar7;
      param_4[1] = uVar8;
      param_4[2] = uVar5;
      param_4[3] = uVar6;
      param_4[4] = uVar3;
      param_4[5] = uVar4;
      return;
    }
    uVar1 = param_2[1];
    uVar7 = *param_1;
    uVar8 = param_1[1];
    uVar5 = param_1[2];
    uVar6 = param_1[3];
    uVar3 = param_1[4];
    uVar4 = param_1[5];
    *param_1 = *param_2;
    param_1[1] = uVar1;
    uVar1 = param_2[3];
    param_1[2] = param_2[2];
    param_1[3] = uVar1;
  }
  uVar1 = param_2[5];
  param_1[4] = param_2[4];
  param_1[5] = uVar1;
  param_2[2] = uVar5;
  param_2[3] = uVar6;
  param_2[4] = uVar3;
  param_2[5] = uVar4;
  *param_2 = uVar7;
  param_2[1] = uVar8;
  return;
}


PUSH R13
MOV R13,RCX
PUSH R12
MOV R12,RDX
PUSH RBP
MOV RBP,RSI
MOV RSI,RDX
PUSH RBX
MOV RBX,RDI
MOV RDI,RBP
SUB RSP,0x38
CALL 0x002111e0
TEST EAX,EAX
JS 0x0021768f
JZ 0x00217680
MOV RSI,R13
MOV RDI,RBP
CALL 0x002111e0
TEST EAX,EAX
JS 0x002176fe
JZ 0x002176f0
MOV RSI,R13
MOV RDI,R12
CALL 0x002111e0
TEST EAX,EAX
JS 0x002177cf
JZ 0x002177c0
MOVDQU XMM6,xmmword ptr [R12]
MOVDQU XMM2,xmmword ptr [RBX]
MOVDQU XMM1,xmmword ptr [RBX + 0x10]
MOVDQU XMM0,xmmword ptr [RBX + 0x20]
MOVUPS xmmword ptr [RBX],XMM6
MOVDQU XMM7,xmmword ptr [R12 + 0x10]
MOVAPS xmmword ptr [RSP],XMM2
MOVUPS xmmword ptr [RBX + 0x10],XMM7
MOVDQU XMM6,xmmword ptr [R12 + 0x20]
MOVAPS xmmword ptr [RSP + 0x10],XMM1
MOVUPS xmmword ptr [RBX + 0x20],XMM6
MOVAPS xmmword ptr [RSP + 0x20],XMM0
MOVUPS xmmword ptr [R12 + 0x10],XMM1
MOVUPS xmmword ptr [R12 + 0x20],XMM0
MOVUPS xmmword ptr [R12],XMM2
ADD RSP,0x38
POP RBX
POP RBP
POP R12
POP R13
RET
MOV RAX,qword ptr [R12 + 0x28]
CMP qword ptr [RBP + 0x28],RAX
JNC 0x002175ef
MOV RSI,R13
MOV RDI,R12
CALL 0x002111e0
TEST EAX,EAX
JS 0x0021775f
JZ 0x00217750
MOV RSI,R13
MOV RDI,RBP
CALL 0x002111e0
TEST EAX,EAX
JS 0x0021782e
JZ 0x00217820
MOVDQU XMM5,xmmword ptr [RBP]
MOVDQU XMM2,xmmword ptr [RBX]
MOVDQU XMM1,xmmword ptr [RBX + 0x10]
MOVDQU XMM0,xmmword ptr [RBX + 0x20]
MOVUPS xmmword ptr [RBX],XMM5
MOVDQU XMM7,xmmword ptr [RBP + 0x10]
MOVAPS xmmword ptr [RSP],XMM2
MOVAPS xmmword ptr [RSP + 0x10],XMM1
MOVAPS xmmword ptr [RSP + 0x20],XMM0
MOVUPS xmmword ptr [RBX + 0x10],XMM7
JMP 0x0021772b
MOV RAX,qword ptr [R13 + 0x28]
CMP qword ptr [RBP + 0x28],RAX
JNC 0x00217608
MOVDQU XMM3,xmmword ptr [RBP]
MOVDQU XMM2,xmmword ptr [RBX]
MOVDQU XMM1,xmmword ptr [RBX + 0x10]
MOVDQU XMM0,xmmword ptr [RBX + 0x20]
MOVUPS xmmword ptr [RBX],XMM3
MOVDQU XMM4,xmmword ptr [RBP + 0x10]
MOVAPS xmmword ptr [RSP],XMM2
MOVAPS xmmword ptr [RSP + 0x10],XMM1
MOVAPS xmmword ptr [RSP + 0x20],XMM0
MOVUPS xmmword ptr [RBX + 0x10],XMM4
MOVDQU XMM5,xmmword ptr [RBP + 0x20]
MOVUPS xmmword ptr [RBX + 0x20],XMM5
MOVUPS xmmword ptr [RBP + 0x10],XMM1
MOVUPS xmmword ptr [RBP + 0x20],XMM0
MOVUPS xmmword ptr [RBP],XMM2
ADD RSP,0x38
POP RBX
POP RBP
POP R12
POP R13
RET
MOV RAX,qword ptr [R13 + 0x28]
CMP qword ptr [R12 + 0x28],RAX
JNC 0x002176a8
MOVDQU XMM7,xmmword ptr [R12]
MOVDQU XMM2,xmmword ptr [RBX]
MOVDQU XMM1,xmmword ptr [RBX + 0x10]
MOVDQU XMM0,xmmword ptr [RBX + 0x20]
MOVUPS xmmword ptr [RBX],XMM7
MOVDQU XMM3,xmmword ptr [R12 + 0x10]
MOVAPS xmmword ptr [RSP],XMM2
MOVUPS xmmword ptr [RBX + 0x10],XMM3
MOVDQU XMM4,xmmword ptr [R12 + 0x20]
MOVAPS xmmword ptr [RSP + 0x10],XMM1
MOVUPS xmmword ptr [RBX + 0x20],XMM4
MOVAPS xmmword ptr [RSP + 0x20],XMM0
MOVUPS xmmword ptr [R12 + 0x10],XMM1
MOVUPS xmmword ptr [R12 + 0x20],XMM0
MOVUPS xmmword ptr [R12],XMM2
ADD RSP,0x38
POP RBX
POP RBP
POP R12
POP R13
RET
MOV RAX,qword ptr [R13 + 0x28]
CMP qword ptr [R12 + 0x28],RAX
JNC 0x00217621
MOVDQU XMM6,xmmword ptr [R13]
MOVDQU XMM1,xmmword ptr [RBX]
MOVDQU XMM0,xmmword ptr [RBX + 0x10]
MOVDQU XMM2,xmmword ptr [RBX + 0x20]
MOVUPS xmmword ptr [RBX],XMM6
MOVDQU XMM3,xmmword ptr [R13 + 0x10]
MOVAPS xmmword ptr [RSP],XMM1
MOVUPS xmmword ptr [RBX + 0x10],XMM3
MOVDQU XMM4,xmmword ptr [R13 + 0x20]
MOVAPS xmmword ptr [RSP + 0x10],XMM0
MOVUPS xmmword ptr [RBX + 0x20],XMM4
MOVUPS xmmword ptr [R13],XMM1
MOVUPS xmmword ptr [R13 + 0x10],XMM0
MOVUPS xmmword ptr [R13 + 0x20],XMM2
ADD RSP,0x38
POP RBX
POP RBP
POP R12
POP R13
RET
MOV RAX,qword ptr [R13 + 0x28]
CMP qword ptr [RBP + 0x28],RAX
JNC 0x002176c1
MOVDQU XMM7,xmmword ptr [R13]
MOVDQU XMM1,xmmword ptr [RBX]
MOVDQU XMM0,xmmword ptr [RBX + 0x10]
MOVDQU XMM2,xmmword ptr [RBX + 0x20]
MOVUPS xmmword ptr [RBX],XMM7
MOVDQU XMM5,xmmword ptr [R13 + 0x10]
MOVAPS xmmword ptr [RSP],XMM1
MOVUPS xmmword ptr [RBX + 0x10],XMM5
MOVDQU XMM6,xmmword ptr [R13 + 0x20]
MOVAPS xmmword ptr [RSP + 0x10],XMM0
MOVUPS xmmword ptr [RBX + 0x20],XMM6
MOVUPS xmmword ptr [R13],XMM1
MOVUPS xmmword ptr [R13 + 0x10],XMM0
MOVUPS xmmword ptr [R13 + 0x20],XMM2
ADD RSP,0x38
POP RBX
POP RBP
POP R12
POP R13
RET
(translation_unit "void FUN_002175c0(undefined8 *param_1,undefined8 *param_2,undefined8 *param_3,undefined8 *param_4)\n\n{\n  undefined8 uVar1;\n  int iVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  \n  iVar2 = FUN_002111e0(param_2,param_3);\n  if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5])))) {\n    iVar2 = FUN_002111e0(param_3,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))) {\n      uVar1 = param_3[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_3;\n      param_1[1] = uVar1;\n      uVar1 = param_3[3];\n      param_1[2] = param_3[2];\n      param_1[3] = uVar1;\n      uVar1 = param_3[5];\n      param_1[4] = param_3[4];\n      param_1[5] = uVar1;\n      param_3[2] = uVar5;\n      param_3[3] = uVar6;\n      param_3[4] = uVar3;\n      param_3[5] = uVar4;\n      *param_3 = uVar7;\n      param_3[1] = uVar8;\n      return;\n    }\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))) {\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }\n  else {\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))) {\n      iVar2 = FUN_002111e0(param_3,param_4);\n      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }\n  uVar1 = param_2[5];\n  param_1[4] = param_2[4];\n  param_1[5] = uVar1;\n  param_2[2] = uVar5;\n  param_2[3] = uVar6;\n  param_2[4] = uVar3;\n  param_2[5] = uVar4;\n  *param_2 = uVar7;\n  param_2[1] = uVar8;\n  return;\n}\n\n" (function_definition "void FUN_002175c0(undefined8 *param_1,undefined8 *param_2,undefined8 *param_3,undefined8 *param_4)\n\n{\n  undefined8 uVar1;\n  int iVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  \n  iVar2 = FUN_002111e0(param_2,param_3);\n  if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5])))) {\n    iVar2 = FUN_002111e0(param_3,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))) {\n      uVar1 = param_3[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_3;\n      param_1[1] = uVar1;\n      uVar1 = param_3[3];\n      param_1[2] = param_3[2];\n      param_1[3] = uVar1;\n      uVar1 = param_3[5];\n      param_1[4] = param_3[4];\n      param_1[5] = uVar1;\n      param_3[2] = uVar5;\n      param_3[3] = uVar6;\n      param_3[4] = uVar3;\n      param_3[5] = uVar4;\n      *param_3 = uVar7;\n      param_3[1] = uVar8;\n      return;\n    }\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))) {\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }\n  else {\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))) {\n      iVar2 = FUN_002111e0(param_3,param_4);\n      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }\n  uVar1 = param_2[5];\n  param_1[4] = param_2[4];\n  param_1[5] = uVar1;\n  param_2[2] = uVar5;\n  param_2[3] = uVar6;\n  param_2[4] = uVar3;\n  param_2[5] = uVar4;\n  *param_2 = uVar7;\n  param_2[1] = uVar8;\n  return;\n}" primitive_type (function_declarator "FUN_002175c0(undefined8 *param_1,undefined8 *param_2,undefined8 *param_3,undefined8 *param_4)" identifier (parameter_list "(undefined8 *param_1,undefined8 *param_2,undefined8 *param_3,undefined8 *param_4)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined8 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined8 *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined8 *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  undefined8 uVar1;\n  int iVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  \n  iVar2 = FUN_002111e0(param_2,param_3);\n  if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5])))) {\n    iVar2 = FUN_002111e0(param_3,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))) {\n      uVar1 = param_3[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_3;\n      param_1[1] = uVar1;\n      uVar1 = param_3[3];\n      param_1[2] = param_3[2];\n      param_1[3] = uVar1;\n      uVar1 = param_3[5];\n      param_1[4] = param_3[4];\n      param_1[5] = uVar1;\n      param_3[2] = uVar5;\n      param_3[3] = uVar6;\n      param_3[4] = uVar3;\n      param_3[5] = uVar4;\n      *param_3 = uVar7;\n      param_3[1] = uVar8;\n      return;\n    }\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))) {\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }\n  else {\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))) {\n      iVar2 = FUN_002111e0(param_3,param_4);\n      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }\n  uVar1 = param_2[5];\n  param_1[4] = param_2[4];\n  param_1[5] = uVar1;\n  param_2[2] = uVar5;\n  param_2[3] = uVar6;\n  param_2[4] = uVar3;\n  param_2[5] = uVar4;\n  *param_2 = uVar7;\n  param_2[1] = uVar8;\n  return;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (expression_statement "iVar2 = FUN_002111e0(param_2,param_3);" (assignment_expression "iVar2 = FUN_002111e0(param_2,param_3)" identifier = (call_expression "FUN_002111e0(param_2,param_3)" identifier (argument_list "(param_2,param_3)" ( identifier , identifier )))) ;) (if_statement "if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5])))) {\n    iVar2 = FUN_002111e0(param_3,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))) {\n      uVar1 = param_3[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_3;\n      param_1[1] = uVar1;\n      uVar1 = param_3[3];\n      param_1[2] = param_3[2];\n      param_1[3] = uVar1;\n      uVar1 = param_3[5];\n      param_1[4] = param_3[4];\n      param_1[5] = uVar1;\n      param_3[2] = uVar5;\n      param_3[3] = uVar6;\n      param_3[4] = uVar3;\n      param_3[5] = uVar4;\n      *param_3 = uVar7;\n      param_3[1] = uVar8;\n      return;\n    }\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))) {\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }\n  else {\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))) {\n      iVar2 = FUN_002111e0(param_3,param_4);\n      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }" if (parenthesized_expression "((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5]))))" ( (binary_expression "(iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5])))" (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) || (parenthesized_expression "((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5])))" ( (parenthesized_expression "(iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5]))" ( (binary_expression "iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5])" (binary_expression "iVar2 == 0" identifier == number_literal) && (parenthesized_expression "((ulong)param_2[5] < (ulong)param_3[5])" ( (binary_expression "(ulong)param_2[5] < (ulong)param_3[5]" (cast_expression "(ulong)param_2[5]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "param_2[5]" identifier [ number_literal ])) < (cast_expression "(ulong)param_3[5]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "param_3[5]" identifier [ number_literal ]))) ))) )) ))) )) (compound_statement "{\n    iVar2 = FUN_002111e0(param_3,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))) {\n      uVar1 = param_3[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_3;\n      param_1[1] = uVar1;\n      uVar1 = param_3[3];\n      param_1[2] = param_3[2];\n      param_1[3] = uVar1;\n      uVar1 = param_3[5];\n      param_1[4] = param_3[4];\n      param_1[5] = uVar1;\n      param_3[2] = uVar5;\n      param_3[3] = uVar6;\n      param_3[4] = uVar3;\n      param_3[5] = uVar4;\n      *param_3 = uVar7;\n      param_3[1] = uVar8;\n      return;\n    }\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))) {\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }" { (expression_statement "iVar2 = FUN_002111e0(param_3,param_4);" (assignment_expression "iVar2 = FUN_002111e0(param_3,param_4)" identifier = (call_expression "FUN_002111e0(param_3,param_4)" identifier (argument_list "(param_3,param_4)" ( identifier , identifier )))) ;) (if_statement "if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))) {\n      uVar1 = param_3[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_3;\n      param_1[1] = uVar1;\n      uVar1 = param_3[3];\n      param_1[2] = param_3[2];\n      param_1[3] = uVar1;\n      uVar1 = param_3[5];\n      param_1[4] = param_3[4];\n      param_1[5] = uVar1;\n      param_3[2] = uVar5;\n      param_3[3] = uVar6;\n      param_3[4] = uVar3;\n      param_3[5] = uVar4;\n      *param_3 = uVar7;\n      param_3[1] = uVar8;\n      return;\n    }" if (parenthesized_expression "((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5]))))" ( (binary_expression "(iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))" (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) || (parenthesized_expression "((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))" ( (parenthesized_expression "(iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5]))" ( (binary_expression "iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])" (binary_expression "iVar2 == 0" identifier == number_literal) && (parenthesized_expression "((ulong)param_3[5] < (ulong)param_4[5])" ( (binary_expression "(ulong)param_3[5] < (ulong)param_4[5]" (cast_expression "(ulong)param_3[5]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "param_3[5]" identifier [ number_literal ])) < (cast_expression "(ulong)param_4[5]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "param_4[5]" identifier [ number_literal ]))) ))) )) ))) )) (compound_statement "{\n      uVar1 = param_3[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_3;\n      param_1[1] = uVar1;\n      uVar1 = param_3[3];\n      param_1[2] = param_3[2];\n      param_1[3] = uVar1;\n      uVar1 = param_3[5];\n      param_1[4] = param_3[4];\n      param_1[5] = uVar1;\n      param_3[2] = uVar5;\n      param_3[3] = uVar6;\n      param_3[4] = uVar3;\n      param_3[5] = uVar4;\n      *param_3 = uVar7;\n      param_3[1] = uVar8;\n      return;\n    }" { (expression_statement "uVar1 = param_3[1];" (assignment_expression "uVar1 = param_3[1]" identifier = (subscript_expression "param_3[1]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar8 = param_1[1];" (assignment_expression "uVar8 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = param_1[2];" (assignment_expression "uVar5 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = param_1[3];" (assignment_expression "uVar6 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = param_1[4];" (assignment_expression "uVar3 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = param_1[5];" (assignment_expression "uVar4 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "*param_1 = *param_3;" (assignment_expression "*param_1 = *param_3" (pointer_expression "*param_1" * identifier) = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "param_1[1] = uVar1;" (assignment_expression "param_1[1] = uVar1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar1 = param_3[3];" (assignment_expression "uVar1 = param_3[3]" identifier = (subscript_expression "param_3[3]" identifier [ number_literal ])) ;) (expression_statement "param_1[2] = param_3[2];" (assignment_expression "param_1[2] = param_3[2]" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (subscript_expression "param_3[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 "uVar1 = param_3[5];" (assignment_expression "uVar1 = param_3[5]" identifier = (subscript_expression "param_3[5]" identifier [ number_literal ])) ;) (expression_statement "param_1[4] = param_3[4];" (assignment_expression "param_1[4] = param_3[4]" (subscript_expression "param_1[4]" identifier [ number_literal ]) = (subscript_expression "param_3[4]" identifier [ number_literal ])) ;) (expression_statement "param_1[5] = uVar1;" (assignment_expression "param_1[5] = uVar1" (subscript_expression "param_1[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_3[2] = uVar5;" (assignment_expression "param_3[2] = uVar5" (subscript_expression "param_3[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_3[3] = uVar6;" (assignment_expression "param_3[3] = uVar6" (subscript_expression "param_3[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_3[4] = uVar3;" (assignment_expression "param_3[4] = uVar3" (subscript_expression "param_3[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_3[5] = uVar4;" (assignment_expression "param_3[5] = uVar4" (subscript_expression "param_3[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*param_3 = uVar7;" (assignment_expression "*param_3 = uVar7" (pointer_expression "*param_3" * identifier) = identifier) ;) (expression_statement "param_3[1] = uVar8;" (assignment_expression "param_3[1] = uVar8" (subscript_expression "param_3[1]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "iVar2 = FUN_002111e0(param_2,param_4);" (assignment_expression "iVar2 = FUN_002111e0(param_2,param_4)" identifier = (call_expression "FUN_002111e0(param_2,param_4)" identifier (argument_list "(param_2,param_4)" ( identifier , identifier )))) ;) (if_statement "if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))) {\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }" if (parenthesized_expression "((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5]))))" ( (binary_expression "(iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))" (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) || (parenthesized_expression "((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))" ( (parenthesized_expression "(iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5]))" ( (binary_expression "iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])" (binary_expression "iVar2 == 0" identifier == number_literal) && (parenthesized_expression "((ulong)param_2[5] < (ulong)param_4[5])" ( (binary_expression "(ulong)param_2[5] < (ulong)param_4[5]" (cast_expression "(ulong)param_2[5]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "param_2[5]" identifier [ number_literal ])) < (cast_expression "(ulong)param_4[5]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "param_4[5]" identifier [ number_literal ]))) ))) )) ))) )) (compound_statement "{\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }" { (expression_statement "uVar1 = param_4[1];" (assignment_expression "uVar1 = param_4[1]" identifier = (subscript_expression "param_4[1]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar8 = param_1[1];" (assignment_expression "uVar8 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = param_1[2];" (assignment_expression "uVar5 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = param_1[3];" (assignment_expression "uVar6 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = param_1[4];" (assignment_expression "uVar3 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = param_1[5];" (assignment_expression "uVar4 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "*param_1 = *param_4;" (assignment_expression "*param_1 = *param_4" (pointer_expression "*param_1" * identifier) = (pointer_expression "*param_4" * identifier)) ;) (expression_statement "param_1[1] = uVar1;" (assignment_expression "param_1[1] = uVar1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar1 = param_4[3];" (assignment_expression "uVar1 = param_4[3]" identifier = (subscript_expression "param_4[3]" 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] = uVar1;" (assignment_expression "param_1[3] = uVar1" (subscript_expression "param_1[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar1 = param_4[5];" (assignment_expression "uVar1 = param_4[5]" identifier = (subscript_expression "param_4[5]" identifier [ number_literal ])) ;) (expression_statement "param_1[4] = param_4[4];" (assignment_expression "param_1[4] = param_4[4]" (subscript_expression "param_1[4]" identifier [ number_literal ]) = (subscript_expression "param_4[4]" identifier [ number_literal ])) ;) (expression_statement "param_1[5] = uVar1;" (assignment_expression "param_1[5] = uVar1" (subscript_expression "param_1[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*param_4 = uVar7;" (assignment_expression "*param_4 = uVar7" (pointer_expression "*param_4" * identifier) = identifier) ;) (expression_statement "param_4[1] = uVar8;" (assignment_expression "param_4[1] = uVar8" (subscript_expression "param_4[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[2] = uVar5;" (assignment_expression "param_4[2] = uVar5" (subscript_expression "param_4[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[3] = uVar6;" (assignment_expression "param_4[3] = uVar6" (subscript_expression "param_4[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[4] = uVar3;" (assignment_expression "param_4[4] = uVar3" (subscript_expression "param_4[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[5] = uVar4;" (assignment_expression "param_4[5] = uVar4" (subscript_expression "param_4[5]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "uVar1 = param_2[1];" (assignment_expression "uVar1 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar8 = param_1[1];" (assignment_expression "uVar8 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = param_1[2];" (assignment_expression "uVar5 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = param_1[3];" (assignment_expression "uVar6 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = param_1[4];" (assignment_expression "uVar3 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = param_1[5];" (assignment_expression "uVar4 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "*param_1 = *param_2;" (assignment_expression "*param_1 = *param_2" (pointer_expression "*param_1" * identifier) = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "param_1[1] = uVar1;" (assignment_expression "param_1[1] = uVar1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (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) ;) }) (else_clause "else {\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))) {\n      iVar2 = FUN_002111e0(param_3,param_4);\n      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }" else (compound_statement "{\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))) {\n      iVar2 = FUN_002111e0(param_3,param_4);\n      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }" { (expression_statement "iVar2 = FUN_002111e0(param_2,param_4);" (assignment_expression "iVar2 = FUN_002111e0(param_2,param_4)" identifier = (call_expression "FUN_002111e0(param_2,param_4)" identifier (argument_list "(param_2,param_4)" ( identifier , identifier )))) ;) (if_statement "if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))) {\n      iVar2 = FUN_002111e0(param_3,param_4);\n      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }" if (parenthesized_expression "((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5]))))" ( (binary_expression "(-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))" (parenthesized_expression "(-1 < iVar2)" ( (binary_expression "-1 < iVar2" number_literal < identifier) )) && (parenthesized_expression "((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))" ( (parenthesized_expression "(iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5]))" ( (binary_expression "iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])" (binary_expression "iVar2 != 0" identifier != number_literal) || (parenthesized_expression "((ulong)param_4[5] <= (ulong)param_2[5])" ( (binary_expression "(ulong)param_4[5] <= (ulong)param_2[5]" (cast_expression "(ulong)param_4[5]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "param_4[5]" identifier [ number_literal ])) <= (cast_expression "(ulong)param_2[5]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) ))) )) ))) )) (compound_statement "{\n      iVar2 = FUN_002111e0(param_3,param_4);\n      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }" { (expression_statement "iVar2 = FUN_002111e0(param_3,param_4);" (assignment_expression "iVar2 = FUN_002111e0(param_3,param_4)" identifier = (call_expression "FUN_002111e0(param_3,param_4)" identifier (argument_list "(param_3,param_4)" ( identifier , identifier )))) ;) (if_statement "if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }" if (parenthesized_expression "((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5]))))" ( (binary_expression "(-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))" (parenthesized_expression "(-1 < iVar2)" ( (binary_expression "-1 < iVar2" number_literal < identifier) )) && (parenthesized_expression "((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))" ( (parenthesized_expression "(iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5]))" ( (binary_expression "iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])" (binary_expression "iVar2 != 0" identifier != number_literal) || (parenthesized_expression "((ulong)param_4[5] <= (ulong)param_3[5])" ( (binary_expression "(ulong)param_4[5] <= (ulong)param_3[5]" (cast_expression "(ulong)param_4[5]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "param_4[5]" identifier [ number_literal ])) <= (cast_expression "(ulong)param_3[5]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "param_3[5]" identifier [ number_literal ]))) ))) )) ))) )) (compound_statement "{\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }" { (expression_statement "uVar1 = param_3[1];" (assignment_expression "uVar1 = param_3[1]" identifier = (subscript_expression "param_3[1]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar8 = param_1[1];" (assignment_expression "uVar8 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = param_1[2];" (assignment_expression "uVar5 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = param_1[3];" (assignment_expression "uVar6 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = param_1[4];" (assignment_expression "uVar3 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = param_1[5];" (assignment_expression "uVar4 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "*param_1 = *param_3;" (assignment_expression "*param_1 = *param_3" (pointer_expression "*param_1" * identifier) = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "param_1[1] = uVar1;" (assignment_expression "param_1[1] = uVar1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar1 = param_3[3];" (assignment_expression "uVar1 = param_3[3]" identifier = (subscript_expression "param_3[3]" identifier [ number_literal ])) ;) (expression_statement "param_1[2] = param_3[2];" (assignment_expression "param_1[2] = param_3[2]" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (subscript_expression "param_3[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 "uVar1 = param_3[5];" (assignment_expression "uVar1 = param_3[5]" identifier = (subscript_expression "param_3[5]" identifier [ number_literal ])) ;) (expression_statement "param_1[4] = param_3[4];" (assignment_expression "param_1[4] = param_3[4]" (subscript_expression "param_1[4]" identifier [ number_literal ]) = (subscript_expression "param_3[4]" identifier [ number_literal ])) ;) (expression_statement "param_1[5] = uVar1;" (assignment_expression "param_1[5] = uVar1" (subscript_expression "param_1[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_3[2] = uVar5;" (assignment_expression "param_3[2] = uVar5" (subscript_expression "param_3[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_3[3] = uVar6;" (assignment_expression "param_3[3] = uVar6" (subscript_expression "param_3[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_3[4] = uVar3;" (assignment_expression "param_3[4] = uVar3" (subscript_expression "param_3[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_3[5] = uVar4;" (assignment_expression "param_3[5] = uVar4" (subscript_expression "param_3[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*param_3 = uVar7;" (assignment_expression "*param_3 = uVar7" (pointer_expression "*param_3" * identifier) = identifier) ;) (expression_statement "param_3[1] = uVar8;" (assignment_expression "param_3[1] = uVar8" (subscript_expression "param_3[1]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "uVar1 = param_4[1];" (assignment_expression "uVar1 = param_4[1]" identifier = (subscript_expression "param_4[1]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar8 = param_1[1];" (assignment_expression "uVar8 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = param_1[2];" (assignment_expression "uVar5 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = param_1[3];" (assignment_expression "uVar6 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = param_1[4];" (assignment_expression "uVar3 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = param_1[5];" (assignment_expression "uVar4 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "*param_1 = *param_4;" (assignment_expression "*param_1 = *param_4" (pointer_expression "*param_1" * identifier) = (pointer_expression "*param_4" * identifier)) ;) (expression_statement "param_1[1] = uVar1;" (assignment_expression "param_1[1] = uVar1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar1 = param_4[3];" (assignment_expression "uVar1 = param_4[3]" identifier = (subscript_expression "param_4[3]" 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] = uVar1;" (assignment_expression "param_1[3] = uVar1" (subscript_expression "param_1[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar1 = param_4[5];" (assignment_expression "uVar1 = param_4[5]" identifier = (subscript_expression "param_4[5]" identifier [ number_literal ])) ;) (expression_statement "param_1[4] = param_4[4];" (assignment_expression "param_1[4] = param_4[4]" (subscript_expression "param_1[4]" identifier [ number_literal ]) = (subscript_expression "param_4[4]" identifier [ number_literal ])) ;) (expression_statement "param_1[5] = uVar1;" (assignment_expression "param_1[5] = uVar1" (subscript_expression "param_1[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*param_4 = uVar7;" (assignment_expression "*param_4 = uVar7" (pointer_expression "*param_4" * identifier) = identifier) ;) (expression_statement "param_4[1] = uVar8;" (assignment_expression "param_4[1] = uVar8" (subscript_expression "param_4[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[2] = uVar5;" (assignment_expression "param_4[2] = uVar5" (subscript_expression "param_4[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[3] = uVar6;" (assignment_expression "param_4[3] = uVar6" (subscript_expression "param_4[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[4] = uVar3;" (assignment_expression "param_4[4] = uVar3" (subscript_expression "param_4[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[5] = uVar4;" (assignment_expression "param_4[5] = uVar4" (subscript_expression "param_4[5]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "uVar1 = param_2[1];" (assignment_expression "uVar1 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar8 = param_1[1];" (assignment_expression "uVar8 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = param_1[2];" (assignment_expression "uVar5 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = param_1[3];" (assignment_expression "uVar6 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = param_1[4];" (assignment_expression "uVar3 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = param_1[5];" (assignment_expression "uVar4 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "*param_1 = *param_2;" (assignment_expression "*param_1 = *param_2" (pointer_expression "*param_1" * identifier) = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "param_1[1] = uVar1;" (assignment_expression "param_1[1] = uVar1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (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 "uVar1 = param_2[5];" (assignment_expression "uVar1 = param_2[5]" identifier = (subscript_expression "param_2[5]" identifier [ number_literal ])) ;) (expression_statement "param_1[4] = param_2[4];" (assignment_expression "param_1[4] = param_2[4]" (subscript_expression "param_1[4]" identifier [ number_literal ]) = (subscript_expression "param_2[4]" identifier [ number_literal ])) ;) (expression_statement "param_1[5] = uVar1;" (assignment_expression "param_1[5] = uVar1" (subscript_expression "param_1[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[2] = uVar5;" (assignment_expression "param_2[2] = uVar5" (subscript_expression "param_2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[3] = uVar6;" (assignment_expression "param_2[3] = uVar6" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[4] = uVar3;" (assignment_expression "param_2[4] = uVar3" (subscript_expression "param_2[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[5] = uVar4;" (assignment_expression "param_2[5] = uVar4" (subscript_expression "param_2[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*param_2 = uVar7;" (assignment_expression "*param_2 = uVar7" (pointer_expression "*param_2" * identifier) = identifier) ;) (expression_statement "param_2[1] = uVar8;" (assignment_expression "param_2[1] = uVar8" (subscript_expression "param_2[1]" 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<gold::Output_reloc<4,\n   true, 64, false>*, std::vector<gold::Output_reloc<4, true, 64, false>,\n   std::allocator<gold::Output_reloc<4, true, 64, false> > > >,\n   __gnu_cxx::__ops::_Iter_comp_iter<gold::Output_data_reloc_base<4, true, 64,\n   false>::Sort_relocs_comparison> > */\n\nvoid std::\n     __move_median_to_first<__gnu_cxx::__normal_iterator<gold::Output_reloc<4,_true,_64,_false>*,_std::vector<gold::Output_reloc<4,_true,_64,_false>,_std::allocator<gold::Output_reloc<4,_true,_64,_false>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Output_data_reloc_base<4,_true,_64,_false>::Sort_relocs_comparison>_>\n               (anon_union_8_4_c82d8563_for_u1_ *__result,Output_reloc<9,_true,_64,_false> *__a,\n               Output_reloc<9,_true,_64,_false> *__b,Output_reloc<9,_true,_64,_false> *__c)\n\n{\n  anon_union_8_4_c82d8563_for_u1_ aVar1;\n  int iVar2;\n  anon_union_8_4_c82d8563_for_u1_ aVar3;\n  anon_union_8_4_c82d8563_for_u1_ aVar4;\n  anon_union_8_4_c82d8563_for_u1_ aVar5;\n  anon_union_8_4_c82d8563_for_u1_ aVar6;\n  anon_union_8_4_c82d8563_for_u1_ aVar7;\n  anon_union_8_4_c82d8563_for_u1_ aVar8;\n  Output_reloc<4,_true,_64,_false> __tmp;\n  \n  iVar2 = gold::Output_reloc<9,_true,_64,_false>::compare(__a,__b);\n  if ((iVar2 < 0) || ((iVar2 == 0 && (__a[1].u1_.relobj < __b[1].u1_.relobj)))) {\n    iVar2 = gold::Output_reloc<9,_true,_64,_false>::compare(__b,__c);\n    if ((iVar2 < 0) || ((iVar2 == 0 && (__b[1].u1_.relobj < __c[1].u1_.relobj)))) {\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->u2_;\n      aVar7 = *__result;\n      aVar8 = __result[1];\n      aVar5 = __result[2];\n      aVar6 = __result[3];\n      aVar3 = __result[4];\n      aVar4 = __result[5];\n      *__result = __b->u1_;\n      __result[1] = aVar1;\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_;\n      __result[2] = (anon_union_8_4_c82d8563_for_u1_)__b->address_;\n      __result[3] = aVar1;\n      aVar1 = __b[1].u1_;\n      __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_;\n      __result[5] = aVar1;\n      __b->address_ = (Address)aVar5;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_ = aVar6;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_ = aVar3;\n      __b[1].u1_ = aVar4;\n      __b->u1_ = aVar7;\n      __b->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n      return;\n    }\n    iVar2 = gold::Output_reloc<9,_true,_64,_false>::compare(__a,__c);\n    if ((iVar2 < 0) || ((iVar2 == 0 && (__a[1].u1_.relobj < __c[1].u1_.relobj)))) {\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->u2_;\n      aVar7 = *__result;\n      aVar8 = __result[1];\n      aVar5 = __result[2];\n      aVar6 = __result[3];\n      aVar3 = __result[4];\n      aVar4 = __result[5];\n      *__result = __c->u1_;\n      __result[1] = aVar1;\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_;\n      __result[2] = (anon_union_8_4_c82d8563_for_u1_)__c->address_;\n      __result[3] = aVar1;\n      aVar1 = __c[1].u1_;\n      __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_;\n      __result[5] = aVar1;\n      __c->u1_ = aVar7;\n      __c->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n      __c->address_ = (Address)aVar5;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_ = aVar6;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_ = aVar3;\n      __c[1].u1_ = aVar4;\n      return;\n    }\n    aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->u2_;\n    aVar7 = *__result;\n    aVar8 = __result[1];\n    aVar5 = __result[2];\n    aVar6 = __result[3];\n    aVar3 = __result[4];\n    aVar4 = __result[5];\n    *__result = __a->u1_;\n    __result[1] = aVar1;\n    aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->local_sym_index_;\n    __result[2] = (anon_union_8_4_c82d8563_for_u1_)__a->address_;\n    __result[3] = aVar1;\n  }\n  else {\n    iVar2 = gold::Output_reloc<9,_true,_64,_false>::compare(__a,__c);\n    if ((-1 < iVar2) && ((iVar2 != 0 || (__c[1].u1_.relobj <= __a[1].u1_.relobj)))) {\n      iVar2 = gold::Output_reloc<9,_true,_64,_false>::compare(__b,__c);\n      if ((-1 < iVar2) && ((iVar2 != 0 || (__c[1].u1_.relobj <= __b[1].u1_.relobj)))) {\n        aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->u2_;\n        aVar7 = *__result;\n        aVar8 = __result[1];\n        aVar5 = __result[2];\n        aVar6 = __result[3];\n        aVar3 = __result[4];\n        aVar4 = __result[5];\n        *__result = __b->u1_;\n        __result[1] = aVar1;\n        aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_;\n        __result[2] = (anon_union_8_4_c82d8563_for_u1_)__b->address_;\n        __result[3] = aVar1;\n        aVar1 = __b[1].u1_;\n        __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_;\n        __result[5] = aVar1;\n        __b->address_ = (Address)aVar5;\n        *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_ = aVar6;\n        *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_ = aVar3;\n        __b[1].u1_ = aVar4;\n        __b->u1_ = aVar7;\n        __b->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n        return;\n      }\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->u2_;\n      aVar7 = *__result;\n      aVar8 = __result[1];\n      aVar5 = __result[2];\n      aVar6 = __result[3];\n      aVar3 = __result[4];\n      aVar4 = __result[5];\n      *__result = __c->u1_;\n      __result[1] = aVar1;\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_;\n      __result[2] = (anon_union_8_4_c82d8563_for_u1_)__c->address_;\n      __result[3] = aVar1;\n      aVar1 = __c[1].u1_;\n      __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_;\n      __result[5] = aVar1;\n      __c->u1_ = aVar7;\n      __c->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n      __c->address_ = (Address)aVar5;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_ = aVar6;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_ = aVar3;\n      __c[1].u1_ = aVar4;\n      return;\n    }\n    aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->u2_;\n    aVar7 = *__result;\n    aVar8 = __result[1];\n    aVar5 = __result[2];\n    aVar6 = __result[3];\n    aVar3 = __result[4];\n    aVar4 = __result[5];\n    *__result = __a->u1_;\n    __result[1] = aVar1;\n    aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->local_sym_index_;\n    __result[2] = (anon_union_8_4_c82d8563_for_u1_)__a->address_;\n    __result[3] = aVar1;\n  }\n  aVar1 = __a[1].u1_;\n  __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->shndx_;\n  __result[5] = aVar1;\n  __a->address_ = (Address)aVar5;\n  *(anon_union_8_4_c82d8563_for_u1_ *)&__a->local_sym_index_ = aVar6;\n  *(anon_union_8_4_c82d8563_for_u1_ *)&__a->shndx_ = aVar3;\n  __a[1].u1_ = aVar4;\n  __a->u1_ = aVar7;\n  __a->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n  return;\n}\n\n" comment comment (declaration "void std::\n     __move_median_to_first<__gnu_cxx::__normal_iterator<gold::Output_reloc<4,_true,_64,_false>*,_std::vector<gold::Output_reloc<4,_true,_64,_false>,_std::allocator<gold::Output_reloc<4,_true,_64,_false>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Output_data_reloc_base<4,_true,_64,_false>::Sort_relocs_comparison>_>\n               (anon_union_8_4_c82d8563_for_u1_ *__result,Output_reloc<9,_true,_64,_false> *__a,\n               Output_reloc<9,_true,_64,_false> *__b,Output_reloc<9,_true,_64,_false> *__c)\n\n{\n  anon_union_8_4_c82d8563_for_u1_ aVar1;" primitive_type (ERROR "std::\n     __move_median_to_first<__gnu_cxx::__normal_iterator<gold::" identifier : : identifier < identifier : : identifier < identifier : :) identifier (ERROR "<4" < number_literal) , identifier , identifier , identifier (ERROR ">*" > *) , (ERROR "_std::vector<gold::" identifier : : identifier < identifier : :) identifier (ERROR "<4" < number_literal) , identifier , identifier , identifier (ERROR ">" >) , (ERROR "_std::allocator<gold::" identifier : : identifier < identifier : :) identifier (ERROR "<4" < number_literal) , identifier , identifier , identifier (ERROR ">_>_>_>" > identifier > identifier > identifier >) , (ERROR "___gnu_cxx::__ops::_Iter_comp_iter<gold::" identifier : : identifier : : identifier < identifier : :) identifier (ERROR "<4" < number_literal) , identifier , identifier , (ERROR "_false>::Sort_relocs_comparison>_>\n               (anon_union_8_4_c82d8563_for_u1_ *__result,Output_reloc<9,_true,_64,_false> *__a,\n               Output_reloc<9,_true,_64,_false> *__b,Output_reloc<9,_true,_64,_false> *__c)\n\n{\n  anon_union_8_4_c82d8563_for_u1_" identifier > : : identifier > (function_declarator "_>\n               (anon_union_8_4_c82d8563_for_u1_ *__result,Output_reloc<9,_true,_64,_false> *__a,\n               Output_reloc<9,_true,_64,_false> *__b,Output_reloc<9,_true,_64,_false> *__c)" identifier (ERROR ">" >) (parameter_list "(anon_union_8_4_c82d8563_for_u1_ *__result,Output_reloc<9,_true,_64,_false> *__a,\n               Output_reloc<9,_true,_64,_false> *__b,Output_reloc<9,_true,_64,_false> *__c)" ( (parameter_declaration "anon_union_8_4_c82d8563_for_u1_ *__result" type_identifier (pointer_declarator "*__result" * identifier)) , (parameter_declaration "Output_reloc" type_identifier) (ERROR "<9" < number_literal) , (parameter_declaration "_true" type_identifier) , (parameter_declaration "_64" type_identifier) , (parameter_declaration "_false> *__a" type_identifier (ERROR ">" >) (pointer_declarator "*__a" * identifier)) , (parameter_declaration "Output_reloc" type_identifier) (ERROR "<9" < number_literal) , (parameter_declaration "_true" type_identifier) , (parameter_declaration "_64" type_identifier) , (parameter_declaration "_false> *__b" type_identifier (ERROR ">" >) (pointer_declarator "*__b" * identifier)) , (parameter_declaration "Output_reloc" type_identifier) (ERROR "<9" < number_literal) , (parameter_declaration "_true" type_identifier) , (parameter_declaration "_64" type_identifier) , (parameter_declaration "_false> *__c" type_identifier (ERROR ">" >) (pointer_declarator "*__c" * identifier)) ))) { identifier) identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "anon_union_8_4_c82d8563_for_u1_ aVar3;" type_identifier identifier ;) (declaration "anon_union_8_4_c82d8563_for_u1_ aVar4;" type_identifier identifier ;) (declaration "anon_union_8_4_c82d8563_for_u1_ aVar5;" type_identifier identifier ;) (declaration "anon_union_8_4_c82d8563_for_u1_ aVar6;" type_identifier identifier ;) (declaration "anon_union_8_4_c82d8563_for_u1_ aVar7;" type_identifier identifier ;) (declaration "anon_union_8_4_c82d8563_for_u1_ aVar8;" type_identifier identifier ;) (expression_statement "Output_reloc<4,_true,_64,_false> __tmp;" (update_expression "Output_reloc<4,_true,_64,_false> __tmp" (binary_expression "Output_reloc<4,_true,_64,_false> __tmp" (binary_expression "Output_reloc<4" identifier < number_literal) (ERROR ",_true,_64,_false" , identifier , identifier , identifier) > identifier) --) ;) (ERROR "iVar2 = gold::Output_reloc<9," (assignment_expression "iVar2 = gold" identifier = identifier) : : (binary_expression "Output_reloc<9" identifier < number_literal) ,) (declaration "_true,_64,_false>::compare(__a,__b);" type_identifier (ERROR "," ,) identifier , (ERROR "_false>::" identifier > : :) (function_declarator "compare(__a,__b)" identifier (parameter_list "(__a,__b)" ( (parameter_declaration "__a" type_identifier) , (parameter_declaration "__b" type_identifier) ))) ;) (if_statement "if ((iVar2 < 0) || ((iVar2 == 0 && (__a[1].u1_.relobj < __b[1].u1_.relobj)))) {\n    iVar2 = gold::Output_reloc<9,_true,_64,_false>::compare(__b,__c);\n    if ((iVar2 < 0) || ((iVar2 == 0 && (__b[1].u1_.relobj < __c[1].u1_.relobj)))) {\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->u2_;\n      aVar7 = *__result;\n      aVar8 = __result[1];\n      aVar5 = __result[2];\n      aVar6 = __result[3];\n      aVar3 = __result[4];\n      aVar4 = __result[5];\n      *__result = __b->u1_;\n      __result[1] = aVar1;\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_;\n      __result[2] = (anon_union_8_4_c82d8563_for_u1_)__b->address_;\n      __result[3] = aVar1;\n      aVar1 = __b[1].u1_;\n      __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_;\n      __result[5] = aVar1;\n      __b->address_ = (Address)aVar5;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_ = aVar6;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_ = aVar3;\n      __b[1].u1_ = aVar4;\n      __b->u1_ = aVar7;\n      __b->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n      return;\n    }\n    iVar2 = gold::Output_reloc<9,_true,_64,_false>::compare(__a,__c);\n    if ((iVar2 < 0) || ((iVar2 == 0 && (__a[1].u1_.relobj < __c[1].u1_.relobj)))) {\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->u2_;\n      aVar7 = *__result;\n      aVar8 = __result[1];\n      aVar5 = __result[2];\n      aVar6 = __result[3];\n      aVar3 = __result[4];\n      aVar4 = __result[5];\n      *__result = __c->u1_;\n      __result[1] = aVar1;\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_;\n      __result[2] = (anon_union_8_4_c82d8563_for_u1_)__c->address_;\n      __result[3] = aVar1;\n      aVar1 = __c[1].u1_;\n      __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_;\n      __result[5] = aVar1;\n      __c->u1_ = aVar7;\n      __c->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n      __c->address_ = (Address)aVar5;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_ = aVar6;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_ = aVar3;\n      __c[1].u1_ = aVar4;\n      return;\n    }\n    aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->u2_;\n    aVar7 = *__result;\n    aVar8 = __result[1];\n    aVar5 = __result[2];\n    aVar6 = __result[3];\n    aVar3 = __result[4];\n    aVar4 = __result[5];\n    *__result = __a->u1_;\n    __result[1] = aVar1;\n    aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->local_sym_index_;\n    __result[2] = (anon_union_8_4_c82d8563_for_u1_)__a->address_;\n    __result[3] = aVar1;\n  }\n  else {\n    iVar2 = gold::Output_reloc<9,_true,_64,_false>::compare(__a,__c);\n    if ((-1 < iVar2) && ((iVar2 != 0 || (__c[1].u1_.relobj <= __a[1].u1_.relobj)))) {\n      iVar2 = gold::Output_reloc<9,_true,_64,_false>::compare(__b,__c);\n      if ((-1 < iVar2) && ((iVar2 != 0 || (__c[1].u1_.relobj <= __b[1].u1_.relobj)))) {\n        aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->u2_;\n        aVar7 = *__result;\n        aVar8 = __result[1];\n        aVar5 = __result[2];\n        aVar6 = __result[3];\n        aVar3 = __result[4];\n        aVar4 = __result[5];\n        *__result = __b->u1_;\n        __result[1] = aVar1;\n        aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_;\n        __result[2] = (anon_union_8_4_c82d8563_for_u1_)__b->address_;\n        __result[3] = aVar1;\n        aVar1 = __b[1].u1_;\n        __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_;\n        __result[5] = aVar1;\n        __b->address_ = (Address)aVar5;\n        *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_ = aVar6;\n        *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_ = aVar3;\n        __b[1].u1_ = aVar4;\n        __b->u1_ = aVar7;\n        __b->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n        return;\n      }\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->u2_;\n      aVar7 = *__result;\n      aVar8 = __result[1];\n      aVar5 = __result[2];\n      aVar6 = __result[3];\n      aVar3 = __result[4];\n      aVar4 = __result[5];\n      *__result = __c->u1_;\n      __result[1] = aVar1;\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_;\n      __result[2] = (anon_union_8_4_c82d8563_for_u1_)__c->address_;\n      __result[3] = aVar1;\n      aVar1 = __c[1].u1_;\n      __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_;\n      __result[5] = aVar1;\n      __c->u1_ = aVar7;\n      __c->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n      __c->address_ = (Address)aVar5;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_ = aVar6;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_ = aVar3;\n      __c[1].u1_ = aVar4;\n      return;\n    }\n    aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->u2_;\n    aVar7 = *__result;\n    aVar8 = __result[1];\n    aVar5 = __result[2];\n    aVar6 = __result[3];\n    aVar3 = __result[4];\n    aVar4 = __result[5];\n    *__result = __a->u1_;\n    __result[1] = aVar1;\n    aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->local_sym_index_;\n    __result[2] = (anon_union_8_4_c82d8563_for_u1_)__a->address_;\n    __result[3] = aVar1;\n  }" if (parenthesized_expression "((iVar2 < 0) || ((iVar2 == 0 && (__a[1].u1_.relobj < __b[1].u1_.relobj))))" ( (binary_expression "(iVar2 < 0) || ((iVar2 == 0 && (__a[1].u1_.relobj < __b[1].u1_.relobj)))" (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) || (parenthesized_expression "((iVar2 == 0 && (__a[1].u1_.relobj < __b[1].u1_.relobj)))" ( (parenthesized_expression "(iVar2 == 0 && (__a[1].u1_.relobj < __b[1].u1_.relobj))" ( (binary_expression "iVar2 == 0 && (__a[1].u1_.relobj < __b[1].u1_.relobj)" (binary_expression "iVar2 == 0" identifier == number_literal) && (parenthesized_expression "(__a[1].u1_.relobj < __b[1].u1_.relobj)" ( (binary_expression "__a[1].u1_.relobj < __b[1].u1_.relobj" (field_expression "__a[1].u1_.relobj" (field_expression "__a[1].u1_" (subscript_expression "__a[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) < (field_expression "__b[1].u1_.relobj" (field_expression "__b[1].u1_" (subscript_expression "__b[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)) ))) )) ))) )) (compound_statement "{\n    iVar2 = gold::Output_reloc<9,_true,_64,_false>::compare(__b,__c);\n    if ((iVar2 < 0) || ((iVar2 == 0 && (__b[1].u1_.relobj < __c[1].u1_.relobj)))) {\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->u2_;\n      aVar7 = *__result;\n      aVar8 = __result[1];\n      aVar5 = __result[2];\n      aVar6 = __result[3];\n      aVar3 = __result[4];\n      aVar4 = __result[5];\n      *__result = __b->u1_;\n      __result[1] = aVar1;\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_;\n      __result[2] = (anon_union_8_4_c82d8563_for_u1_)__b->address_;\n      __result[3] = aVar1;\n      aVar1 = __b[1].u1_;\n      __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_;\n      __result[5] = aVar1;\n      __b->address_ = (Address)aVar5;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_ = aVar6;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_ = aVar3;\n      __b[1].u1_ = aVar4;\n      __b->u1_ = aVar7;\n      __b->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n      return;\n    }\n    iVar2 = gold::Output_reloc<9,_true,_64,_false>::compare(__a,__c);\n    if ((iVar2 < 0) || ((iVar2 == 0 && (__a[1].u1_.relobj < __c[1].u1_.relobj)))) {\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->u2_;\n      aVar7 = *__result;\n      aVar8 = __result[1];\n      aVar5 = __result[2];\n      aVar6 = __result[3];\n      aVar3 = __result[4];\n      aVar4 = __result[5];\n      *__result = __c->u1_;\n      __result[1] = aVar1;\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_;\n      __result[2] = (anon_union_8_4_c82d8563_for_u1_)__c->address_;\n      __result[3] = aVar1;\n      aVar1 = __c[1].u1_;\n      __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_;\n      __result[5] = aVar1;\n      __c->u1_ = aVar7;\n      __c->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n      __c->address_ = (Address)aVar5;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_ = aVar6;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_ = aVar3;\n      __c[1].u1_ = aVar4;\n      return;\n    }\n    aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->u2_;\n    aVar7 = *__result;\n    aVar8 = __result[1];\n    aVar5 = __result[2];\n    aVar6 = __result[3];\n    aVar3 = __result[4];\n    aVar4 = __result[5];\n    *__result = __a->u1_;\n    __result[1] = aVar1;\n    aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->local_sym_index_;\n    __result[2] = (anon_union_8_4_c82d8563_for_u1_)__a->address_;\n    __result[3] = aVar1;\n  }" { (ERROR "iVar2 = gold::" (assignment_expression "iVar2 = gold" identifier = identifier) : :) (expression_statement "Output_reloc<9,_true,_64,_false>::compare(__b,__c);" (comma_expression "Output_reloc<9,_true,_64,_false>::compare(__b,__c)" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_64,_false>::compare(__b,__c)" identifier , (comma_expression "_64,_false>::compare(__b,__c)" identifier , (binary_expression "_false>::compare(__b,__c)" identifier > (ERROR "::" : :) (call_expression "compare(__b,__c)" identifier (argument_list "(__b,__c)" ( identifier , identifier ))))))) ;) (if_statement "if ((iVar2 < 0) || ((iVar2 == 0 && (__b[1].u1_.relobj < __c[1].u1_.relobj)))) {\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->u2_;\n      aVar7 = *__result;\n      aVar8 = __result[1];\n      aVar5 = __result[2];\n      aVar6 = __result[3];\n      aVar3 = __result[4];\n      aVar4 = __result[5];\n      *__result = __b->u1_;\n      __result[1] = aVar1;\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_;\n      __result[2] = (anon_union_8_4_c82d8563_for_u1_)__b->address_;\n      __result[3] = aVar1;\n      aVar1 = __b[1].u1_;\n      __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_;\n      __result[5] = aVar1;\n      __b->address_ = (Address)aVar5;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_ = aVar6;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_ = aVar3;\n      __b[1].u1_ = aVar4;\n      __b->u1_ = aVar7;\n      __b->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n      return;\n    }" if (parenthesized_expression "((iVar2 < 0) || ((iVar2 == 0 && (__b[1].u1_.relobj < __c[1].u1_.relobj))))" ( (binary_expression "(iVar2 < 0) || ((iVar2 == 0 && (__b[1].u1_.relobj < __c[1].u1_.relobj)))" (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) || (parenthesized_expression "((iVar2 == 0 && (__b[1].u1_.relobj < __c[1].u1_.relobj)))" ( (parenthesized_expression "(iVar2 == 0 && (__b[1].u1_.relobj < __c[1].u1_.relobj))" ( (binary_expression "iVar2 == 0 && (__b[1].u1_.relobj < __c[1].u1_.relobj)" (binary_expression "iVar2 == 0" identifier == number_literal) && (parenthesized_expression "(__b[1].u1_.relobj < __c[1].u1_.relobj)" ( (binary_expression "__b[1].u1_.relobj < __c[1].u1_.relobj" (field_expression "__b[1].u1_.relobj" (field_expression "__b[1].u1_" (subscript_expression "__b[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) < (field_expression "__c[1].u1_.relobj" (field_expression "__c[1].u1_" (subscript_expression "__c[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)) ))) )) ))) )) (compound_statement "{\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->u2_;\n      aVar7 = *__result;\n      aVar8 = __result[1];\n      aVar5 = __result[2];\n      aVar6 = __result[3];\n      aVar3 = __result[4];\n      aVar4 = __result[5];\n      *__result = __b->u1_;\n      __result[1] = aVar1;\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_;\n      __result[2] = (anon_union_8_4_c82d8563_for_u1_)__b->address_;\n      __result[3] = aVar1;\n      aVar1 = __b[1].u1_;\n      __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_;\n      __result[5] = aVar1;\n      __b->address_ = (Address)aVar5;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_ = aVar6;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_ = aVar3;\n      __b[1].u1_ = aVar4;\n      __b->u1_ = aVar7;\n      __b->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n      return;\n    }" { (expression_statement "aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->u2_;" (assignment_expression "aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->u2_" identifier = (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__b->u2_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__b->u2_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__b->u2_" & (field_expression "__b->u2_" identifier -> field_identifier))))) ;) (expression_statement "aVar7 = *__result;" (assignment_expression "aVar7 = *__result" identifier = (pointer_expression "*__result" * identifier)) ;) (expression_statement "aVar8 = __result[1];" (assignment_expression "aVar8 = __result[1]" identifier = (subscript_expression "__result[1]" identifier [ number_literal ])) ;) (expression_statement "aVar5 = __result[2];" (assignment_expression "aVar5 = __result[2]" identifier = (subscript_expression "__result[2]" identifier [ number_literal ])) ;) (expression_statement "aVar6 = __result[3];" (assignment_expression "aVar6 = __result[3]" identifier = (subscript_expression "__result[3]" identifier [ number_literal ])) ;) (expression_statement "aVar3 = __result[4];" (assignment_expression "aVar3 = __result[4]" identifier = (subscript_expression "__result[4]" identifier [ number_literal ])) ;) (expression_statement "aVar4 = __result[5];" (assignment_expression "aVar4 = __result[5]" identifier = (subscript_expression "__result[5]" identifier [ number_literal ])) ;) (expression_statement "*__result = __b->u1_;" (assignment_expression "*__result = __b->u1_" (pointer_expression "*__result" * identifier) = (field_expression "__b->u1_" identifier -> field_identifier)) ;) (expression_statement "__result[1] = aVar1;" (assignment_expression "__result[1] = aVar1" (subscript_expression "__result[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_;" (assignment_expression "aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_" identifier = (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__b->local_sym_index_" & (field_expression "__b->local_sym_index_" identifier -> field_identifier))))) ;) (expression_statement "__result[2] = (anon_union_8_4_c82d8563_for_u1_)__b->address_;" (assignment_expression "__result[2] = (anon_union_8_4_c82d8563_for_u1_)__b->address_" (subscript_expression "__result[2]" identifier [ number_literal ]) = (cast_expression "(anon_union_8_4_c82d8563_for_u1_)__b->address_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_" type_identifier) ) (field_expression "__b->address_" identifier -> field_identifier))) ;) (expression_statement "__result[3] = aVar1;" (assignment_expression "__result[3] = aVar1" (subscript_expression "__result[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "aVar1 = __b[1].u1_;" (assignment_expression "aVar1 = __b[1].u1_" identifier = (field_expression "__b[1].u1_" (subscript_expression "__b[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "__result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_;" (assignment_expression "__result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_" (subscript_expression "__result[4]" identifier [ number_literal ]) = (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__b->shndx_" & (field_expression "__b->shndx_" identifier -> field_identifier))))) ;) (expression_statement "__result[5] = aVar1;" (assignment_expression "__result[5] = aVar1" (subscript_expression "__result[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__b->address_ = (Address)aVar5;" (assignment_expression "__b->address_ = (Address)aVar5" (field_expression "__b->address_" identifier -> field_identifier) = (cast_expression "(Address)aVar5" ( (type_descriptor "Address" type_identifier) ) identifier)) ;) (expression_statement "*(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_ = aVar6;" (assignment_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_ = aVar6" (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__b->local_sym_index_" & (field_expression "__b->local_sym_index_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_ = aVar3;" (assignment_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_ = aVar3" (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__b->shndx_" & (field_expression "__b->shndx_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "__b[1].u1_ = aVar4;" (assignment_expression "__b[1].u1_ = aVar4" (field_expression "__b[1].u1_" (subscript_expression "__b[1]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "__b->u1_ = aVar7;" (assignment_expression "__b->u1_ = aVar7" (field_expression "__b->u1_" identifier -> field_identifier) = identifier) ;) (expression_statement "__b->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;" (assignment_expression "__b->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8" (field_expression "__b->u2_" identifier -> field_identifier) = (cast_expression "(anon_union_8_2_238bdeaa_for_u2_)aVar8" ( (type_descriptor "anon_union_8_2_238bdeaa_for_u2_" type_identifier) ) identifier)) ;) (return_statement "return;" return ;) })) (ERROR "iVar2 = gold::" (assignment_expression "iVar2 = gold" identifier = identifier) : :) (expression_statement "Output_reloc<9,_true,_64,_false>::compare(__a,__c);" (comma_expression "Output_reloc<9,_true,_64,_false>::compare(__a,__c)" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_64,_false>::compare(__a,__c)" identifier , (comma_expression "_64,_false>::compare(__a,__c)" identifier , (binary_expression "_false>::compare(__a,__c)" identifier > (ERROR "::" : :) (call_expression "compare(__a,__c)" identifier (argument_list "(__a,__c)" ( identifier , identifier ))))))) ;) (if_statement "if ((iVar2 < 0) || ((iVar2 == 0 && (__a[1].u1_.relobj < __c[1].u1_.relobj)))) {\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->u2_;\n      aVar7 = *__result;\n      aVar8 = __result[1];\n      aVar5 = __result[2];\n      aVar6 = __result[3];\n      aVar3 = __result[4];\n      aVar4 = __result[5];\n      *__result = __c->u1_;\n      __result[1] = aVar1;\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_;\n      __result[2] = (anon_union_8_4_c82d8563_for_u1_)__c->address_;\n      __result[3] = aVar1;\n      aVar1 = __c[1].u1_;\n      __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_;\n      __result[5] = aVar1;\n      __c->u1_ = aVar7;\n      __c->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n      __c->address_ = (Address)aVar5;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_ = aVar6;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_ = aVar3;\n      __c[1].u1_ = aVar4;\n      return;\n    }" if (parenthesized_expression "((iVar2 < 0) || ((iVar2 == 0 && (__a[1].u1_.relobj < __c[1].u1_.relobj))))" ( (binary_expression "(iVar2 < 0) || ((iVar2 == 0 && (__a[1].u1_.relobj < __c[1].u1_.relobj)))" (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) || (parenthesized_expression "((iVar2 == 0 && (__a[1].u1_.relobj < __c[1].u1_.relobj)))" ( (parenthesized_expression "(iVar2 == 0 && (__a[1].u1_.relobj < __c[1].u1_.relobj))" ( (binary_expression "iVar2 == 0 && (__a[1].u1_.relobj < __c[1].u1_.relobj)" (binary_expression "iVar2 == 0" identifier == number_literal) && (parenthesized_expression "(__a[1].u1_.relobj < __c[1].u1_.relobj)" ( (binary_expression "__a[1].u1_.relobj < __c[1].u1_.relobj" (field_expression "__a[1].u1_.relobj" (field_expression "__a[1].u1_" (subscript_expression "__a[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) < (field_expression "__c[1].u1_.relobj" (field_expression "__c[1].u1_" (subscript_expression "__c[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)) ))) )) ))) )) (compound_statement "{\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->u2_;\n      aVar7 = *__result;\n      aVar8 = __result[1];\n      aVar5 = __result[2];\n      aVar6 = __result[3];\n      aVar3 = __result[4];\n      aVar4 = __result[5];\n      *__result = __c->u1_;\n      __result[1] = aVar1;\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_;\n      __result[2] = (anon_union_8_4_c82d8563_for_u1_)__c->address_;\n      __result[3] = aVar1;\n      aVar1 = __c[1].u1_;\n      __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_;\n      __result[5] = aVar1;\n      __c->u1_ = aVar7;\n      __c->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n      __c->address_ = (Address)aVar5;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_ = aVar6;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_ = aVar3;\n      __c[1].u1_ = aVar4;\n      return;\n    }" { (expression_statement "aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->u2_;" (assignment_expression "aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->u2_" identifier = (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__c->u2_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__c->u2_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__c->u2_" & (field_expression "__c->u2_" identifier -> field_identifier))))) ;) (expression_statement "aVar7 = *__result;" (assignment_expression "aVar7 = *__result" identifier = (pointer_expression "*__result" * identifier)) ;) (expression_statement "aVar8 = __result[1];" (assignment_expression "aVar8 = __result[1]" identifier = (subscript_expression "__result[1]" identifier [ number_literal ])) ;) (expression_statement "aVar5 = __result[2];" (assignment_expression "aVar5 = __result[2]" identifier = (subscript_expression "__result[2]" identifier [ number_literal ])) ;) (expression_statement "aVar6 = __result[3];" (assignment_expression "aVar6 = __result[3]" identifier = (subscript_expression "__result[3]" identifier [ number_literal ])) ;) (expression_statement "aVar3 = __result[4];" (assignment_expression "aVar3 = __result[4]" identifier = (subscript_expression "__result[4]" identifier [ number_literal ])) ;) (expression_statement "aVar4 = __result[5];" (assignment_expression "aVar4 = __result[5]" identifier = (subscript_expression "__result[5]" identifier [ number_literal ])) ;) (expression_statement "*__result = __c->u1_;" (assignment_expression "*__result = __c->u1_" (pointer_expression "*__result" * identifier) = (field_expression "__c->u1_" identifier -> field_identifier)) ;) (expression_statement "__result[1] = aVar1;" (assignment_expression "__result[1] = aVar1" (subscript_expression "__result[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_;" (assignment_expression "aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_" identifier = (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__c->local_sym_index_" & (field_expression "__c->local_sym_index_" identifier -> field_identifier))))) ;) (expression_statement "__result[2] = (anon_union_8_4_c82d8563_for_u1_)__c->address_;" (assignment_expression "__result[2] = (anon_union_8_4_c82d8563_for_u1_)__c->address_" (subscript_expression "__result[2]" identifier [ number_literal ]) = (cast_expression "(anon_union_8_4_c82d8563_for_u1_)__c->address_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_" type_identifier) ) (field_expression "__c->address_" identifier -> field_identifier))) ;) (expression_statement "__result[3] = aVar1;" (assignment_expression "__result[3] = aVar1" (subscript_expression "__result[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "aVar1 = __c[1].u1_;" (assignment_expression "aVar1 = __c[1].u1_" identifier = (field_expression "__c[1].u1_" (subscript_expression "__c[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "__result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_;" (assignment_expression "__result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_" (subscript_expression "__result[4]" identifier [ number_literal ]) = (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__c->shndx_" & (field_expression "__c->shndx_" identifier -> field_identifier))))) ;) (expression_statement "__result[5] = aVar1;" (assignment_expression "__result[5] = aVar1" (subscript_expression "__result[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__c->u1_ = aVar7;" (assignment_expression "__c->u1_ = aVar7" (field_expression "__c->u1_" identifier -> field_identifier) = identifier) ;) (expression_statement "__c->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;" (assignment_expression "__c->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8" (field_expression "__c->u2_" identifier -> field_identifier) = (cast_expression "(anon_union_8_2_238bdeaa_for_u2_)aVar8" ( (type_descriptor "anon_union_8_2_238bdeaa_for_u2_" type_identifier) ) identifier)) ;) (expression_statement "__c->address_ = (Address)aVar5;" (assignment_expression "__c->address_ = (Address)aVar5" (field_expression "__c->address_" identifier -> field_identifier) = (cast_expression "(Address)aVar5" ( (type_descriptor "Address" type_identifier) ) identifier)) ;) (expression_statement "*(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_ = aVar6;" (assignment_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_ = aVar6" (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__c->local_sym_index_" & (field_expression "__c->local_sym_index_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_ = aVar3;" (assignment_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_ = aVar3" (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__c->shndx_" & (field_expression "__c->shndx_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "__c[1].u1_ = aVar4;" (assignment_expression "__c[1].u1_ = aVar4" (field_expression "__c[1].u1_" (subscript_expression "__c[1]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->u2_;" (assignment_expression "aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->u2_" identifier = (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__a->u2_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__a->u2_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__a->u2_" & (field_expression "__a->u2_" identifier -> field_identifier))))) ;) (expression_statement "aVar7 = *__result;" (assignment_expression "aVar7 = *__result" identifier = (pointer_expression "*__result" * identifier)) ;) (expression_statement "aVar8 = __result[1];" (assignment_expression "aVar8 = __result[1]" identifier = (subscript_expression "__result[1]" identifier [ number_literal ])) ;) (expression_statement "aVar5 = __result[2];" (assignment_expression "aVar5 = __result[2]" identifier = (subscript_expression "__result[2]" identifier [ number_literal ])) ;) (expression_statement "aVar6 = __result[3];" (assignment_expression "aVar6 = __result[3]" identifier = (subscript_expression "__result[3]" identifier [ number_literal ])) ;) (expression_statement "aVar3 = __result[4];" (assignment_expression "aVar3 = __result[4]" identifier = (subscript_expression "__result[4]" identifier [ number_literal ])) ;) (expression_statement "aVar4 = __result[5];" (assignment_expression "aVar4 = __result[5]" identifier = (subscript_expression "__result[5]" identifier [ number_literal ])) ;) (expression_statement "*__result = __a->u1_;" (assignment_expression "*__result = __a->u1_" (pointer_expression "*__result" * identifier) = (field_expression "__a->u1_" identifier -> field_identifier)) ;) (expression_statement "__result[1] = aVar1;" (assignment_expression "__result[1] = aVar1" (subscript_expression "__result[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->local_sym_index_;" (assignment_expression "aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->local_sym_index_" identifier = (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__a->local_sym_index_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__a->local_sym_index_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__a->local_sym_index_" & (field_expression "__a->local_sym_index_" identifier -> field_identifier))))) ;) (expression_statement "__result[2] = (anon_union_8_4_c82d8563_for_u1_)__a->address_;" (assignment_expression "__result[2] = (anon_union_8_4_c82d8563_for_u1_)__a->address_" (subscript_expression "__result[2]" identifier [ number_literal ]) = (cast_expression "(anon_union_8_4_c82d8563_for_u1_)__a->address_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_" type_identifier) ) (field_expression "__a->address_" identifier -> field_identifier))) ;) (expression_statement "__result[3] = aVar1;" (assignment_expression "__result[3] = aVar1" (subscript_expression "__result[3]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n    iVar2 = gold::Output_reloc<9,_true,_64,_false>::compare(__a,__c);\n    if ((-1 < iVar2) && ((iVar2 != 0 || (__c[1].u1_.relobj <= __a[1].u1_.relobj)))) {\n      iVar2 = gold::Output_reloc<9,_true,_64,_false>::compare(__b,__c);\n      if ((-1 < iVar2) && ((iVar2 != 0 || (__c[1].u1_.relobj <= __b[1].u1_.relobj)))) {\n        aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->u2_;\n        aVar7 = *__result;\n        aVar8 = __result[1];\n        aVar5 = __result[2];\n        aVar6 = __result[3];\n        aVar3 = __result[4];\n        aVar4 = __result[5];\n        *__result = __b->u1_;\n        __result[1] = aVar1;\n        aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_;\n        __result[2] = (anon_union_8_4_c82d8563_for_u1_)__b->address_;\n        __result[3] = aVar1;\n        aVar1 = __b[1].u1_;\n        __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_;\n        __result[5] = aVar1;\n        __b->address_ = (Address)aVar5;\n        *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_ = aVar6;\n        *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_ = aVar3;\n        __b[1].u1_ = aVar4;\n        __b->u1_ = aVar7;\n        __b->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n        return;\n      }\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->u2_;\n      aVar7 = *__result;\n      aVar8 = __result[1];\n      aVar5 = __result[2];\n      aVar6 = __result[3];\n      aVar3 = __result[4];\n      aVar4 = __result[5];\n      *__result = __c->u1_;\n      __result[1] = aVar1;\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_;\n      __result[2] = (anon_union_8_4_c82d8563_for_u1_)__c->address_;\n      __result[3] = aVar1;\n      aVar1 = __c[1].u1_;\n      __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_;\n      __result[5] = aVar1;\n      __c->u1_ = aVar7;\n      __c->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n      __c->address_ = (Address)aVar5;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_ = aVar6;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_ = aVar3;\n      __c[1].u1_ = aVar4;\n      return;\n    }\n    aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->u2_;\n    aVar7 = *__result;\n    aVar8 = __result[1];\n    aVar5 = __result[2];\n    aVar6 = __result[3];\n    aVar3 = __result[4];\n    aVar4 = __result[5];\n    *__result = __a->u1_;\n    __result[1] = aVar1;\n    aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->local_sym_index_;\n    __result[2] = (anon_union_8_4_c82d8563_for_u1_)__a->address_;\n    __result[3] = aVar1;\n  }" else (compound_statement "{\n    iVar2 = gold::Output_reloc<9,_true,_64,_false>::compare(__a,__c);\n    if ((-1 < iVar2) && ((iVar2 != 0 || (__c[1].u1_.relobj <= __a[1].u1_.relobj)))) {\n      iVar2 = gold::Output_reloc<9,_true,_64,_false>::compare(__b,__c);\n      if ((-1 < iVar2) && ((iVar2 != 0 || (__c[1].u1_.relobj <= __b[1].u1_.relobj)))) {\n        aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->u2_;\n        aVar7 = *__result;\n        aVar8 = __result[1];\n        aVar5 = __result[2];\n        aVar6 = __result[3];\n        aVar3 = __result[4];\n        aVar4 = __result[5];\n        *__result = __b->u1_;\n        __result[1] = aVar1;\n        aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_;\n        __result[2] = (anon_union_8_4_c82d8563_for_u1_)__b->address_;\n        __result[3] = aVar1;\n        aVar1 = __b[1].u1_;\n        __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_;\n        __result[5] = aVar1;\n        __b->address_ = (Address)aVar5;\n        *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_ = aVar6;\n        *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_ = aVar3;\n        __b[1].u1_ = aVar4;\n        __b->u1_ = aVar7;\n        __b->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n        return;\n      }\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->u2_;\n      aVar7 = *__result;\n      aVar8 = __result[1];\n      aVar5 = __result[2];\n      aVar6 = __result[3];\n      aVar3 = __result[4];\n      aVar4 = __result[5];\n      *__result = __c->u1_;\n      __result[1] = aVar1;\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_;\n      __result[2] = (anon_union_8_4_c82d8563_for_u1_)__c->address_;\n      __result[3] = aVar1;\n      aVar1 = __c[1].u1_;\n      __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_;\n      __result[5] = aVar1;\n      __c->u1_ = aVar7;\n      __c->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n      __c->address_ = (Address)aVar5;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_ = aVar6;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_ = aVar3;\n      __c[1].u1_ = aVar4;\n      return;\n    }\n    aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->u2_;\n    aVar7 = *__result;\n    aVar8 = __result[1];\n    aVar5 = __result[2];\n    aVar6 = __result[3];\n    aVar3 = __result[4];\n    aVar4 = __result[5];\n    *__result = __a->u1_;\n    __result[1] = aVar1;\n    aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->local_sym_index_;\n    __result[2] = (anon_union_8_4_c82d8563_for_u1_)__a->address_;\n    __result[3] = aVar1;\n  }" { (ERROR "iVar2 = gold::" (assignment_expression "iVar2 = gold" identifier = identifier) : :) (expression_statement "Output_reloc<9,_true,_64,_false>::compare(__a,__c);" (comma_expression "Output_reloc<9,_true,_64,_false>::compare(__a,__c)" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_64,_false>::compare(__a,__c)" identifier , (comma_expression "_64,_false>::compare(__a,__c)" identifier , (binary_expression "_false>::compare(__a,__c)" identifier > (ERROR "::" : :) (call_expression "compare(__a,__c)" identifier (argument_list "(__a,__c)" ( identifier , identifier ))))))) ;) (if_statement "if ((-1 < iVar2) && ((iVar2 != 0 || (__c[1].u1_.relobj <= __a[1].u1_.relobj)))) {\n      iVar2 = gold::Output_reloc<9,_true,_64,_false>::compare(__b,__c);\n      if ((-1 < iVar2) && ((iVar2 != 0 || (__c[1].u1_.relobj <= __b[1].u1_.relobj)))) {\n        aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->u2_;\n        aVar7 = *__result;\n        aVar8 = __result[1];\n        aVar5 = __result[2];\n        aVar6 = __result[3];\n        aVar3 = __result[4];\n        aVar4 = __result[5];\n        *__result = __b->u1_;\n        __result[1] = aVar1;\n        aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_;\n        __result[2] = (anon_union_8_4_c82d8563_for_u1_)__b->address_;\n        __result[3] = aVar1;\n        aVar1 = __b[1].u1_;\n        __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_;\n        __result[5] = aVar1;\n        __b->address_ = (Address)aVar5;\n        *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_ = aVar6;\n        *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_ = aVar3;\n        __b[1].u1_ = aVar4;\n        __b->u1_ = aVar7;\n        __b->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n        return;\n      }\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->u2_;\n      aVar7 = *__result;\n      aVar8 = __result[1];\n      aVar5 = __result[2];\n      aVar6 = __result[3];\n      aVar3 = __result[4];\n      aVar4 = __result[5];\n      *__result = __c->u1_;\n      __result[1] = aVar1;\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_;\n      __result[2] = (anon_union_8_4_c82d8563_for_u1_)__c->address_;\n      __result[3] = aVar1;\n      aVar1 = __c[1].u1_;\n      __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_;\n      __result[5] = aVar1;\n      __c->u1_ = aVar7;\n      __c->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n      __c->address_ = (Address)aVar5;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_ = aVar6;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_ = aVar3;\n      __c[1].u1_ = aVar4;\n      return;\n    }" if (parenthesized_expression "((-1 < iVar2) && ((iVar2 != 0 || (__c[1].u1_.relobj <= __a[1].u1_.relobj))))" ( (binary_expression "(-1 < iVar2) && ((iVar2 != 0 || (__c[1].u1_.relobj <= __a[1].u1_.relobj)))" (parenthesized_expression "(-1 < iVar2)" ( (binary_expression "-1 < iVar2" number_literal < identifier) )) && (parenthesized_expression "((iVar2 != 0 || (__c[1].u1_.relobj <= __a[1].u1_.relobj)))" ( (parenthesized_expression "(iVar2 != 0 || (__c[1].u1_.relobj <= __a[1].u1_.relobj))" ( (binary_expression "iVar2 != 0 || (__c[1].u1_.relobj <= __a[1].u1_.relobj)" (binary_expression "iVar2 != 0" identifier != number_literal) || (parenthesized_expression "(__c[1].u1_.relobj <= __a[1].u1_.relobj)" ( (binary_expression "__c[1].u1_.relobj <= __a[1].u1_.relobj" (field_expression "__c[1].u1_.relobj" (field_expression "__c[1].u1_" (subscript_expression "__c[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) <= (field_expression "__a[1].u1_.relobj" (field_expression "__a[1].u1_" (subscript_expression "__a[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)) ))) )) ))) )) (compound_statement "{\n      iVar2 = gold::Output_reloc<9,_true,_64,_false>::compare(__b,__c);\n      if ((-1 < iVar2) && ((iVar2 != 0 || (__c[1].u1_.relobj <= __b[1].u1_.relobj)))) {\n        aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->u2_;\n        aVar7 = *__result;\n        aVar8 = __result[1];\n        aVar5 = __result[2];\n        aVar6 = __result[3];\n        aVar3 = __result[4];\n        aVar4 = __result[5];\n        *__result = __b->u1_;\n        __result[1] = aVar1;\n        aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_;\n        __result[2] = (anon_union_8_4_c82d8563_for_u1_)__b->address_;\n        __result[3] = aVar1;\n        aVar1 = __b[1].u1_;\n        __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_;\n        __result[5] = aVar1;\n        __b->address_ = (Address)aVar5;\n        *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_ = aVar6;\n        *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_ = aVar3;\n        __b[1].u1_ = aVar4;\n        __b->u1_ = aVar7;\n        __b->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n        return;\n      }\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->u2_;\n      aVar7 = *__result;\n      aVar8 = __result[1];\n      aVar5 = __result[2];\n      aVar6 = __result[3];\n      aVar3 = __result[4];\n      aVar4 = __result[5];\n      *__result = __c->u1_;\n      __result[1] = aVar1;\n      aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_;\n      __result[2] = (anon_union_8_4_c82d8563_for_u1_)__c->address_;\n      __result[3] = aVar1;\n      aVar1 = __c[1].u1_;\n      __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_;\n      __result[5] = aVar1;\n      __c->u1_ = aVar7;\n      __c->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n      __c->address_ = (Address)aVar5;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_ = aVar6;\n      *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_ = aVar3;\n      __c[1].u1_ = aVar4;\n      return;\n    }" { (ERROR "iVar2 = gold::" (assignment_expression "iVar2 = gold" identifier = identifier) : :) (expression_statement "Output_reloc<9,_true,_64,_false>::compare(__b,__c);" (comma_expression "Output_reloc<9,_true,_64,_false>::compare(__b,__c)" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_64,_false>::compare(__b,__c)" identifier , (comma_expression "_64,_false>::compare(__b,__c)" identifier , (binary_expression "_false>::compare(__b,__c)" identifier > (ERROR "::" : :) (call_expression "compare(__b,__c)" identifier (argument_list "(__b,__c)" ( identifier , identifier ))))))) ;) (if_statement "if ((-1 < iVar2) && ((iVar2 != 0 || (__c[1].u1_.relobj <= __b[1].u1_.relobj)))) {\n        aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->u2_;\n        aVar7 = *__result;\n        aVar8 = __result[1];\n        aVar5 = __result[2];\n        aVar6 = __result[3];\n        aVar3 = __result[4];\n        aVar4 = __result[5];\n        *__result = __b->u1_;\n        __result[1] = aVar1;\n        aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_;\n        __result[2] = (anon_union_8_4_c82d8563_for_u1_)__b->address_;\n        __result[3] = aVar1;\n        aVar1 = __b[1].u1_;\n        __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_;\n        __result[5] = aVar1;\n        __b->address_ = (Address)aVar5;\n        *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_ = aVar6;\n        *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_ = aVar3;\n        __b[1].u1_ = aVar4;\n        __b->u1_ = aVar7;\n        __b->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n        return;\n      }" if (parenthesized_expression "((-1 < iVar2) && ((iVar2 != 0 || (__c[1].u1_.relobj <= __b[1].u1_.relobj))))" ( (binary_expression "(-1 < iVar2) && ((iVar2 != 0 || (__c[1].u1_.relobj <= __b[1].u1_.relobj)))" (parenthesized_expression "(-1 < iVar2)" ( (binary_expression "-1 < iVar2" number_literal < identifier) )) && (parenthesized_expression "((iVar2 != 0 || (__c[1].u1_.relobj <= __b[1].u1_.relobj)))" ( (parenthesized_expression "(iVar2 != 0 || (__c[1].u1_.relobj <= __b[1].u1_.relobj))" ( (binary_expression "iVar2 != 0 || (__c[1].u1_.relobj <= __b[1].u1_.relobj)" (binary_expression "iVar2 != 0" identifier != number_literal) || (parenthesized_expression "(__c[1].u1_.relobj <= __b[1].u1_.relobj)" ( (binary_expression "__c[1].u1_.relobj <= __b[1].u1_.relobj" (field_expression "__c[1].u1_.relobj" (field_expression "__c[1].u1_" (subscript_expression "__c[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) <= (field_expression "__b[1].u1_.relobj" (field_expression "__b[1].u1_" (subscript_expression "__b[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)) ))) )) ))) )) (compound_statement "{\n        aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->u2_;\n        aVar7 = *__result;\n        aVar8 = __result[1];\n        aVar5 = __result[2];\n        aVar6 = __result[3];\n        aVar3 = __result[4];\n        aVar4 = __result[5];\n        *__result = __b->u1_;\n        __result[1] = aVar1;\n        aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_;\n        __result[2] = (anon_union_8_4_c82d8563_for_u1_)__b->address_;\n        __result[3] = aVar1;\n        aVar1 = __b[1].u1_;\n        __result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_;\n        __result[5] = aVar1;\n        __b->address_ = (Address)aVar5;\n        *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_ = aVar6;\n        *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_ = aVar3;\n        __b[1].u1_ = aVar4;\n        __b->u1_ = aVar7;\n        __b->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;\n        return;\n      }" { (expression_statement "aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->u2_;" (assignment_expression "aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->u2_" identifier = (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__b->u2_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__b->u2_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__b->u2_" & (field_expression "__b->u2_" identifier -> field_identifier))))) ;) (expression_statement "aVar7 = *__result;" (assignment_expression "aVar7 = *__result" identifier = (pointer_expression "*__result" * identifier)) ;) (expression_statement "aVar8 = __result[1];" (assignment_expression "aVar8 = __result[1]" identifier = (subscript_expression "__result[1]" identifier [ number_literal ])) ;) (expression_statement "aVar5 = __result[2];" (assignment_expression "aVar5 = __result[2]" identifier = (subscript_expression "__result[2]" identifier [ number_literal ])) ;) (expression_statement "aVar6 = __result[3];" (assignment_expression "aVar6 = __result[3]" identifier = (subscript_expression "__result[3]" identifier [ number_literal ])) ;) (expression_statement "aVar3 = __result[4];" (assignment_expression "aVar3 = __result[4]" identifier = (subscript_expression "__result[4]" identifier [ number_literal ])) ;) (expression_statement "aVar4 = __result[5];" (assignment_expression "aVar4 = __result[5]" identifier = (subscript_expression "__result[5]" identifier [ number_literal ])) ;) (expression_statement "*__result = __b->u1_;" (assignment_expression "*__result = __b->u1_" (pointer_expression "*__result" * identifier) = (field_expression "__b->u1_" identifier -> field_identifier)) ;) (expression_statement "__result[1] = aVar1;" (assignment_expression "__result[1] = aVar1" (subscript_expression "__result[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_;" (assignment_expression "aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_" identifier = (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__b->local_sym_index_" & (field_expression "__b->local_sym_index_" identifier -> field_identifier))))) ;) (expression_statement "__result[2] = (anon_union_8_4_c82d8563_for_u1_)__b->address_;" (assignment_expression "__result[2] = (anon_union_8_4_c82d8563_for_u1_)__b->address_" (subscript_expression "__result[2]" identifier [ number_literal ]) = (cast_expression "(anon_union_8_4_c82d8563_for_u1_)__b->address_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_" type_identifier) ) (field_expression "__b->address_" identifier -> field_identifier))) ;) (expression_statement "__result[3] = aVar1;" (assignment_expression "__result[3] = aVar1" (subscript_expression "__result[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "aVar1 = __b[1].u1_;" (assignment_expression "aVar1 = __b[1].u1_" identifier = (field_expression "__b[1].u1_" (subscript_expression "__b[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "__result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_;" (assignment_expression "__result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_" (subscript_expression "__result[4]" identifier [ number_literal ]) = (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__b->shndx_" & (field_expression "__b->shndx_" identifier -> field_identifier))))) ;) (expression_statement "__result[5] = aVar1;" (assignment_expression "__result[5] = aVar1" (subscript_expression "__result[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__b->address_ = (Address)aVar5;" (assignment_expression "__b->address_ = (Address)aVar5" (field_expression "__b->address_" identifier -> field_identifier) = (cast_expression "(Address)aVar5" ( (type_descriptor "Address" type_identifier) ) identifier)) ;) (expression_statement "*(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_ = aVar6;" (assignment_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_ = aVar6" (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__b->local_sym_index_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__b->local_sym_index_" & (field_expression "__b->local_sym_index_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_ = aVar3;" (assignment_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_ = aVar3" (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__b->shndx_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__b->shndx_" & (field_expression "__b->shndx_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "__b[1].u1_ = aVar4;" (assignment_expression "__b[1].u1_ = aVar4" (field_expression "__b[1].u1_" (subscript_expression "__b[1]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "__b->u1_ = aVar7;" (assignment_expression "__b->u1_ = aVar7" (field_expression "__b->u1_" identifier -> field_identifier) = identifier) ;) (expression_statement "__b->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;" (assignment_expression "__b->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8" (field_expression "__b->u2_" identifier -> field_identifier) = (cast_expression "(anon_union_8_2_238bdeaa_for_u2_)aVar8" ( (type_descriptor "anon_union_8_2_238bdeaa_for_u2_" type_identifier) ) identifier)) ;) (return_statement "return;" return ;) })) (expression_statement "aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->u2_;" (assignment_expression "aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->u2_" identifier = (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__c->u2_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__c->u2_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__c->u2_" & (field_expression "__c->u2_" identifier -> field_identifier))))) ;) (expression_statement "aVar7 = *__result;" (assignment_expression "aVar7 = *__result" identifier = (pointer_expression "*__result" * identifier)) ;) (expression_statement "aVar8 = __result[1];" (assignment_expression "aVar8 = __result[1]" identifier = (subscript_expression "__result[1]" identifier [ number_literal ])) ;) (expression_statement "aVar5 = __result[2];" (assignment_expression "aVar5 = __result[2]" identifier = (subscript_expression "__result[2]" identifier [ number_literal ])) ;) (expression_statement "aVar6 = __result[3];" (assignment_expression "aVar6 = __result[3]" identifier = (subscript_expression "__result[3]" identifier [ number_literal ])) ;) (expression_statement "aVar3 = __result[4];" (assignment_expression "aVar3 = __result[4]" identifier = (subscript_expression "__result[4]" identifier [ number_literal ])) ;) (expression_statement "aVar4 = __result[5];" (assignment_expression "aVar4 = __result[5]" identifier = (subscript_expression "__result[5]" identifier [ number_literal ])) ;) (expression_statement "*__result = __c->u1_;" (assignment_expression "*__result = __c->u1_" (pointer_expression "*__result" * identifier) = (field_expression "__c->u1_" identifier -> field_identifier)) ;) (expression_statement "__result[1] = aVar1;" (assignment_expression "__result[1] = aVar1" (subscript_expression "__result[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_;" (assignment_expression "aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_" identifier = (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__c->local_sym_index_" & (field_expression "__c->local_sym_index_" identifier -> field_identifier))))) ;) (expression_statement "__result[2] = (anon_union_8_4_c82d8563_for_u1_)__c->address_;" (assignment_expression "__result[2] = (anon_union_8_4_c82d8563_for_u1_)__c->address_" (subscript_expression "__result[2]" identifier [ number_literal ]) = (cast_expression "(anon_union_8_4_c82d8563_for_u1_)__c->address_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_" type_identifier) ) (field_expression "__c->address_" identifier -> field_identifier))) ;) (expression_statement "__result[3] = aVar1;" (assignment_expression "__result[3] = aVar1" (subscript_expression "__result[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "aVar1 = __c[1].u1_;" (assignment_expression "aVar1 = __c[1].u1_" identifier = (field_expression "__c[1].u1_" (subscript_expression "__c[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "__result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_;" (assignment_expression "__result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_" (subscript_expression "__result[4]" identifier [ number_literal ]) = (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__c->shndx_" & (field_expression "__c->shndx_" identifier -> field_identifier))))) ;) (expression_statement "__result[5] = aVar1;" (assignment_expression "__result[5] = aVar1" (subscript_expression "__result[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__c->u1_ = aVar7;" (assignment_expression "__c->u1_ = aVar7" (field_expression "__c->u1_" identifier -> field_identifier) = identifier) ;) (expression_statement "__c->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;" (assignment_expression "__c->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8" (field_expression "__c->u2_" identifier -> field_identifier) = (cast_expression "(anon_union_8_2_238bdeaa_for_u2_)aVar8" ( (type_descriptor "anon_union_8_2_238bdeaa_for_u2_" type_identifier) ) identifier)) ;) (expression_statement "__c->address_ = (Address)aVar5;" (assignment_expression "__c->address_ = (Address)aVar5" (field_expression "__c->address_" identifier -> field_identifier) = (cast_expression "(Address)aVar5" ( (type_descriptor "Address" type_identifier) ) identifier)) ;) (expression_statement "*(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_ = aVar6;" (assignment_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_ = aVar6" (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__c->local_sym_index_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__c->local_sym_index_" & (field_expression "__c->local_sym_index_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_ = aVar3;" (assignment_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_ = aVar3" (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__c->shndx_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__c->shndx_" & (field_expression "__c->shndx_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "__c[1].u1_ = aVar4;" (assignment_expression "__c[1].u1_ = aVar4" (field_expression "__c[1].u1_" (subscript_expression "__c[1]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->u2_;" (assignment_expression "aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->u2_" identifier = (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__a->u2_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__a->u2_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__a->u2_" & (field_expression "__a->u2_" identifier -> field_identifier))))) ;) (expression_statement "aVar7 = *__result;" (assignment_expression "aVar7 = *__result" identifier = (pointer_expression "*__result" * identifier)) ;) (expression_statement "aVar8 = __result[1];" (assignment_expression "aVar8 = __result[1]" identifier = (subscript_expression "__result[1]" identifier [ number_literal ])) ;) (expression_statement "aVar5 = __result[2];" (assignment_expression "aVar5 = __result[2]" identifier = (subscript_expression "__result[2]" identifier [ number_literal ])) ;) (expression_statement "aVar6 = __result[3];" (assignment_expression "aVar6 = __result[3]" identifier = (subscript_expression "__result[3]" identifier [ number_literal ])) ;) (expression_statement "aVar3 = __result[4];" (assignment_expression "aVar3 = __result[4]" identifier = (subscript_expression "__result[4]" identifier [ number_literal ])) ;) (expression_statement "aVar4 = __result[5];" (assignment_expression "aVar4 = __result[5]" identifier = (subscript_expression "__result[5]" identifier [ number_literal ])) ;) (expression_statement "*__result = __a->u1_;" (assignment_expression "*__result = __a->u1_" (pointer_expression "*__result" * identifier) = (field_expression "__a->u1_" identifier -> field_identifier)) ;) (expression_statement "__result[1] = aVar1;" (assignment_expression "__result[1] = aVar1" (subscript_expression "__result[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->local_sym_index_;" (assignment_expression "aVar1 = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->local_sym_index_" identifier = (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__a->local_sym_index_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__a->local_sym_index_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__a->local_sym_index_" & (field_expression "__a->local_sym_index_" identifier -> field_identifier))))) ;) (expression_statement "__result[2] = (anon_union_8_4_c82d8563_for_u1_)__a->address_;" (assignment_expression "__result[2] = (anon_union_8_4_c82d8563_for_u1_)__a->address_" (subscript_expression "__result[2]" identifier [ number_literal ]) = (cast_expression "(anon_union_8_4_c82d8563_for_u1_)__a->address_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_" type_identifier) ) (field_expression "__a->address_" identifier -> field_identifier))) ;) (expression_statement "__result[3] = aVar1;" (assignment_expression "__result[3] = aVar1" (subscript_expression "__result[3]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "aVar1 = __a[1].u1_;" (assignment_expression "aVar1 = __a[1].u1_" identifier = (field_expression "__a[1].u1_" (subscript_expression "__a[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "__result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->shndx_;" (assignment_expression "__result[4] = *(anon_union_8_4_c82d8563_for_u1_ *)&__a->shndx_" (subscript_expression "__result[4]" identifier [ number_literal ]) = (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__a->shndx_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__a->shndx_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__a->shndx_" & (field_expression "__a->shndx_" identifier -> field_identifier))))) ;) (expression_statement "__result[5] = aVar1;" (assignment_expression "__result[5] = aVar1" (subscript_expression "__result[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__a->address_ = (Address)aVar5;" (assignment_expression "__a->address_ = (Address)aVar5" (field_expression "__a->address_" identifier -> field_identifier) = (cast_expression "(Address)aVar5" ( (type_descriptor "Address" type_identifier) ) identifier)) ;) (expression_statement "*(anon_union_8_4_c82d8563_for_u1_ *)&__a->local_sym_index_ = aVar6;" (assignment_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__a->local_sym_index_ = aVar6" (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__a->local_sym_index_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__a->local_sym_index_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__a->local_sym_index_" & (field_expression "__a->local_sym_index_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(anon_union_8_4_c82d8563_for_u1_ *)&__a->shndx_ = aVar3;" (assignment_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__a->shndx_ = aVar3" (pointer_expression "*(anon_union_8_4_c82d8563_for_u1_ *)&__a->shndx_" * (cast_expression "(anon_union_8_4_c82d8563_for_u1_ *)&__a->shndx_" ( (type_descriptor "anon_union_8_4_c82d8563_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__a->shndx_" & (field_expression "__a->shndx_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "__a[1].u1_ = aVar4;" (assignment_expression "__a[1].u1_ = aVar4" (field_expression "__a[1].u1_" (subscript_expression "__a[1]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "__a->u1_ = aVar7;" (assignment_expression "__a->u1_ = aVar7" (field_expression "__a->u1_" identifier -> field_identifier) = identifier) ;) (expression_statement "__a->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8;" (assignment_expression "__a->u2_ = (anon_union_8_2_238bdeaa_for_u2_)aVar8" (field_expression "__a->u2_" identifier -> field_identifier) = (cast_expression "(anon_union_8_2_238bdeaa_for_u2_)aVar8" ( (type_descriptor "anon_union_8_2_238bdeaa_for_u2_" type_identifier) ) identifier)) ;) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void FUN_002175c0(undefined8 *param_1,undefined8 *param_2,undefined8 *param_3,undefined8 *param_4)\n\n{\n  undefined8 uVar1;\n  int iVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  \n  iVar2 = FUN_002111e0(param_2,param_3);\n  if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5])))) {\n    iVar2 = FUN_002111e0(param_3,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))) {\n      uVar1 = param_3[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_3;\n      param_1[1] = uVar1;\n      uVar1 = param_3[3];\n      param_1[2] = param_3[2];\n      param_1[3] = uVar1;\n      uVar1 = param_3[5];\n      param_1[4] = param_3[4];\n      param_1[5] = uVar1;\n      param_3[2] = uVar5;\n      param_3[3] = uVar6;\n      param_3[4] = uVar3;\n      param_3[5] = uVar4;\n      *param_3 = uVar7;\n      param_3[1] = uVar8;\n      return;\n    }\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))) {\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }\n  else {\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))) {\n      iVar2 = FUN_002111e0(param_3,param_4);\n      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }\n  uVar1 = param_2[5];\n  param_1[4] = param_2[4];\n  param_1[5] = uVar1;\n  param_2[2] = uVar5;\n  param_2[3] = uVar6;\n  param_2[4] = uVar3;\n  param_2[5] = uVar4;\n  *param_2 = uVar7;\n  param_2[1] = uVar8;\n  return;\n}\n\n" (function_definition "void FUN_002175c0(undefined8 *param_1,undefined8 *param_2,undefined8 *param_3,undefined8 *param_4)\n\n{\n  undefined8 uVar1;\n  int iVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  \n  iVar2 = FUN_002111e0(param_2,param_3);\n  if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5])))) {\n    iVar2 = FUN_002111e0(param_3,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))) {\n      uVar1 = param_3[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_3;\n      param_1[1] = uVar1;\n      uVar1 = param_3[3];\n      param_1[2] = param_3[2];\n      param_1[3] = uVar1;\n      uVar1 = param_3[5];\n      param_1[4] = param_3[4];\n      param_1[5] = uVar1;\n      param_3[2] = uVar5;\n      param_3[3] = uVar6;\n      param_3[4] = uVar3;\n      param_3[5] = uVar4;\n      *param_3 = uVar7;\n      param_3[1] = uVar8;\n      return;\n    }\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))) {\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }\n  else {\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))) {\n      iVar2 = FUN_002111e0(param_3,param_4);\n      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }\n  uVar1 = param_2[5];\n  param_1[4] = param_2[4];\n  param_1[5] = uVar1;\n  param_2[2] = uVar5;\n  param_2[3] = uVar6;\n  param_2[4] = uVar3;\n  param_2[5] = uVar4;\n  *param_2 = uVar7;\n  param_2[1] = uVar8;\n  return;\n}" primitive_type (function_declarator "FUN_002175c0(undefined8 *param_1,undefined8 *param_2,undefined8 *param_3,undefined8 *param_4)" identifier (parameter_list "(undefined8 *param_1,undefined8 *param_2,undefined8 *param_3,undefined8 *param_4)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined8 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined8 *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined8 *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  undefined8 uVar1;\n  int iVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  \n  iVar2 = FUN_002111e0(param_2,param_3);\n  if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5])))) {\n    iVar2 = FUN_002111e0(param_3,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))) {\n      uVar1 = param_3[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_3;\n      param_1[1] = uVar1;\n      uVar1 = param_3[3];\n      param_1[2] = param_3[2];\n      param_1[3] = uVar1;\n      uVar1 = param_3[5];\n      param_1[4] = param_3[4];\n      param_1[5] = uVar1;\n      param_3[2] = uVar5;\n      param_3[3] = uVar6;\n      param_3[4] = uVar3;\n      param_3[5] = uVar4;\n      *param_3 = uVar7;\n      param_3[1] = uVar8;\n      return;\n    }\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))) {\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }\n  else {\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))) {\n      iVar2 = FUN_002111e0(param_3,param_4);\n      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }\n  uVar1 = param_2[5];\n  param_1[4] = param_2[4];\n  param_1[5] = uVar1;\n  param_2[2] = uVar5;\n  param_2[3] = uVar6;\n  param_2[4] = uVar3;\n  param_2[5] = uVar4;\n  *param_2 = uVar7;\n  param_2[1] = uVar8;\n  return;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (expression_statement "iVar2 = FUN_002111e0(param_2,param_3);" (assignment_expression "iVar2 = FUN_002111e0(param_2,param_3)" identifier = (call_expression "FUN_002111e0(param_2,param_3)" identifier (argument_list "(param_2,param_3)" ( identifier , identifier )))) ;) (if_statement "if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5])))) {\n    iVar2 = FUN_002111e0(param_3,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))) {\n      uVar1 = param_3[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_3;\n      param_1[1] = uVar1;\n      uVar1 = param_3[3];\n      param_1[2] = param_3[2];\n      param_1[3] = uVar1;\n      uVar1 = param_3[5];\n      param_1[4] = param_3[4];\n      param_1[5] = uVar1;\n      param_3[2] = uVar5;\n      param_3[3] = uVar6;\n      param_3[4] = uVar3;\n      param_3[5] = uVar4;\n      *param_3 = uVar7;\n      param_3[1] = uVar8;\n      return;\n    }\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))) {\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }\n  else {\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))) {\n      iVar2 = FUN_002111e0(param_3,param_4);\n      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }" if (parenthesized_expression "((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5]))))" ( (binary_expression "(iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5])))" (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) || (parenthesized_expression "((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5])))" ( (parenthesized_expression "(iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5]))" ( (binary_expression "iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5])" (binary_expression "iVar2 == 0" identifier == number_literal) && (parenthesized_expression "((ulong)param_2[5] < (ulong)param_3[5])" ( (binary_expression "(ulong)param_2[5] < (ulong)param_3[5]" (cast_expression "(ulong)param_2[5]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "param_2[5]" identifier [ number_literal ])) < (cast_expression "(ulong)param_3[5]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "param_3[5]" identifier [ number_literal ]))) ))) )) ))) )) (compound_statement "{\n    iVar2 = FUN_002111e0(param_3,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))) {\n      uVar1 = param_3[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_3;\n      param_1[1] = uVar1;\n      uVar1 = param_3[3];\n      param_1[2] = param_3[2];\n      param_1[3] = uVar1;\n      uVar1 = param_3[5];\n      param_1[4] = param_3[4];\n      param_1[5] = uVar1;\n      param_3[2] = uVar5;\n      param_3[3] = uVar6;\n      param_3[4] = uVar3;\n      param_3[5] = uVar4;\n      *param_3 = uVar7;\n      param_3[1] = uVar8;\n      return;\n    }\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))) {\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }" { (expression_statement "iVar2 = FUN_002111e0(param_3,param_4);" (assignment_expression "iVar2 = FUN_002111e0(param_3,param_4)" identifier = (call_expression "FUN_002111e0(param_3,param_4)" identifier (argument_list "(param_3,param_4)" ( identifier , identifier )))) ;) (if_statement "if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))) {\n      uVar1 = param_3[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_3;\n      param_1[1] = uVar1;\n      uVar1 = param_3[3];\n      param_1[2] = param_3[2];\n      param_1[3] = uVar1;\n      uVar1 = param_3[5];\n      param_1[4] = param_3[4];\n      param_1[5] = uVar1;\n      param_3[2] = uVar5;\n      param_3[3] = uVar6;\n      param_3[4] = uVar3;\n      param_3[5] = uVar4;\n      *param_3 = uVar7;\n      param_3[1] = uVar8;\n      return;\n    }" if (parenthesized_expression "((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5]))))" ( (binary_expression "(iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))" (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) || (parenthesized_expression "((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))" ( (parenthesized_expression "(iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5]))" ( (binary_expression "iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])" (binary_expression "iVar2 == 0" identifier == number_literal) && (parenthesized_expression "((ulong)param_3[5] < (ulong)param_4[5])" ( (binary_expression "(ulong)param_3[5] < (ulong)param_4[5]" (cast_expression "(ulong)param_3[5]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "param_3[5]" identifier [ number_literal ])) < (cast_expression "(ulong)param_4[5]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "param_4[5]" identifier [ number_literal ]))) ))) )) ))) )) (compound_statement "{\n      uVar1 = param_3[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_3;\n      param_1[1] = uVar1;\n      uVar1 = param_3[3];\n      param_1[2] = param_3[2];\n      param_1[3] = uVar1;\n      uVar1 = param_3[5];\n      param_1[4] = param_3[4];\n      param_1[5] = uVar1;\n      param_3[2] = uVar5;\n      param_3[3] = uVar6;\n      param_3[4] = uVar3;\n      param_3[5] = uVar4;\n      *param_3 = uVar7;\n      param_3[1] = uVar8;\n      return;\n    }" { (expression_statement "uVar1 = param_3[1];" (assignment_expression "uVar1 = param_3[1]" identifier = (subscript_expression "param_3[1]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar8 = param_1[1];" (assignment_expression "uVar8 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = param_1[2];" (assignment_expression "uVar5 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = param_1[3];" (assignment_expression "uVar6 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = param_1[4];" (assignment_expression "uVar3 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = param_1[5];" (assignment_expression "uVar4 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "*param_1 = *param_3;" (assignment_expression "*param_1 = *param_3" (pointer_expression "*param_1" * identifier) = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "param_1[1] = uVar1;" (assignment_expression "param_1[1] = uVar1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar1 = param_3[3];" (assignment_expression "uVar1 = param_3[3]" identifier = (subscript_expression "param_3[3]" identifier [ number_literal ])) ;) (expression_statement "param_1[2] = param_3[2];" (assignment_expression "param_1[2] = param_3[2]" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (subscript_expression "param_3[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 "uVar1 = param_3[5];" (assignment_expression "uVar1 = param_3[5]" identifier = (subscript_expression "param_3[5]" identifier [ number_literal ])) ;) (expression_statement "param_1[4] = param_3[4];" (assignment_expression "param_1[4] = param_3[4]" (subscript_expression "param_1[4]" identifier [ number_literal ]) = (subscript_expression "param_3[4]" identifier [ number_literal ])) ;) (expression_statement "param_1[5] = uVar1;" (assignment_expression "param_1[5] = uVar1" (subscript_expression "param_1[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_3[2] = uVar5;" (assignment_expression "param_3[2] = uVar5" (subscript_expression "param_3[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_3[3] = uVar6;" (assignment_expression "param_3[3] = uVar6" (subscript_expression "param_3[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_3[4] = uVar3;" (assignment_expression "param_3[4] = uVar3" (subscript_expression "param_3[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_3[5] = uVar4;" (assignment_expression "param_3[5] = uVar4" (subscript_expression "param_3[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*param_3 = uVar7;" (assignment_expression "*param_3 = uVar7" (pointer_expression "*param_3" * identifier) = identifier) ;) (expression_statement "param_3[1] = uVar8;" (assignment_expression "param_3[1] = uVar8" (subscript_expression "param_3[1]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "iVar2 = FUN_002111e0(param_2,param_4);" (assignment_expression "iVar2 = FUN_002111e0(param_2,param_4)" identifier = (call_expression "FUN_002111e0(param_2,param_4)" identifier (argument_list "(param_2,param_4)" ( identifier , identifier )))) ;) (if_statement "if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))) {\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }" if (parenthesized_expression "((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5]))))" ( (binary_expression "(iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))" (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) || (parenthesized_expression "((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))" ( (parenthesized_expression "(iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5]))" ( (binary_expression "iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])" (binary_expression "iVar2 == 0" identifier == number_literal) && (parenthesized_expression "((ulong)param_2[5] < (ulong)param_4[5])" ( (binary_expression "(ulong)param_2[5] < (ulong)param_4[5]" (cast_expression "(ulong)param_2[5]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "param_2[5]" identifier [ number_literal ])) < (cast_expression "(ulong)param_4[5]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "param_4[5]" identifier [ number_literal ]))) ))) )) ))) )) (compound_statement "{\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }" { (expression_statement "uVar1 = param_4[1];" (assignment_expression "uVar1 = param_4[1]" identifier = (subscript_expression "param_4[1]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar8 = param_1[1];" (assignment_expression "uVar8 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = param_1[2];" (assignment_expression "uVar5 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = param_1[3];" (assignment_expression "uVar6 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = param_1[4];" (assignment_expression "uVar3 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = param_1[5];" (assignment_expression "uVar4 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "*param_1 = *param_4;" (assignment_expression "*param_1 = *param_4" (pointer_expression "*param_1" * identifier) = (pointer_expression "*param_4" * identifier)) ;) (expression_statement "param_1[1] = uVar1;" (assignment_expression "param_1[1] = uVar1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar1 = param_4[3];" (assignment_expression "uVar1 = param_4[3]" identifier = (subscript_expression "param_4[3]" 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] = uVar1;" (assignment_expression "param_1[3] = uVar1" (subscript_expression "param_1[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar1 = param_4[5];" (assignment_expression "uVar1 = param_4[5]" identifier = (subscript_expression "param_4[5]" identifier [ number_literal ])) ;) (expression_statement "param_1[4] = param_4[4];" (assignment_expression "param_1[4] = param_4[4]" (subscript_expression "param_1[4]" identifier [ number_literal ]) = (subscript_expression "param_4[4]" identifier [ number_literal ])) ;) (expression_statement "param_1[5] = uVar1;" (assignment_expression "param_1[5] = uVar1" (subscript_expression "param_1[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*param_4 = uVar7;" (assignment_expression "*param_4 = uVar7" (pointer_expression "*param_4" * identifier) = identifier) ;) (expression_statement "param_4[1] = uVar8;" (assignment_expression "param_4[1] = uVar8" (subscript_expression "param_4[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[2] = uVar5;" (assignment_expression "param_4[2] = uVar5" (subscript_expression "param_4[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[3] = uVar6;" (assignment_expression "param_4[3] = uVar6" (subscript_expression "param_4[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[4] = uVar3;" (assignment_expression "param_4[4] = uVar3" (subscript_expression "param_4[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[5] = uVar4;" (assignment_expression "param_4[5] = uVar4" (subscript_expression "param_4[5]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "uVar1 = param_2[1];" (assignment_expression "uVar1 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar8 = param_1[1];" (assignment_expression "uVar8 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = param_1[2];" (assignment_expression "uVar5 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = param_1[3];" (assignment_expression "uVar6 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = param_1[4];" (assignment_expression "uVar3 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = param_1[5];" (assignment_expression "uVar4 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "*param_1 = *param_2;" (assignment_expression "*param_1 = *param_2" (pointer_expression "*param_1" * identifier) = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "param_1[1] = uVar1;" (assignment_expression "param_1[1] = uVar1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (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) ;) }) (else_clause "else {\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))) {\n      iVar2 = FUN_002111e0(param_3,param_4);\n      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }" else (compound_statement "{\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))) {\n      iVar2 = FUN_002111e0(param_3,param_4);\n      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }" { (expression_statement "iVar2 = FUN_002111e0(param_2,param_4);" (assignment_expression "iVar2 = FUN_002111e0(param_2,param_4)" identifier = (call_expression "FUN_002111e0(param_2,param_4)" identifier (argument_list "(param_2,param_4)" ( identifier , identifier )))) ;) (if_statement "if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))) {\n      iVar2 = FUN_002111e0(param_3,param_4);\n      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }" if (parenthesized_expression "((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5]))))" ( (binary_expression "(-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))" (parenthesized_expression "(-1 < iVar2)" ( (binary_expression "-1 < iVar2" number_literal < identifier) )) && (parenthesized_expression "((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))" ( (parenthesized_expression "(iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5]))" ( (binary_expression "iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])" (binary_expression "iVar2 != 0" identifier != number_literal) || (parenthesized_expression "((ulong)param_4[5] <= (ulong)param_2[5])" ( (binary_expression "(ulong)param_4[5] <= (ulong)param_2[5]" (cast_expression "(ulong)param_4[5]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "param_4[5]" identifier [ number_literal ])) <= (cast_expression "(ulong)param_2[5]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) ))) )) ))) )) (compound_statement "{\n      iVar2 = FUN_002111e0(param_3,param_4);\n      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }" { (expression_statement "iVar2 = FUN_002111e0(param_3,param_4);" (assignment_expression "iVar2 = FUN_002111e0(param_3,param_4)" identifier = (call_expression "FUN_002111e0(param_3,param_4)" identifier (argument_list "(param_3,param_4)" ( identifier , identifier )))) ;) (if_statement "if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }" if (parenthesized_expression "((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5]))))" ( (binary_expression "(-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))" (parenthesized_expression "(-1 < iVar2)" ( (binary_expression "-1 < iVar2" number_literal < identifier) )) && (parenthesized_expression "((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))" ( (parenthesized_expression "(iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5]))" ( (binary_expression "iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])" (binary_expression "iVar2 != 0" identifier != number_literal) || (parenthesized_expression "((ulong)param_4[5] <= (ulong)param_3[5])" ( (binary_expression "(ulong)param_4[5] <= (ulong)param_3[5]" (cast_expression "(ulong)param_4[5]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "param_4[5]" identifier [ number_literal ])) <= (cast_expression "(ulong)param_3[5]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "param_3[5]" identifier [ number_literal ]))) ))) )) ))) )) (compound_statement "{\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }" { (expression_statement "uVar1 = param_3[1];" (assignment_expression "uVar1 = param_3[1]" identifier = (subscript_expression "param_3[1]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar8 = param_1[1];" (assignment_expression "uVar8 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = param_1[2];" (assignment_expression "uVar5 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = param_1[3];" (assignment_expression "uVar6 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = param_1[4];" (assignment_expression "uVar3 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = param_1[5];" (assignment_expression "uVar4 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "*param_1 = *param_3;" (assignment_expression "*param_1 = *param_3" (pointer_expression "*param_1" * identifier) = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "param_1[1] = uVar1;" (assignment_expression "param_1[1] = uVar1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar1 = param_3[3];" (assignment_expression "uVar1 = param_3[3]" identifier = (subscript_expression "param_3[3]" identifier [ number_literal ])) ;) (expression_statement "param_1[2] = param_3[2];" (assignment_expression "param_1[2] = param_3[2]" (subscript_expression "param_1[2]" identifier [ number_literal ]) = (subscript_expression "param_3[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 "uVar1 = param_3[5];" (assignment_expression "uVar1 = param_3[5]" identifier = (subscript_expression "param_3[5]" identifier [ number_literal ])) ;) (expression_statement "param_1[4] = param_3[4];" (assignment_expression "param_1[4] = param_3[4]" (subscript_expression "param_1[4]" identifier [ number_literal ]) = (subscript_expression "param_3[4]" identifier [ number_literal ])) ;) (expression_statement "param_1[5] = uVar1;" (assignment_expression "param_1[5] = uVar1" (subscript_expression "param_1[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_3[2] = uVar5;" (assignment_expression "param_3[2] = uVar5" (subscript_expression "param_3[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_3[3] = uVar6;" (assignment_expression "param_3[3] = uVar6" (subscript_expression "param_3[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_3[4] = uVar3;" (assignment_expression "param_3[4] = uVar3" (subscript_expression "param_3[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_3[5] = uVar4;" (assignment_expression "param_3[5] = uVar4" (subscript_expression "param_3[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*param_3 = uVar7;" (assignment_expression "*param_3 = uVar7" (pointer_expression "*param_3" * identifier) = identifier) ;) (expression_statement "param_3[1] = uVar8;" (assignment_expression "param_3[1] = uVar8" (subscript_expression "param_3[1]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "uVar1 = param_4[1];" (assignment_expression "uVar1 = param_4[1]" identifier = (subscript_expression "param_4[1]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar8 = param_1[1];" (assignment_expression "uVar8 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = param_1[2];" (assignment_expression "uVar5 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = param_1[3];" (assignment_expression "uVar6 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = param_1[4];" (assignment_expression "uVar3 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = param_1[5];" (assignment_expression "uVar4 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "*param_1 = *param_4;" (assignment_expression "*param_1 = *param_4" (pointer_expression "*param_1" * identifier) = (pointer_expression "*param_4" * identifier)) ;) (expression_statement "param_1[1] = uVar1;" (assignment_expression "param_1[1] = uVar1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar1 = param_4[3];" (assignment_expression "uVar1 = param_4[3]" identifier = (subscript_expression "param_4[3]" 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] = uVar1;" (assignment_expression "param_1[3] = uVar1" (subscript_expression "param_1[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar1 = param_4[5];" (assignment_expression "uVar1 = param_4[5]" identifier = (subscript_expression "param_4[5]" identifier [ number_literal ])) ;) (expression_statement "param_1[4] = param_4[4];" (assignment_expression "param_1[4] = param_4[4]" (subscript_expression "param_1[4]" identifier [ number_literal ]) = (subscript_expression "param_4[4]" identifier [ number_literal ])) ;) (expression_statement "param_1[5] = uVar1;" (assignment_expression "param_1[5] = uVar1" (subscript_expression "param_1[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*param_4 = uVar7;" (assignment_expression "*param_4 = uVar7" (pointer_expression "*param_4" * identifier) = identifier) ;) (expression_statement "param_4[1] = uVar8;" (assignment_expression "param_4[1] = uVar8" (subscript_expression "param_4[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[2] = uVar5;" (assignment_expression "param_4[2] = uVar5" (subscript_expression "param_4[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[3] = uVar6;" (assignment_expression "param_4[3] = uVar6" (subscript_expression "param_4[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[4] = uVar3;" (assignment_expression "param_4[4] = uVar3" (subscript_expression "param_4[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_4[5] = uVar4;" (assignment_expression "param_4[5] = uVar4" (subscript_expression "param_4[5]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "uVar1 = param_2[1];" (assignment_expression "uVar1 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar8 = param_1[1];" (assignment_expression "uVar8 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = param_1[2];" (assignment_expression "uVar5 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = param_1[3];" (assignment_expression "uVar6 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = param_1[4];" (assignment_expression "uVar3 = param_1[4]" identifier = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = param_1[5];" (assignment_expression "uVar4 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "*param_1 = *param_2;" (assignment_expression "*param_1 = *param_2" (pointer_expression "*param_1" * identifier) = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "param_1[1] = uVar1;" (assignment_expression "param_1[1] = uVar1" (subscript_expression "param_1[1]" identifier [ number_literal ]) = identifier) ;) (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 "uVar1 = param_2[5];" (assignment_expression "uVar1 = param_2[5]" identifier = (subscript_expression "param_2[5]" identifier [ number_literal ])) ;) (expression_statement "param_1[4] = param_2[4];" (assignment_expression "param_1[4] = param_2[4]" (subscript_expression "param_1[4]" identifier [ number_literal ]) = (subscript_expression "param_2[4]" identifier [ number_literal ])) ;) (expression_statement "param_1[5] = uVar1;" (assignment_expression "param_1[5] = uVar1" (subscript_expression "param_1[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[2] = uVar5;" (assignment_expression "param_2[2] = uVar5" (subscript_expression "param_2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[3] = uVar6;" (assignment_expression "param_2[3] = uVar6" (subscript_expression "param_2[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[4] = uVar3;" (assignment_expression "param_2[4] = uVar3" (subscript_expression "param_2[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[5] = uVar4;" (assignment_expression "param_2[5] = uVar4" (subscript_expression "param_2[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*param_2 = uVar7;" (assignment_expression "*param_2 = uVar7" (pointer_expression "*param_2" * identifier) = identifier) ;) (expression_statement "param_2[1] = uVar8;" (assignment_expression "param_2[1] = uVar8" (subscript_expression "param_2[1]" 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 = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )) ))) )) (compound_statement { (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 = (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 IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 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) ;) (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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )) ))) )) (compound_statement { (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 = (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 IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 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 (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 (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 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 = (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 IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )) ))) )) (compound_statement { (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 = (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 IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 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) ;) (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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return ;) })) (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 = (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 IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 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 (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 (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 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 = (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 IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 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) ;) (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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return ;) })))
(function_definition "void FUN_002175c0(undefined8 *param_1,undefined8 *param_2,undefined8 *param_3,undefined8 *param_4)\n\n{\n  undefined8 uVar1;\n  int iVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  \n  iVar2 = FUN_002111e0(param_2,param_3);\n  if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5])))) {\n    iVar2 = FUN_002111e0(param_3,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))) {\n      uVar1 = param_3[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_3;\n      param_1[1] = uVar1;\n      uVar1 = param_3[3];\n      param_1[2] = param_3[2];\n      param_1[3] = uVar1;\n      uVar1 = param_3[5];\n      param_1[4] = param_3[4];\n      param_1[5] = uVar1;\n      param_3[2] = uVar5;\n      param_3[3] = uVar6;\n      param_3[4] = uVar3;\n      param_3[5] = uVar4;\n      *param_3 = uVar7;\n      param_3[1] = uVar8;\n      return;\n    }\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))) {\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }\n  else {\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))) {\n      iVar2 = FUN_002111e0(param_3,param_4);\n      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }\n  uVar1 = param_2[5];\n  param_1[4] = param_2[4];\n  param_1[5] = uVar1;\n  param_2[2] = uVar5;\n  param_2[3] = uVar6;\n  param_2[4] = uVar3;\n  param_2[5] = uVar4;\n  *param_2 = uVar7;\n  param_2[1] = uVar8;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_002175c0(undefined8 *param_1,undefined8 *param_2,undefined8 *param_3,undefined8 *param_4)" (identifier "FUN_002175c0") (parameter_list "(undefined8 *param_1,undefined8 *param_2,undefined8 *param_3,undefined8 *param_4)" (( "(") (parameter_declaration "undefined8 *param_1" (type_identifier "undefined8") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined8 *param_2" (type_identifier "undefined8") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "undefined8 *param_3" (type_identifier "undefined8") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "undefined8 *param_4" (type_identifier "undefined8") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")"))) (compound_statement "{\n  undefined8 uVar1;\n  int iVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  \n  iVar2 = FUN_002111e0(param_2,param_3);\n  if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5])))) {\n    iVar2 = FUN_002111e0(param_3,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))) {\n      uVar1 = param_3[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_3;\n      param_1[1] = uVar1;\n      uVar1 = param_3[3];\n      param_1[2] = param_3[2];\n      param_1[3] = uVar1;\n      uVar1 = param_3[5];\n      param_1[4] = param_3[4];\n      param_1[5] = uVar1;\n      param_3[2] = uVar5;\n      param_3[3] = uVar6;\n      param_3[4] = uVar3;\n      param_3[5] = uVar4;\n      *param_3 = uVar7;\n      param_3[1] = uVar8;\n      return;\n    }\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))) {\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }\n  else {\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))) {\n      iVar2 = FUN_002111e0(param_3,param_4);\n      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }\n  uVar1 = param_2[5];\n  param_1[4] = param_2[4];\n  param_1[5] = uVar1;\n  param_2[2] = uVar5;\n  param_2[3] = uVar6;\n  param_2[4] = uVar3;\n  param_2[5] = uVar4;\n  *param_2 = uVar7;\n  param_2[1] = uVar8;\n  return;\n}" ({ "{") (declaration "undefined8 uVar1;" (type_identifier "undefined8") (identifier "uVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined8 uVar3;" (type_identifier "undefined8") (identifier "uVar3") (; ";")) (declaration "undefined8 uVar4;" (type_identifier "undefined8") (identifier "uVar4") (; ";")) (declaration "undefined8 uVar5;" (type_identifier "undefined8") (identifier "uVar5") (; ";")) (declaration "undefined8 uVar6;" (type_identifier "undefined8") (identifier "uVar6") (; ";")) (declaration "undefined8 uVar7;" (type_identifier "undefined8") (identifier "uVar7") (; ";")) (declaration "undefined8 uVar8;" (type_identifier "undefined8") (identifier "uVar8") (; ";")) (expression_statement "iVar2 = FUN_002111e0(param_2,param_3);" (assignment_expression "iVar2 = FUN_002111e0(param_2,param_3)" (identifier "iVar2") (= "=") (call_expression "FUN_002111e0(param_2,param_3)" (identifier "FUN_002111e0") (argument_list "(param_2,param_3)" (( "(") (identifier "param_2") (, ",") (identifier "param_3") () ")")))) (; ";")) (if_statement "if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5])))) {\n    iVar2 = FUN_002111e0(param_3,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))) {\n      uVar1 = param_3[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_3;\n      param_1[1] = uVar1;\n      uVar1 = param_3[3];\n      param_1[2] = param_3[2];\n      param_1[3] = uVar1;\n      uVar1 = param_3[5];\n      param_1[4] = param_3[4];\n      param_1[5] = uVar1;\n      param_3[2] = uVar5;\n      param_3[3] = uVar6;\n      param_3[4] = uVar3;\n      param_3[5] = uVar4;\n      *param_3 = uVar7;\n      param_3[1] = uVar8;\n      return;\n    }\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))) {\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }\n  else {\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))) {\n      iVar2 = FUN_002111e0(param_3,param_4);\n      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }" (if "if") (parenthesized_expression "((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5]))))" (( "(") (binary_expression "(iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5])))" (parenthesized_expression "(iVar2 < 0)" (( "(") (binary_expression "iVar2 < 0" (identifier "iVar2") (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5])))" (( "(") (parenthesized_expression "(iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5]))" (( "(") (binary_expression "iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5])" (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "((ulong)param_2[5] < (ulong)param_3[5])" (( "(") (binary_expression "(ulong)param_2[5] < (ulong)param_3[5]" (cast_expression "(ulong)param_2[5]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]"))) (< "<") (cast_expression "(ulong)param_3[5]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (subscript_expression "param_3[5]" (identifier "param_3") ([ "[") (number_literal "5") (] "]")))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n    iVar2 = FUN_002111e0(param_3,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))) {\n      uVar1 = param_3[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_3;\n      param_1[1] = uVar1;\n      uVar1 = param_3[3];\n      param_1[2] = param_3[2];\n      param_1[3] = uVar1;\n      uVar1 = param_3[5];\n      param_1[4] = param_3[4];\n      param_1[5] = uVar1;\n      param_3[2] = uVar5;\n      param_3[3] = uVar6;\n      param_3[4] = uVar3;\n      param_3[5] = uVar4;\n      *param_3 = uVar7;\n      param_3[1] = uVar8;\n      return;\n    }\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))) {\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }" ({ "{") (expression_statement "iVar2 = FUN_002111e0(param_3,param_4);" (assignment_expression "iVar2 = FUN_002111e0(param_3,param_4)" (identifier "iVar2") (= "=") (call_expression "FUN_002111e0(param_3,param_4)" (identifier "FUN_002111e0") (argument_list "(param_3,param_4)" (( "(") (identifier "param_3") (, ",") (identifier "param_4") () ")")))) (; ";")) (if_statement "if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))) {\n      uVar1 = param_3[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_3;\n      param_1[1] = uVar1;\n      uVar1 = param_3[3];\n      param_1[2] = param_3[2];\n      param_1[3] = uVar1;\n      uVar1 = param_3[5];\n      param_1[4] = param_3[4];\n      param_1[5] = uVar1;\n      param_3[2] = uVar5;\n      param_3[3] = uVar6;\n      param_3[4] = uVar3;\n      param_3[5] = uVar4;\n      *param_3 = uVar7;\n      param_3[1] = uVar8;\n      return;\n    }" (if "if") (parenthesized_expression "((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5]))))" (( "(") (binary_expression "(iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))" (parenthesized_expression "(iVar2 < 0)" (( "(") (binary_expression "iVar2 < 0" (identifier "iVar2") (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))" (( "(") (parenthesized_expression "(iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5]))" (( "(") (binary_expression "iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])" (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "((ulong)param_3[5] < (ulong)param_4[5])" (( "(") (binary_expression "(ulong)param_3[5] < (ulong)param_4[5]" (cast_expression "(ulong)param_3[5]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (subscript_expression "param_3[5]" (identifier "param_3") ([ "[") (number_literal "5") (] "]"))) (< "<") (cast_expression "(ulong)param_4[5]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (subscript_expression "param_4[5]" (identifier "param_4") ([ "[") (number_literal "5") (] "]")))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      uVar1 = param_3[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_3;\n      param_1[1] = uVar1;\n      uVar1 = param_3[3];\n      param_1[2] = param_3[2];\n      param_1[3] = uVar1;\n      uVar1 = param_3[5];\n      param_1[4] = param_3[4];\n      param_1[5] = uVar1;\n      param_3[2] = uVar5;\n      param_3[3] = uVar6;\n      param_3[4] = uVar3;\n      param_3[5] = uVar4;\n      *param_3 = uVar7;\n      param_3[1] = uVar8;\n      return;\n    }" ({ "{") (expression_statement "uVar1 = param_3[1];" (assignment_expression "uVar1 = param_3[1]" (identifier "uVar1") (= "=") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" (identifier "uVar7") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "uVar8 = param_1[1];" (assignment_expression "uVar8 = param_1[1]" (identifier "uVar8") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar5 = param_1[2];" (assignment_expression "uVar5 = param_1[2]" (identifier "uVar5") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar6 = param_1[3];" (assignment_expression "uVar6 = param_1[3]" (identifier "uVar6") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar3 = param_1[4];" (assignment_expression "uVar3 = param_1[4]" (identifier "uVar3") (= "=") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "uVar4 = param_1[5];" (assignment_expression "uVar4 = param_1[5]" (identifier "uVar4") (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "*param_1 = *param_3;" (assignment_expression "*param_1 = *param_3" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (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 "uVar1 = param_3[3];" (assignment_expression "uVar1 = param_3[3]" (identifier "uVar1") (= "=") (subscript_expression "param_3[3]" (identifier "param_3") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "param_1[2] = param_3[2];" (assignment_expression "param_1[2] = param_3[2]" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (subscript_expression "param_3[2]" (identifier "param_3") ([ "[") (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 "uVar1 = param_3[5];" (assignment_expression "uVar1 = param_3[5]" (identifier "uVar1") (= "=") (subscript_expression "param_3[5]" (identifier "param_3") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "param_1[4] = param_3[4];" (assignment_expression "param_1[4] = param_3[4]" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (subscript_expression "param_3[4]" (identifier "param_3") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "param_1[5] = uVar1;" (assignment_expression "param_1[5] = uVar1" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "param_3[2] = uVar5;" (assignment_expression "param_3[2] = uVar5" (subscript_expression "param_3[2]" (identifier "param_3") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "param_3[3] = uVar6;" (assignment_expression "param_3[3] = uVar6" (subscript_expression "param_3[3]" (identifier "param_3") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "param_3[4] = uVar3;" (assignment_expression "param_3[4] = uVar3" (subscript_expression "param_3[4]" (identifier "param_3") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "param_3[5] = uVar4;" (assignment_expression "param_3[5] = uVar4" (subscript_expression "param_3[5]" (identifier "param_3") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "*param_3 = uVar7;" (assignment_expression "*param_3 = uVar7" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "param_3[1] = uVar8;" (assignment_expression "param_3[1] = uVar8" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar2 = FUN_002111e0(param_2,param_4);" (assignment_expression "iVar2 = FUN_002111e0(param_2,param_4)" (identifier "iVar2") (= "=") (call_expression "FUN_002111e0(param_2,param_4)" (identifier "FUN_002111e0") (argument_list "(param_2,param_4)" (( "(") (identifier "param_2") (, ",") (identifier "param_4") () ")")))) (; ";")) (if_statement "if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))) {\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }" (if "if") (parenthesized_expression "((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5]))))" (( "(") (binary_expression "(iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))" (parenthesized_expression "(iVar2 < 0)" (( "(") (binary_expression "iVar2 < 0" (identifier "iVar2") (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))" (( "(") (parenthesized_expression "(iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5]))" (( "(") (binary_expression "iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])" (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "((ulong)param_2[5] < (ulong)param_4[5])" (( "(") (binary_expression "(ulong)param_2[5] < (ulong)param_4[5]" (cast_expression "(ulong)param_2[5]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]"))) (< "<") (cast_expression "(ulong)param_4[5]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (subscript_expression "param_4[5]" (identifier "param_4") ([ "[") (number_literal "5") (] "]")))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }" ({ "{") (expression_statement "uVar1 = param_4[1];" (assignment_expression "uVar1 = param_4[1]" (identifier "uVar1") (= "=") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" (identifier "uVar7") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "uVar8 = param_1[1];" (assignment_expression "uVar8 = param_1[1]" (identifier "uVar8") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar5 = param_1[2];" (assignment_expression "uVar5 = param_1[2]" (identifier "uVar5") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar6 = param_1[3];" (assignment_expression "uVar6 = param_1[3]" (identifier "uVar6") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar3 = param_1[4];" (assignment_expression "uVar3 = param_1[4]" (identifier "uVar3") (= "=") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "uVar4 = param_1[5];" (assignment_expression "uVar4 = param_1[5]" (identifier "uVar4") (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "*param_1 = *param_4;" (assignment_expression "*param_1 = *param_4" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (pointer_expression "*param_4" (* "*") (identifier "param_4"))) (; ";")) (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 "uVar1 = param_4[3];" (assignment_expression "uVar1 = param_4[3]" (identifier "uVar1") (= "=") (subscript_expression "param_4[3]" (identifier "param_4") ([ "[") (number_literal "3") (] "]"))) (; ";")) (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] = uVar1;" (assignment_expression "param_1[3] = uVar1" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "uVar1 = param_4[5];" (assignment_expression "uVar1 = param_4[5]" (identifier "uVar1") (= "=") (subscript_expression "param_4[5]" (identifier "param_4") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "param_1[4] = param_4[4];" (assignment_expression "param_1[4] = param_4[4]" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (subscript_expression "param_4[4]" (identifier "param_4") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "param_1[5] = uVar1;" (assignment_expression "param_1[5] = uVar1" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "*param_4 = uVar7;" (assignment_expression "*param_4 = uVar7" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "param_4[1] = uVar8;" (assignment_expression "param_4[1] = uVar8" (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "param_4[2] = uVar5;" (assignment_expression "param_4[2] = uVar5" (subscript_expression "param_4[2]" (identifier "param_4") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "param_4[3] = uVar6;" (assignment_expression "param_4[3] = uVar6" (subscript_expression "param_4[3]" (identifier "param_4") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "param_4[4] = uVar3;" (assignment_expression "param_4[4] = uVar3" (subscript_expression "param_4[4]" (identifier "param_4") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "param_4[5] = uVar4;" (assignment_expression "param_4[5] = uVar4" (subscript_expression "param_4[5]" (identifier "param_4") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (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 "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" (identifier "uVar7") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "uVar8 = param_1[1];" (assignment_expression "uVar8 = param_1[1]" (identifier "uVar8") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar5 = param_1[2];" (assignment_expression "uVar5 = param_1[2]" (identifier "uVar5") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar6 = param_1[3];" (assignment_expression "uVar6 = param_1[3]" (identifier "uVar6") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar3 = param_1[4];" (assignment_expression "uVar3 = param_1[4]" (identifier "uVar3") (= "=") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "uVar4 = param_1[5];" (assignment_expression "uVar4 = param_1[5]" (identifier "uVar4") (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "*param_1 = *param_2;" (assignment_expression "*param_1 = *param_2" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (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 "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")) (; ";")) (} "}")) (else_clause "else {\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))) {\n      iVar2 = FUN_002111e0(param_3,param_4);\n      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }" (else "else") (compound_statement "{\n    iVar2 = FUN_002111e0(param_2,param_4);\n    if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))) {\n      iVar2 = FUN_002111e0(param_3,param_4);\n      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }\n    uVar1 = param_2[1];\n    uVar7 = *param_1;\n    uVar8 = param_1[1];\n    uVar5 = param_1[2];\n    uVar6 = param_1[3];\n    uVar3 = param_1[4];\n    uVar4 = param_1[5];\n    *param_1 = *param_2;\n    param_1[1] = uVar1;\n    uVar1 = param_2[3];\n    param_1[2] = param_2[2];\n    param_1[3] = uVar1;\n  }" ({ "{") (expression_statement "iVar2 = FUN_002111e0(param_2,param_4);" (assignment_expression "iVar2 = FUN_002111e0(param_2,param_4)" (identifier "iVar2") (= "=") (call_expression "FUN_002111e0(param_2,param_4)" (identifier "FUN_002111e0") (argument_list "(param_2,param_4)" (( "(") (identifier "param_2") (, ",") (identifier "param_4") () ")")))) (; ";")) (if_statement "if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))) {\n      iVar2 = FUN_002111e0(param_3,param_4);\n      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }" (if "if") (parenthesized_expression "((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5]))))" (( "(") (binary_expression "(-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))" (parenthesized_expression "(-1 < iVar2)" (( "(") (binary_expression "-1 < iVar2" (number_literal "-1") (< "<") (identifier "iVar2")) () ")")) (&& "&&") (parenthesized_expression "((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))" (( "(") (parenthesized_expression "(iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5]))" (( "(") (binary_expression "iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])" (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((ulong)param_4[5] <= (ulong)param_2[5])" (( "(") (binary_expression "(ulong)param_4[5] <= (ulong)param_2[5]" (cast_expression "(ulong)param_4[5]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (subscript_expression "param_4[5]" (identifier "param_4") ([ "[") (number_literal "5") (] "]"))) (<= "<=") (cast_expression "(ulong)param_2[5]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      iVar2 = FUN_002111e0(param_3,param_4);\n      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }\n      uVar1 = param_4[1];\n      uVar7 = *param_1;\n      uVar8 = param_1[1];\n      uVar5 = param_1[2];\n      uVar6 = param_1[3];\n      uVar3 = param_1[4];\n      uVar4 = param_1[5];\n      *param_1 = *param_4;\n      param_1[1] = uVar1;\n      uVar1 = param_4[3];\n      param_1[2] = param_4[2];\n      param_1[3] = uVar1;\n      uVar1 = param_4[5];\n      param_1[4] = param_4[4];\n      param_1[5] = uVar1;\n      *param_4 = uVar7;\n      param_4[1] = uVar8;\n      param_4[2] = uVar5;\n      param_4[3] = uVar6;\n      param_4[4] = uVar3;\n      param_4[5] = uVar4;\n      return;\n    }" ({ "{") (expression_statement "iVar2 = FUN_002111e0(param_3,param_4);" (assignment_expression "iVar2 = FUN_002111e0(param_3,param_4)" (identifier "iVar2") (= "=") (call_expression "FUN_002111e0(param_3,param_4)" (identifier "FUN_002111e0") (argument_list "(param_3,param_4)" (( "(") (identifier "param_3") (, ",") (identifier "param_4") () ")")))) (; ";")) (if_statement "if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }" (if "if") (parenthesized_expression "((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5]))))" (( "(") (binary_expression "(-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))" (parenthesized_expression "(-1 < iVar2)" (( "(") (binary_expression "-1 < iVar2" (number_literal "-1") (< "<") (identifier "iVar2")) () ")")) (&& "&&") (parenthesized_expression "((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))" (( "(") (parenthesized_expression "(iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5]))" (( "(") (binary_expression "iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])" (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((ulong)param_4[5] <= (ulong)param_3[5])" (( "(") (binary_expression "(ulong)param_4[5] <= (ulong)param_3[5]" (cast_expression "(ulong)param_4[5]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (subscript_expression "param_4[5]" (identifier "param_4") ([ "[") (number_literal "5") (] "]"))) (<= "<=") (cast_expression "(ulong)param_3[5]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (subscript_expression "param_3[5]" (identifier "param_3") ([ "[") (number_literal "5") (] "]")))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        uVar1 = param_3[1];\n        uVar7 = *param_1;\n        uVar8 = param_1[1];\n        uVar5 = param_1[2];\n        uVar6 = param_1[3];\n        uVar3 = param_1[4];\n        uVar4 = param_1[5];\n        *param_1 = *param_3;\n        param_1[1] = uVar1;\n        uVar1 = param_3[3];\n        param_1[2] = param_3[2];\n        param_1[3] = uVar1;\n        uVar1 = param_3[5];\n        param_1[4] = param_3[4];\n        param_1[5] = uVar1;\n        param_3[2] = uVar5;\n        param_3[3] = uVar6;\n        param_3[4] = uVar3;\n        param_3[5] = uVar4;\n        *param_3 = uVar7;\n        param_3[1] = uVar8;\n        return;\n      }" ({ "{") (expression_statement "uVar1 = param_3[1];" (assignment_expression "uVar1 = param_3[1]" (identifier "uVar1") (= "=") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" (identifier "uVar7") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "uVar8 = param_1[1];" (assignment_expression "uVar8 = param_1[1]" (identifier "uVar8") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar5 = param_1[2];" (assignment_expression "uVar5 = param_1[2]" (identifier "uVar5") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar6 = param_1[3];" (assignment_expression "uVar6 = param_1[3]" (identifier "uVar6") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar3 = param_1[4];" (assignment_expression "uVar3 = param_1[4]" (identifier "uVar3") (= "=") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "uVar4 = param_1[5];" (assignment_expression "uVar4 = param_1[5]" (identifier "uVar4") (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "*param_1 = *param_3;" (assignment_expression "*param_1 = *param_3" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (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 "uVar1 = param_3[3];" (assignment_expression "uVar1 = param_3[3]" (identifier "uVar1") (= "=") (subscript_expression "param_3[3]" (identifier "param_3") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "param_1[2] = param_3[2];" (assignment_expression "param_1[2] = param_3[2]" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (subscript_expression "param_3[2]" (identifier "param_3") ([ "[") (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 "uVar1 = param_3[5];" (assignment_expression "uVar1 = param_3[5]" (identifier "uVar1") (= "=") (subscript_expression "param_3[5]" (identifier "param_3") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "param_1[4] = param_3[4];" (assignment_expression "param_1[4] = param_3[4]" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (subscript_expression "param_3[4]" (identifier "param_3") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "param_1[5] = uVar1;" (assignment_expression "param_1[5] = uVar1" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "param_3[2] = uVar5;" (assignment_expression "param_3[2] = uVar5" (subscript_expression "param_3[2]" (identifier "param_3") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "param_3[3] = uVar6;" (assignment_expression "param_3[3] = uVar6" (subscript_expression "param_3[3]" (identifier "param_3") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "param_3[4] = uVar3;" (assignment_expression "param_3[4] = uVar3" (subscript_expression "param_3[4]" (identifier "param_3") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "param_3[5] = uVar4;" (assignment_expression "param_3[5] = uVar4" (subscript_expression "param_3[5]" (identifier "param_3") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "*param_3 = uVar7;" (assignment_expression "*param_3 = uVar7" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "param_3[1] = uVar8;" (assignment_expression "param_3[1] = uVar8" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar1 = param_4[1];" (assignment_expression "uVar1 = param_4[1]" (identifier "uVar1") (= "=") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" (identifier "uVar7") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "uVar8 = param_1[1];" (assignment_expression "uVar8 = param_1[1]" (identifier "uVar8") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar5 = param_1[2];" (assignment_expression "uVar5 = param_1[2]" (identifier "uVar5") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar6 = param_1[3];" (assignment_expression "uVar6 = param_1[3]" (identifier "uVar6") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar3 = param_1[4];" (assignment_expression "uVar3 = param_1[4]" (identifier "uVar3") (= "=") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "uVar4 = param_1[5];" (assignment_expression "uVar4 = param_1[5]" (identifier "uVar4") (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "*param_1 = *param_4;" (assignment_expression "*param_1 = *param_4" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (pointer_expression "*param_4" (* "*") (identifier "param_4"))) (; ";")) (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 "uVar1 = param_4[3];" (assignment_expression "uVar1 = param_4[3]" (identifier "uVar1") (= "=") (subscript_expression "param_4[3]" (identifier "param_4") ([ "[") (number_literal "3") (] "]"))) (; ";")) (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] = uVar1;" (assignment_expression "param_1[3] = uVar1" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "uVar1 = param_4[5];" (assignment_expression "uVar1 = param_4[5]" (identifier "uVar1") (= "=") (subscript_expression "param_4[5]" (identifier "param_4") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "param_1[4] = param_4[4];" (assignment_expression "param_1[4] = param_4[4]" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (subscript_expression "param_4[4]" (identifier "param_4") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "param_1[5] = uVar1;" (assignment_expression "param_1[5] = uVar1" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "*param_4 = uVar7;" (assignment_expression "*param_4 = uVar7" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "param_4[1] = uVar8;" (assignment_expression "param_4[1] = uVar8" (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "param_4[2] = uVar5;" (assignment_expression "param_4[2] = uVar5" (subscript_expression "param_4[2]" (identifier "param_4") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "param_4[3] = uVar6;" (assignment_expression "param_4[3] = uVar6" (subscript_expression "param_4[3]" (identifier "param_4") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "param_4[4] = uVar3;" (assignment_expression "param_4[4] = uVar3" (subscript_expression "param_4[4]" (identifier "param_4") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "param_4[5] = uVar4;" (assignment_expression "param_4[5] = uVar4" (subscript_expression "param_4[5]" (identifier "param_4") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (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 "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" (identifier "uVar7") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "uVar8 = param_1[1];" (assignment_expression "uVar8 = param_1[1]" (identifier "uVar8") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar5 = param_1[2];" (assignment_expression "uVar5 = param_1[2]" (identifier "uVar5") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar6 = param_1[3];" (assignment_expression "uVar6 = param_1[3]" (identifier "uVar6") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar3 = param_1[4];" (assignment_expression "uVar3 = param_1[4]" (identifier "uVar3") (= "=") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "uVar4 = param_1[5];" (assignment_expression "uVar4 = param_1[5]" (identifier "uVar4") (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "*param_1 = *param_2;" (assignment_expression "*param_1 = *param_2" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (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 "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 "uVar1 = param_2[5];" (assignment_expression "uVar1 = param_2[5]" (identifier "uVar1") (= "=") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "param_1[4] = param_2[4];" (assignment_expression "param_1[4] = param_2[4]" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "param_1[5] = uVar1;" (assignment_expression "param_1[5] = uVar1" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "param_2[2] = uVar5;" (assignment_expression "param_2[2] = uVar5" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "param_2[3] = uVar6;" (assignment_expression "param_2[3] = uVar6" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "param_2[4] = uVar3;" (assignment_expression "param_2[4] = uVar3" (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "param_2[5] = uVar4;" (assignment_expression "param_2[5] = uVar4" (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "*param_2 = uVar7;" (assignment_expression "*param_2 = uVar7" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "param_2[1] = uVar8;" (assignment_expression "param_2[1] = uVar8" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (= "=") (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<gold::Output_reloc<4,
   true, 64, false>*, std::vector<gold::Output_reloc<4, true, 64, false>,
   std::allocator<gold::Output_reloc<4, true, 64, false> > > >,
   __gnu_cxx::__ops::_Iter_comp_iter<gold::Output_data_reloc_base<4, true, 64,
   false>::Sort_relocs_comparison> > */

void std::
     __move_median_to_first<__gnu_cxx::__normal_iterator<gold::var_1<4,type_2,_64,var_4>*,_std::vector<gold::var_1<4,type_2,_64,var_4>,_std::allocator<gold::var_1<4,type_2,_64,var_4>_>_>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Output_data_reloc_base<4,type_2,_64,var_4>::Sort_relocs_comparison>_>
               (type_1 *__result,var_1<9,type_2,_64,var_4> *type_3,
               var_1<9,type_2,_64,var_4> *type_4,var_1<9,type_2,_64,var_4> *__c)

{
  type_1 aVar1;
  int var_3;
  type_1 aVar3;
  type_1 aVar4;
  type_1 aVar5;
  type_1 aVar6;
  type_1 aVar7;
  type_1 aVar8;
  var_1<4,type_2,_64,var_4> var_2;
  
  var_3 = gold::var_1<9,type_2,_64,var_4>::function_1(type_3,type_4);
  if ((var_3 < 0) || ((var_3 == 0 && (type_3[1].u1_.relobj < type_4[1].u1_.relobj)))) {
    var_3 = gold::var_1<9,type_2,_64,var_4>::function_1(type_4,__c);
    if ((var_3 < 0) || ((var_3 == 0 && (type_4[1].u1_.relobj < __c[1].u1_.relobj)))) {
      aVar1 = *(type_1 *)&type_4->u2_;
      aVar7 = *__result;
      aVar8 = __result[1];
      aVar5 = __result[2];
      aVar6 = __result[3];
      aVar3 = __result[4];
      aVar4 = __result[5];
      *__result = type_4->u1_;
      __result[1] = aVar1;
      aVar1 = *(type_1 *)&type_4->local_sym_index_;
      __result[2] = (type_1)type_4->address_;
      __result[3] = aVar1;
      aVar1 = type_4[1].u1_;
      __result[4] = *(type_1 *)&type_4->shndx_;
      __result[5] = aVar1;
      type_4->address_ = (type_5)aVar5;
      *(type_1 *)&type_4->local_sym_index_ = aVar6;
      *(type_1 *)&type_4->shndx_ = aVar3;
      type_4[1].u1_ = aVar4;
      type_4->u1_ = aVar7;
      type_4->u2_ = (type_6)aVar8;
      return;
    }
    var_3 = gold::var_1<9,type_2,_64,var_4>::function_1(type_3,__c);
    if ((var_3 < 0) || ((var_3 == 0 && (type_3[1].u1_.relobj < __c[1].u1_.relobj)))) {
      aVar1 = *(type_1 *)&__c->u2_;
      aVar7 = *__result;
      aVar8 = __result[1];
      aVar5 = __result[2];
      aVar6 = __result[3];
      aVar3 = __result[4];
      aVar4 = __result[5];
      *__result = __c->u1_;
      __result[1] = aVar1;
      aVar1 = *(type_1 *)&__c->local_sym_index_;
      __result[2] = (type_1)__c->address_;
      __result[3] = aVar1;
      aVar1 = __c[1].u1_;
      __result[4] = *(type_1 *)&__c->shndx_;
      __result[5] = aVar1;
      __c->u1_ = aVar7;
      __c->u2_ = (type_6)aVar8;
      __c->address_ = (type_5)aVar5;
      *(type_1 *)&__c->local_sym_index_ = aVar6;
      *(type_1 *)&__c->shndx_ = aVar3;
      __c[1].u1_ = aVar4;
      return;
    }
    aVar1 = *(type_1 *)&type_3->u2_;
    aVar7 = *__result;
    aVar8 = __result[1];
    aVar5 = __result[2];
    aVar6 = __result[3];
    aVar3 = __result[4];
    aVar4 = __result[5];
    *__result = type_3->u1_;
    __result[1] = aVar1;
    aVar1 = *(type_1 *)&type_3->local_sym_index_;
    __result[2] = (type_1)type_3->address_;
    __result[3] = aVar1;
  }
  else {
    var_3 = gold::var_1<9,type_2,_64,var_4>::function_1(type_3,__c);
    if ((-1 < var_3) && ((var_3 != 0 || (__c[1].u1_.relobj <= type_3[1].u1_.relobj)))) {
      var_3 = gold::var_1<9,type_2,_64,var_4>::function_1(type_4,__c);
      if ((-1 < var_3) && ((var_3 != 0 || (__c[1].u1_.relobj <= type_4[1].u1_.relobj)))) {
        aVar1 = *(type_1 *)&type_4->u2_;
        aVar7 = *__result;
        aVar8 = __result[1];
        aVar5 = __result[2];
        aVar6 = __result[3];
        aVar3 = __result[4];
        aVar4 = __result[5];
        *__result = type_4->u1_;
        __result[1] = aVar1;
        aVar1 = *(type_1 *)&type_4->local_sym_index_;
        __result[2] = (type_1)type_4->address_;
        __result[3] = aVar1;
        aVar1 = type_4[1].u1_;
        __result[4] = *(type_1 *)&type_4->shndx_;
        __result[5] = aVar1;
        type_4->address_ = (type_5)aVar5;
        *(type_1 *)&type_4->local_sym_index_ = aVar6;
        *(type_1 *)&type_4->shndx_ = aVar3;
        type_4[1].u1_ = aVar4;
        type_4->u1_ = aVar7;
        type_4->u2_ = (type_6)aVar8;
        return;
      }
      aVar1 = *(type_1 *)&__c->u2_;
      aVar7 = *__result;
      aVar8 = __result[1];
      aVar5 = __result[2];
      aVar6 = __result[3];
      aVar3 = __result[4];
      aVar4 = __result[5];
      *__result = __c->u1_;
      __result[1] = aVar1;
      aVar1 = *(type_1 *)&__c->local_sym_index_;
      __result[2] = (type_1)__c->address_;
      __result[3] = aVar1;
      aVar1 = __c[1].u1_;
      __result[4] = *(type_1 *)&__c->shndx_;
      __result[5] = aVar1;
      __c->u1_ = aVar7;
      __c->u2_ = (type_6)aVar8;
      __c->address_ = (type_5)aVar5;
      *(type_1 *)&__c->local_sym_index_ = aVar6;
      *(type_1 *)&__c->shndx_ = aVar3;
      __c[1].u1_ = aVar4;
      return;
    }
    aVar1 = *(type_1 *)&type_3->u2_;
    aVar7 = *__result;
    aVar8 = __result[1];
    aVar5 = __result[2];
    aVar6 = __result[3];
    aVar3 = __result[4];
    aVar4 = __result[5];
    *__result = type_3->u1_;
    __result[1] = aVar1;
    aVar1 = *(type_1 *)&type_3->local_sym_index_;
    __result[2] = (type_1)type_3->address_;
    __result[3] = aVar1;
  }
  aVar1 = type_3[1].u1_;
  __result[4] = *(type_1 *)&type_3->shndx_;
  __result[5] = aVar1;
  type_3->address_ = (type_5)aVar5;
  *(type_1 *)&type_3->local_sym_index_ = aVar6;
  *(type_1 *)&type_3->shndx_ = aVar3;
  type_3[1].u1_ = aVar4;
  type_3->u1_ = aVar7;
  type_3->u2_ = (type_6)aVar8;
  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: (primitive_type) 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: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))))) consequence: (compound_statement (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: (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: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (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: (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: (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))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))))) consequence: (compound_statement (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: (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: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (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: (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: (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: (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: (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: (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: (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: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (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: (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)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))))))) consequence: (compound_statement (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: (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: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (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: (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: (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))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (return_statement))) (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: (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: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (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: (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: (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: (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: (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: (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: (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: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (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: (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: (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))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (return_statement))))

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

{
  undefined8 uVar1;
  int iVar2;
  undefined8 uVar3;
  undefined8 uVar4;
  undefined8 uVar5;
  undefined8 uVar6;
  undefined8 uVar7;
  undefined8 uVar8;
  
  iVar2 = FUN_002111e0(param_2,param_3);
  if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_3[5])))) {
    iVar2 = FUN_002111e0(param_3,param_4);
    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_3[5] < (ulong)param_4[5])))) {
      uVar1 = param_3[1];
      uVar7 = *param_1;
      uVar8 = param_1[1];
      uVar5 = param_1[2];
      uVar6 = param_1[3];
      uVar3 = param_1[4];
      uVar4 = param_1[5];
      *param_1 = *param_3;
      param_1[1] = uVar1;
      uVar1 = param_3[3];
      param_1[2] = param_3[2];
      param_1[3] = uVar1;
      uVar1 = param_3[5];
      param_1[4] = param_3[4];
      param_1[5] = uVar1;
      param_3[2] = uVar5;
      param_3[3] = uVar6;
      param_3[4] = uVar3;
      param_3[5] = uVar4;
      *param_3 = uVar7;
      param_3[1] = uVar8;
      return;
    }
    iVar2 = FUN_002111e0(param_2,param_4);
    if ((iVar2 < 0) || ((iVar2 == 0 && ((ulong)param_2[5] < (ulong)param_4[5])))) {
      uVar1 = param_4[1];
      uVar7 = *param_1;
      uVar8 = param_1[1];
      uVar5 = param_1[2];
      uVar6 = param_1[3];
      uVar3 = param_1[4];
      uVar4 = param_1[5];
      *param_1 = *param_4;
      param_1[1] = uVar1;
      uVar1 = param_4[3];
      param_1[2] = param_4[2];
      param_1[3] = uVar1;
      uVar1 = param_4[5];
      param_1[4] = param_4[4];
      param_1[5] = uVar1;
      *param_4 = uVar7;
      param_4[1] = uVar8;
      param_4[2] = uVar5;
      param_4[3] = uVar6;
      param_4[4] = uVar3;
      param_4[5] = uVar4;
      return;
    }
    uVar1 = param_2[1];
    uVar7 = *param_1;
    uVar8 = param_1[1];
    uVar5 = param_1[2];
    uVar6 = param_1[3];
    uVar3 = param_1[4];
    uVar4 = param_1[5];
    *param_1 = *param_2;
    param_1[1] = uVar1;
    uVar1 = param_2[3];
    param_1[2] = param_2[2];
    param_1[3] = uVar1;
  }
  else {
    iVar2 = FUN_002111e0(param_2,param_4);
    if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_2[5])))) {
      iVar2 = FUN_002111e0(param_3,param_4);
      if ((-1 < iVar2) && ((iVar2 != 0 || ((ulong)param_4[5] <= (ulong)param_3[5])))) {
        uVar1 = param_3[1];
        uVar7 = *param_1;
        uVar8 = param_1[1];
        uVar5 = param_1[2];
        uVar6 = param_1[3];
        uVar3 = param_1[4];
        uVar4 = param_1[5];
        *param_1 = *param_3;
        param_1[1] = uVar1;
        uVar1 = param_3[3];
        param_1[2] = param_3[2];
        param_1[3] = uVar1;
        uVar1 = param_3[5];
        param_1[4] = param_3[4];
        param_1[5] = uVar1;
        param_3[2] = uVar5;
        param_3[3] = uVar6;
        param_3[4] = uVar3;
        param_3[5] = uVar4;
        *param_3 = uVar7;
        param_3[1] = uVar8;
        return;
      }
      uVar1 = param_4[1];
      uVar7 = *param_1;
      uVar8 = param_1[1];
      uVar5 = param_1[2];
      uVar6 = param_1[3];
      uVar3 = param_1[4];
      uVar4 = param_1[5];
      *param_1 = *param_4;
      param_1[1] = uVar1;
      uVar1 = param_4[3];
      param_1[2] = param_4[2];
      param_1[3] = uVar1;
      uVar1 = param_4[5];
      param_1[4] = param_4[4];
      param_1[5] = uVar1;
      *param_4 = uVar7;
      param_4[1] = uVar8;
      param_4[2] = uVar5;
      param_4[3] = uVar6;
      param_4[4] = uVar3;
      param_4[5] = uVar4;
      return;
    }
    uVar1 = param_2[1];
    uVar7 = *param_1;
    uVar8 = param_1[1];
    uVar5 = param_1[2];
    uVar6 = param_1[3];
    uVar3 = param_1[4];
    uVar4 = param_1[5];
    *param_1 = *param_2;
    param_1[1] = uVar1;
    uVar1 = param_2[3];
    param_1[2] = param_2[2];
    param_1[3] = uVar1;
  }
  uVar1 = param_2[5];
  param_1[4] = param_2[4];
  param_1[5] = uVar1;
  param_2[2] = uVar5;
  param_2[3] = uVar6;
  param_2[4] = uVar3;
  param_2[5] = uVar4;
  *param_2 = uVar7;
  param_2[1] = uVar8;
  return;
}

