
mp_limb_t __gmpn_dcpi1_divappr_q_n
                    (mp_ptr qp,mp_ptr np,mp_srcptr dp,mp_size_t n,gmp_pi1_t *dinv,mp_ptr tp)

{
  bool bVar1;
  mp_limb_t mVar2;
  int iVar3;
  mp_limb_t mVar4;
  mp_ptr pmVar5;
  int iVar6;
  int iVar7;
  int n_00;
  mp_ptr pmVar8;
  mp_ptr pmVar9;
  int iVar10;
  
  n_00 = n >> 1;
  iVar7 = n_00 * 4;
  iVar10 = n - n_00;
  pmVar8 = qp + n_00;
  if (iVar10 < 0x28) {
    mVar2 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)
                      (pmVar8,np + n_00 * 2,iVar10 * 2,dp + n_00,iVar10,dinv->inv32);
  }
  else {
    mVar2 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)
                      (pmVar8,np + n_00 * 2,dp + n_00,iVar10,dinv,tp);
  }
  (*(code *)PTR___gmpn_mul_0009d2b4)(tp,pmVar8,iVar10,dp,n_00);
  pmVar9 = np + n_00;
  iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar9,pmVar9,tp,n);
  if (mVar2 != 0) {
    iVar6 = (*(code *)PTR___gmpn_sub_n_0009d514)(np + n,np + n,dp,n_00);
    iVar3 = iVar3 + iVar6;
  }
  if (iVar3 != 0) {
    do {
      mVar4 = *pmVar8;
      *pmVar8 = mVar4 - 1;
      if (mVar4 == 0) {
        if (iVar10 < 2) {
LAB_00072f80:
          mVar2 = mVar2 - 1;
        }
        else {
          mVar4 = pmVar8[1];
          pmVar8[1] = mVar4 - 1;
          if (mVar4 == 0) {
            if (iVar10 == 2) goto LAB_00072f80;
            mVar4 = pmVar8[2];
            pmVar8[2] = mVar4 - 1;
            if (mVar4 == 0) {
              iVar6 = 3;
              pmVar5 = pmVar8 + 3;
              do {
                bVar1 = iVar10 == iVar6;
                iVar6 = iVar6 + 1;
                if (bVar1) goto LAB_00072f80;
                mVar4 = *pmVar5;
                *pmVar5 = mVar4 - 1;
                pmVar5 = pmVar5 + 1;
              } while (mVar4 == 0);
            }
          }
        }
      }
      iVar6 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar9,pmVar9,dp,n);
      iVar3 = iVar3 - iVar6;
    } while (iVar3 != 0);
  }
  if (n_00 < 200) {
    iVar10 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)
                       (qp,np + iVar10,n_00 << 1,dp + iVar10,n_00,dinv->inv32);
    if (iVar10 == 0) {
      return mVar2;
    }
    if (n_00 < 1) {
      return mVar2;
    }
  }
  else {
    mVar4 = __gmpn_dcpi1_divappr_q_n(qp,np + iVar10,dp + iVar10,n_00,dinv,tp);
    if (mVar4 == 0) {
      return mVar2;
    }
  }
  if (n_00 < 1) {
    iVar7 = 4;
  }
  (*(code *)PTR_memset_0009d2e8)(qp,0xff,iVar7);
  return mVar2;
}



int __gmpn_dcpi1_divappr_q_n
              (int param_1,int param_2,int param_3,int param_4,undefined4 *param_5,
              undefined4 param_6)

{
  bool bVar1;
  int iVar2;
  int iVar3;
  int *piVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  int *piVar9;
  int iVar10;
  int iVar11;
  
  iVar8 = param_4 >> 1;
  iVar5 = iVar8 * 4;
  iVar11 = param_4 - iVar8;
  piVar9 = (int *)(param_1 + iVar5);
  iVar7 = param_2 + iVar8 * 8;
  if (iVar11 < 0x28) {
    iVar7 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)
                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5);
  }
  else {
    iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)
                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6);
  }
  (*(code *)PTR___gmpn_mul_0009d2b4)(param_6,piVar9,iVar11,param_3,iVar8);
  iVar10 = param_2 + iVar5;
  iVar2 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar10,iVar10,param_6,param_4);
  if (iVar7 != 0) {
    iVar3 = param_2 + param_4 * 4;
    iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8);
    iVar2 = iVar2 + iVar3;
  }
  if (iVar2 != 0) {
    do {
      iVar3 = *piVar9;
      *piVar9 = iVar3 + -1;
      if (iVar3 == 0) {
        if (iVar11 < 2) {
LAB_00072f80:
          iVar7 = iVar7 + -1;
        }
        else {
          iVar3 = piVar9[1];
          piVar9[1] = iVar3 + -1;
          if (iVar3 == 0) {
            if (iVar11 == 2) goto LAB_00072f80;
            iVar3 = piVar9[2];
            piVar9[2] = iVar3 + -1;
            if (iVar3 == 0) {
              iVar3 = 3;
              piVar4 = piVar9 + 3;
              do {
                bVar1 = iVar11 == iVar3;
                iVar3 = iVar3 + 1;
                if (bVar1) goto LAB_00072f80;
                iVar6 = *piVar4;
                *piVar4 = iVar6 + -1;
                piVar4 = piVar4 + 1;
              } while (iVar6 == 0);
            }
          }
        }
      }
      iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);
      iVar2 = iVar2 - iVar3;
    } while (iVar2 != 0);
  }
  param_2 = param_2 + iVar11 * 4;
  param_3 = param_3 + iVar11 * 4;
  if (iVar8 < 200) {
    iVar11 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)
                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5);
    if (iVar11 == 0) {
      return iVar7;
    }
    if (iVar8 < 1) {
      return iVar7;
    }
  }
  else {
    iVar11 = __gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6);
    if (iVar11 == 0) {
      return iVar7;
    }
  }
  if (iVar8 < 1) {
    iVar5 = 4;
  }
  (*(code *)PTR_memset_0009d2e8)(param_1,0xff,iVar5);
  return iVar7;
}


lui gp,0x3
addiu gp,gp,0x2230
addu gp,gp,t9
addiu sp,sp,-0x50
sw a0,0x50(sp)
sw s2,0x30(sp)
sra s2,a3,0x1
sw a1,0x54(sp)
sw s8,0x48(sp)
sll a0,s2,0x2
sw s6,0x40(sp)
subu s8,a3,s2
lw a1,0x50(sp)
sll v0,s2,0x3
sw gp,0x18(sp)
slti v1,s8,0x28
sw s1,0x2c(sp)
or s1,a3,zero
addu s6,a1,a0
sw s0,0x28(sp)
sw ra,0x4c(sp)
or s0,a2,zero
sw s7,0x44(sp)
sw s5,0x3c(sp)
sw s4,0x38(sp)
sw s3,0x34(sp)
sw a0,0x24(sp)
lw a1,0x54(sp)
addu a1,a1,v0
beq v1,zero,0x00073020
_addu v0,a2,a0
lw v1,0x60(sp)
sll a2,s8,0x1
lw t9,-0x7c04(gp)
or a3,v0,zero
or a0,s6,zero
lw v1,0x0(v1)
sw s8,0x10(sp)
jalr t9
_sw v1,0x14(sp)
lw gp,0x18(sp)
or s3,v0,zero
lw t9,-0x7d8c(gp)
or a3,s0,zero
lw a0,0x64(sp)
or a2,s8,zero
or a1,s6,zero
jalr t9
_sw s2,0x10(sp)
or a3,s1,zero
lw gp,0x18(sp)
lw v0,0x54(sp)
lw v1,0x24(sp)
lw a2,0x64(sp)
lw t9,-0x7b2c(gp)
addu s7,v0,v1
or a1,s7,zero
jalr t9
_or a0,s7,zero
lw gp,0x18(sp)
bne s3,zero,0x000730ac
_or s4,v0,zero
beq s4,zero,0x00072fac
_lw v1,0x54(sp)
slti s5,s8,0x2
lw v0,0x0(s6)
addiu v1,v0,-0x1
bne v0,zero,0x00072f84
_sw v1,0x0(s6)
bne s5,zero,0x00072f80
_nop
lw v0,0x4(s6)
addiu v1,v0,-0x1
bne v0,zero,0x00072f84
_sw v1,0x4(s6)
li v0,0x2
beq s8,v0,0x00072f80
_nop
lw v0,0x8(s6)
addiu v1,v0,-0x1
bne v0,zero,0x00072f84
_sw v1,0x8(s6)
addiu v0,s6,0xc
b 0x00072f78
_li v1,0x3
lw a0,0x0(v0)
addiu v0,v0,0x4
addiu a1,a0,-0x1
bne a0,zero,0x00072f84
_sw a1,-0x4(v0)
bne s8,v1,0x00072f64
_addiu v1,v1,0x1
addiu s3,s3,-0x1
lw t9,-0x7d0c(gp)
or a3,s1,zero
or a2,s0,zero
or a1,s7,zero
jalr t9
_or a0,s7,zero
subu s4,s4,v0
bne s4,zero,0x00072f14
_lw gp,0x18(sp)
lw v1,0x54(sp)
sll t0,s8,0x2
slti v0,s2,0xc8
addu a1,v1,t0
beq v0,zero,0x00073050
_addu t0,s0,t0
lw v0,0x60(sp)
sll a2,s2,0x1
lw t9,-0x7c2c(gp)
or a3,t0,zero
lw a0,0x50(sp)
lw v0,0x0(v0)
sw s2,0x10(sp)
jalr t9
_sw v0,0x14(sp)
bne v0,zero,0x000730d8
_lw gp,0x18(sp)
lw ra,0x4c(sp)
or v0,s3,zero
lw s8,0x48(sp)
lw s7,0x44(sp)
lw s6,0x40(sp)
lw s5,0x3c(sp)
lw s4,0x38(sp)
lw s3,0x34(sp)
lw s2,0x30(sp)
lw s1,0x2c(sp)
lw s0,0x28(sp)
jr ra
_addiu sp,sp,0x50
lw v1,0x64(sp)
or a2,v0,zero
lw v0,0x60(sp)
or a3,s8,zero
lw t9,-0x7f6c(gp)
or a0,s6,zero
sw v1,0x14(sp)
jalr t9
_sw v0,0x10(sp)
lw gp,0x18(sp)
b 0x00072eb8
_or s3,v0,zero
lw v0,0x64(sp)
or a3,s2,zero
lw t9,-0x7fbc(gp)
or a2,t0,zero
lw a0,0x50(sp)
sw v0,0x14(sp)
lw v0,0x60(sp)
addiu t9,t9,0x2e10
bal 0x00072e10
_sw v0,0x10(sp)
beq v0,zero,0x00072fec
_lw gp,0x18(sp)
lw v1,0x24(sp)
li v0,0x4
slt a2,zero,s2
lw t9,-0x7d58(gp)
lw a0,0x50(sp)
li a1,0xff
movz v1,v0,a2
jalr t9
_or a2,v1,zero
b 0x00072ff0
_lw ra,0x4c(sp)
lw v0,0x54(sp)
sll a1,s1,0x2
lw t9,-0x7b2c(gp)
or a3,s2,zero
or a2,s0,zero
addu a1,v0,a1
jalr t9
_or a0,a1,zero
lw gp,0x18(sp)
b 0x00072f08
_addu s4,s4,v0
bgtz s2,0x00073084
_lw v1,0x24(sp)
b 0x00072ff0
_lw ra,0x4c(sp)
(translation_unit "int __gmpn_dcpi1_divappr_q_n\n              (int param_1,int param_2,int param_3,int param_4,undefined4 *param_5,\n              undefined4 param_6)\n\n{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  int iVar11;\n  \n  iVar8 = param_4 >> 1;\n  iVar5 = iVar8 * 4;\n  iVar11 = param_4 - iVar8;\n  piVar9 = (int *)(param_1 + iVar5);\n  iVar7 = param_2 + iVar8 * 8;\n  if (iVar11 < 0x28) {\n    iVar7 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5);\n  }\n  else {\n    iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6);\n  }\n  (*(code *)PTR___gmpn_mul_0009d2b4)(param_6,piVar9,iVar11,param_3,iVar8);\n  iVar10 = param_2 + iVar5;\n  iVar2 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar10,iVar10,param_6,param_4);\n  if (iVar7 != 0) {\n    iVar3 = param_2 + param_4 * 4;\n    iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8);\n    iVar2 = iVar2 + iVar3;\n  }\n  if (iVar2 != 0) {\n    do {\n      iVar3 = *piVar9;\n      *piVar9 = iVar3 + -1;\n      if (iVar3 == 0) {\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }\n      iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);\n      iVar2 = iVar2 - iVar3;\n    } while (iVar2 != 0);\n  }\n  param_2 = param_2 + iVar11 * 4;\n  param_3 = param_3 + iVar11 * 4;\n  if (iVar8 < 200) {\n    iVar11 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n    if (iVar8 < 1) {\n      return iVar7;\n    }\n  }\n  else {\n    iVar11 = __gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n  }\n  if (iVar8 < 1) {\n    iVar5 = 4;\n  }\n  (*(code *)PTR_memset_0009d2e8)(param_1,0xff,iVar5);\n  return iVar7;\n}\n\n" (function_definition "int __gmpn_dcpi1_divappr_q_n\n              (int param_1,int param_2,int param_3,int param_4,undefined4 *param_5,\n              undefined4 param_6)\n\n{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  int iVar11;\n  \n  iVar8 = param_4 >> 1;\n  iVar5 = iVar8 * 4;\n  iVar11 = param_4 - iVar8;\n  piVar9 = (int *)(param_1 + iVar5);\n  iVar7 = param_2 + iVar8 * 8;\n  if (iVar11 < 0x28) {\n    iVar7 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5);\n  }\n  else {\n    iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6);\n  }\n  (*(code *)PTR___gmpn_mul_0009d2b4)(param_6,piVar9,iVar11,param_3,iVar8);\n  iVar10 = param_2 + iVar5;\n  iVar2 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar10,iVar10,param_6,param_4);\n  if (iVar7 != 0) {\n    iVar3 = param_2 + param_4 * 4;\n    iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8);\n    iVar2 = iVar2 + iVar3;\n  }\n  if (iVar2 != 0) {\n    do {\n      iVar3 = *piVar9;\n      *piVar9 = iVar3 + -1;\n      if (iVar3 == 0) {\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }\n      iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);\n      iVar2 = iVar2 - iVar3;\n    } while (iVar2 != 0);\n  }\n  param_2 = param_2 + iVar11 * 4;\n  param_3 = param_3 + iVar11 * 4;\n  if (iVar8 < 200) {\n    iVar11 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n    if (iVar8 < 1) {\n      return iVar7;\n    }\n  }\n  else {\n    iVar11 = __gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n  }\n  if (iVar8 < 1) {\n    iVar5 = 4;\n  }\n  (*(code *)PTR_memset_0009d2e8)(param_1,0xff,iVar5);\n  return iVar7;\n}" primitive_type (function_declarator "__gmpn_dcpi1_divappr_q_n\n              (int param_1,int param_2,int param_3,int param_4,undefined4 *param_5,\n              undefined4 param_6)" identifier (parameter_list "(int param_1,int param_2,int param_3,int param_4,undefined4 *param_5,\n              undefined4 param_6)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "undefined4 *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "undefined4 param_6" type_identifier identifier) ))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  int iVar11;\n  \n  iVar8 = param_4 >> 1;\n  iVar5 = iVar8 * 4;\n  iVar11 = param_4 - iVar8;\n  piVar9 = (int *)(param_1 + iVar5);\n  iVar7 = param_2 + iVar8 * 8;\n  if (iVar11 < 0x28) {\n    iVar7 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5);\n  }\n  else {\n    iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6);\n  }\n  (*(code *)PTR___gmpn_mul_0009d2b4)(param_6,piVar9,iVar11,param_3,iVar8);\n  iVar10 = param_2 + iVar5;\n  iVar2 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar10,iVar10,param_6,param_4);\n  if (iVar7 != 0) {\n    iVar3 = param_2 + param_4 * 4;\n    iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8);\n    iVar2 = iVar2 + iVar3;\n  }\n  if (iVar2 != 0) {\n    do {\n      iVar3 = *piVar9;\n      *piVar9 = iVar3 + -1;\n      if (iVar3 == 0) {\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }\n      iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);\n      iVar2 = iVar2 - iVar3;\n    } while (iVar2 != 0);\n  }\n  param_2 = param_2 + iVar11 * 4;\n  param_3 = param_3 + iVar11 * 4;\n  if (iVar8 < 200) {\n    iVar11 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n    if (iVar8 < 1) {\n      return iVar7;\n    }\n  }\n  else {\n    iVar11 = __gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n  }\n  if (iVar8 < 1) {\n    iVar5 = 4;\n  }\n  (*(code *)PTR_memset_0009d2e8)(param_1,0xff,iVar5);\n  return iVar7;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (expression_statement "iVar8 = param_4 >> 1;" (assignment_expression "iVar8 = param_4 >> 1" identifier = (binary_expression "param_4 >> 1" identifier >> number_literal)) ;) (expression_statement "iVar5 = iVar8 * 4;" (assignment_expression "iVar5 = iVar8 * 4" identifier = (binary_expression "iVar8 * 4" identifier * number_literal)) ;) (expression_statement "iVar11 = param_4 - iVar8;" (assignment_expression "iVar11 = param_4 - iVar8" identifier = (binary_expression "param_4 - iVar8" identifier - identifier)) ;) (expression_statement "piVar9 = (int *)(param_1 + iVar5);" (assignment_expression "piVar9 = (int *)(param_1 + iVar5)" identifier = (cast_expression "(int *)(param_1 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + iVar5)" ( (binary_expression "param_1 + iVar5" identifier + identifier) )))) ;) (expression_statement "iVar7 = param_2 + iVar8 * 8;" (assignment_expression "iVar7 = param_2 + iVar8 * 8" identifier = (binary_expression "param_2 + iVar8 * 8" identifier + (binary_expression "iVar8 * 8" identifier * number_literal))) ;) (if_statement "if (iVar11 < 0x28) {\n    iVar7 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5);\n  }\n  else {\n    iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6);\n  }" if (parenthesized_expression "(iVar11 < 0x28)" ( (binary_expression "iVar11 < 0x28" identifier < number_literal) )) (compound_statement "{\n    iVar7 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5);\n  }" { (expression_statement "iVar7 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5);" (assignment_expression "iVar7 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5)" identifier = (call_expression "(*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)" ( (pointer_expression "*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c" * (cast_expression "(code *)PTR___gmpn_sbpi1_div_qr_0009d43c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5)" ( identifier , identifier , (binary_expression "iVar11 * 2" identifier * number_literal) , (binary_expression "param_3 + iVar5" identifier + identifier) , identifier , (pointer_expression "*param_5" * identifier) )))) ;) }) (else_clause "else {\n    iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6);\n  }" else (compound_statement "{\n    iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6);\n  }" { (expression_statement "iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6);" (assignment_expression "iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6)" identifier = (call_expression "(*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6)" (parenthesized_expression "(*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)" ( (pointer_expression "*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4" * (cast_expression "(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6)" ( identifier , identifier , (binary_expression "param_3 + iVar5" identifier + identifier) , identifier , identifier , identifier )))) ;) }))) (expression_statement "(*(code *)PTR___gmpn_mul_0009d2b4)(param_6,piVar9,iVar11,param_3,iVar8);" (call_expression "(*(code *)PTR___gmpn_mul_0009d2b4)(param_6,piVar9,iVar11,param_3,iVar8)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_0009d2b4)" ( (pointer_expression "*(code *)PTR___gmpn_mul_0009d2b4" * (cast_expression "(code *)PTR___gmpn_mul_0009d2b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_6,piVar9,iVar11,param_3,iVar8)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar10 = param_2 + iVar5;" (assignment_expression "iVar10 = param_2 + iVar5" identifier = (binary_expression "param_2 + iVar5" identifier + identifier)) ;) (expression_statement "iVar2 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar10,iVar10,param_6,param_4);" (assignment_expression "iVar2 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar10,iVar10,param_6,param_4)" identifier = (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(iVar10,iVar10,param_6,param_4)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar10,iVar10,param_6,param_4)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 != 0) {\n    iVar3 = param_2 + param_4 * 4;\n    iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8);\n    iVar2 = iVar2 + iVar3;\n  }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar3 = param_2 + param_4 * 4;\n    iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8);\n    iVar2 = iVar2 + iVar3;\n  }" { (expression_statement "iVar3 = param_2 + param_4 * 4;" (assignment_expression "iVar3 = param_2 + param_4 * 4" identifier = (binary_expression "param_2 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;) (expression_statement "iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8);" (assignment_expression "iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8)" identifier = (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,iVar3,param_3,iVar8)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar2 = iVar2 + iVar3;" (assignment_expression "iVar2 = iVar2 + iVar3" identifier = (binary_expression "iVar2 + iVar3" identifier + identifier)) ;) })) (if_statement "if (iVar2 != 0) {\n    do {\n      iVar3 = *piVar9;\n      *piVar9 = iVar3 + -1;\n      if (iVar3 == 0) {\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }\n      iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);\n      iVar2 = iVar2 - iVar3;\n    } while (iVar2 != 0);\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      iVar3 = *piVar9;\n      *piVar9 = iVar3 + -1;\n      if (iVar3 == 0) {\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }\n      iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);\n      iVar2 = iVar2 - iVar3;\n    } while (iVar2 != 0);\n  }" { (do_statement "do {\n      iVar3 = *piVar9;\n      *piVar9 = iVar3 + -1;\n      if (iVar3 == 0) {\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }\n      iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);\n      iVar2 = iVar2 - iVar3;\n    } while (iVar2 != 0);" do (compound_statement "{\n      iVar3 = *piVar9;\n      *piVar9 = iVar3 + -1;\n      if (iVar3 == 0) {\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }\n      iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);\n      iVar2 = iVar2 - iVar3;\n    }" { (expression_statement "iVar3 = *piVar9;" (assignment_expression "iVar3 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "*piVar9 = iVar3 + -1;" (assignment_expression "*piVar9 = iVar3 + -1" (pointer_expression "*piVar9" * identifier) = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (if_statement "if (iVar3 == 0) {\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }" { (if_statement "if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }" if (parenthesized_expression "(iVar11 < 2)" ( (binary_expression "iVar11 < 2" identifier < number_literal) )) (compound_statement "{\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }" { (labeled_statement "LAB_00072f80:\n          iVar7 = iVar7 + -1;" statement_identifier : (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;)) }) (else_clause "else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }" else (compound_statement "{\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }" { (expression_statement "iVar3 = piVar9[1];" (assignment_expression "iVar3 = piVar9[1]" identifier = (subscript_expression "piVar9[1]" identifier [ number_literal ])) ;) (expression_statement "piVar9[1] = iVar3 + -1;" (assignment_expression "piVar9[1] = iVar3 + -1" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (if_statement "if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }" { (if_statement "if (iVar11 == 2) goto LAB_00072f80;" if (parenthesized_expression "(iVar11 == 2)" ( (binary_expression "iVar11 == 2" identifier == number_literal) )) (goto_statement "goto LAB_00072f80;" goto statement_identifier ;)) (expression_statement "iVar3 = piVar9[2];" (assignment_expression "iVar3 = piVar9[2]" identifier = (subscript_expression "piVar9[2]" identifier [ number_literal ])) ;) (expression_statement "piVar9[2] = iVar3 + -1;" (assignment_expression "piVar9[2] = iVar3 + -1" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (if_statement "if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }" { (expression_statement "iVar3 = 3;" (assignment_expression "iVar3 = 3" identifier = number_literal) ;) (expression_statement "piVar4 = piVar9 + 3;" (assignment_expression "piVar4 = piVar9 + 3" identifier = (binary_expression "piVar9 + 3" identifier + number_literal)) ;) (do_statement "do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);" do (compound_statement "{\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              }" { (expression_statement "bVar1 = iVar11 == iVar3;" (assignment_expression "bVar1 = iVar11 == iVar3" identifier = (binary_expression "iVar11 == iVar3" identifier == identifier)) ;) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (if_statement "if (bVar1) goto LAB_00072f80;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_00072f80;" goto statement_identifier ;)) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (expression_statement "*piVar4 = iVar6 + -1;" (assignment_expression "*piVar4 = iVar6 + -1" (pointer_expression "*piVar4" * identifier) = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "piVar4 = piVar4 + 1;" (assignment_expression "piVar4 = piVar4 + 1" identifier = (binary_expression "piVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) ;) })) })) }))) })) (expression_statement "iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);" (assignment_expression "iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar10,iVar10,param_3,param_4)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar2 = iVar2 - iVar3;" (assignment_expression "iVar2 = iVar2 - iVar3" identifier = (binary_expression "iVar2 - iVar3" identifier - identifier)) ;) }) while (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) ;) })) (expression_statement "param_2 = param_2 + iVar11 * 4;" (assignment_expression "param_2 = param_2 + iVar11 * 4" identifier = (binary_expression "param_2 + iVar11 * 4" identifier + (binary_expression "iVar11 * 4" identifier * number_literal))) ;) (expression_statement "param_3 = param_3 + iVar11 * 4;" (assignment_expression "param_3 = param_3 + iVar11 * 4" identifier = (binary_expression "param_3 + iVar11 * 4" identifier + (binary_expression "iVar11 * 4" identifier * number_literal))) ;) (if_statement "if (iVar8 < 200) {\n    iVar11 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n    if (iVar8 < 1) {\n      return iVar7;\n    }\n  }\n  else {\n    iVar11 = __gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n  }" if (parenthesized_expression "(iVar8 < 200)" ( (binary_expression "iVar8 < 200" identifier < number_literal) )) (compound_statement "{\n    iVar11 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n    if (iVar8 < 1) {\n      return iVar7;\n    }\n  }" { (expression_statement "iVar11 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5);" (assignment_expression "iVar11 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5)" identifier = (call_expression "(*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)" ( (pointer_expression "*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414" * (cast_expression "(code *)PTR___gmpn_sbpi1_divappr_q_0009d414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5)" ( identifier , identifier , (binary_expression "iVar8 << 1" identifier << number_literal) , identifier , identifier , (pointer_expression "*param_5" * identifier) )))) ;) (if_statement "if (iVar11 == 0) {\n      return iVar7;\n    }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n      return iVar7;\n    }" { (return_statement "return iVar7;" return identifier ;) })) (if_statement "if (iVar8 < 1) {\n      return iVar7;\n    }" if (parenthesized_expression "(iVar8 < 1)" ( (binary_expression "iVar8 < 1" identifier < number_literal) )) (compound_statement "{\n      return iVar7;\n    }" { (return_statement "return iVar7;" return identifier ;) })) }) (else_clause "else {\n    iVar11 = __gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n  }" else (compound_statement "{\n    iVar11 = __gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n  }" { (expression_statement "iVar11 = __gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6);" (assignment_expression "iVar11 = __gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6)" identifier = (call_expression "__gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6)" identifier (argument_list "(param_1,param_2,param_3,iVar8,param_5,param_6)" ( identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar11 == 0) {\n      return iVar7;\n    }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n      return iVar7;\n    }" { (return_statement "return iVar7;" return identifier ;) })) }))) (if_statement "if (iVar8 < 1) {\n    iVar5 = 4;\n  }" if (parenthesized_expression "(iVar8 < 1)" ( (binary_expression "iVar8 < 1" identifier < number_literal) )) (compound_statement "{\n    iVar5 = 4;\n  }" { (expression_statement "iVar5 = 4;" (assignment_expression "iVar5 = 4" identifier = number_literal) ;) })) (expression_statement "(*(code *)PTR_memset_0009d2e8)(param_1,0xff,iVar5);" (call_expression "(*(code *)PTR_memset_0009d2e8)(param_1,0xff,iVar5)" (parenthesized_expression "(*(code *)PTR_memset_0009d2e8)" ( (pointer_expression "*(code *)PTR_memset_0009d2e8" * (cast_expression "(code *)PTR_memset_0009d2e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,0xff,iVar5)" ( identifier , number_literal , identifier ))) ;) (return_statement "return iVar7;" return identifier ;) })))
(translation_unit "mp_limb_t __gmpn_dcpi1_divappr_q_n\n                    (mp_ptr qp,mp_ptr np,mp_srcptr dp,mp_size_t n,gmp_pi1_t *dinv,mp_ptr tp)\n\n{\n  bool bVar1;\n  mp_limb_t mVar2;\n  int iVar3;\n  mp_limb_t mVar4;\n  mp_ptr pmVar5;\n  int iVar6;\n  int iVar7;\n  int n_00;\n  mp_ptr pmVar8;\n  mp_ptr pmVar9;\n  int iVar10;\n  \n  n_00 = n >> 1;\n  iVar7 = n_00 * 4;\n  iVar10 = n - n_00;\n  pmVar8 = qp + n_00;\n  if (iVar10 < 0x28) {\n    mVar2 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (pmVar8,np + n_00 * 2,iVar10 * 2,dp + n_00,iVar10,dinv->inv32);\n  }\n  else {\n    mVar2 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (pmVar8,np + n_00 * 2,dp + n_00,iVar10,dinv,tp);\n  }\n  (*(code *)PTR___gmpn_mul_0009d2b4)(tp,pmVar8,iVar10,dp,n_00);\n  pmVar9 = np + n_00;\n  iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar9,pmVar9,tp,n);\n  if (mVar2 != 0) {\n    iVar6 = (*(code *)PTR___gmpn_sub_n_0009d514)(np + n,np + n,dp,n_00);\n    iVar3 = iVar3 + iVar6;\n  }\n  if (iVar3 != 0) {\n    do {\n      mVar4 = *pmVar8;\n      *pmVar8 = mVar4 - 1;\n      if (mVar4 == 0) {\n        if (iVar10 < 2) {\nLAB_00072f80:\n          mVar2 = mVar2 - 1;\n        }\n        else {\n          mVar4 = pmVar8[1];\n          pmVar8[1] = mVar4 - 1;\n          if (mVar4 == 0) {\n            if (iVar10 == 2) goto LAB_00072f80;\n            mVar4 = pmVar8[2];\n            pmVar8[2] = mVar4 - 1;\n            if (mVar4 == 0) {\n              iVar6 = 3;\n              pmVar5 = pmVar8 + 3;\n              do {\n                bVar1 = iVar10 == iVar6;\n                iVar6 = iVar6 + 1;\n                if (bVar1) goto LAB_00072f80;\n                mVar4 = *pmVar5;\n                *pmVar5 = mVar4 - 1;\n                pmVar5 = pmVar5 + 1;\n              } while (mVar4 == 0);\n            }\n          }\n        }\n      }\n      iVar6 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar9,pmVar9,dp,n);\n      iVar3 = iVar3 - iVar6;\n    } while (iVar3 != 0);\n  }\n  if (n_00 < 200) {\n    iVar10 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (qp,np + iVar10,n_00 << 1,dp + iVar10,n_00,dinv->inv32);\n    if (iVar10 == 0) {\n      return mVar2;\n    }\n    if (n_00 < 1) {\n      return mVar2;\n    }\n  }\n  else {\n    mVar4 = __gmpn_dcpi1_divappr_q_n(qp,np + iVar10,dp + iVar10,n_00,dinv,tp);\n    if (mVar4 == 0) {\n      return mVar2;\n    }\n  }\n  if (n_00 < 1) {\n    iVar7 = 4;\n  }\n  (*(code *)PTR_memset_0009d2e8)(qp,0xff,iVar7);\n  return mVar2;\n}\n\n" (function_definition "mp_limb_t __gmpn_dcpi1_divappr_q_n\n                    (mp_ptr qp,mp_ptr np,mp_srcptr dp,mp_size_t n,gmp_pi1_t *dinv,mp_ptr tp)\n\n{\n  bool bVar1;\n  mp_limb_t mVar2;\n  int iVar3;\n  mp_limb_t mVar4;\n  mp_ptr pmVar5;\n  int iVar6;\n  int iVar7;\n  int n_00;\n  mp_ptr pmVar8;\n  mp_ptr pmVar9;\n  int iVar10;\n  \n  n_00 = n >> 1;\n  iVar7 = n_00 * 4;\n  iVar10 = n - n_00;\n  pmVar8 = qp + n_00;\n  if (iVar10 < 0x28) {\n    mVar2 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (pmVar8,np + n_00 * 2,iVar10 * 2,dp + n_00,iVar10,dinv->inv32);\n  }\n  else {\n    mVar2 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (pmVar8,np + n_00 * 2,dp + n_00,iVar10,dinv,tp);\n  }\n  (*(code *)PTR___gmpn_mul_0009d2b4)(tp,pmVar8,iVar10,dp,n_00);\n  pmVar9 = np + n_00;\n  iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar9,pmVar9,tp,n);\n  if (mVar2 != 0) {\n    iVar6 = (*(code *)PTR___gmpn_sub_n_0009d514)(np + n,np + n,dp,n_00);\n    iVar3 = iVar3 + iVar6;\n  }\n  if (iVar3 != 0) {\n    do {\n      mVar4 = *pmVar8;\n      *pmVar8 = mVar4 - 1;\n      if (mVar4 == 0) {\n        if (iVar10 < 2) {\nLAB_00072f80:\n          mVar2 = mVar2 - 1;\n        }\n        else {\n          mVar4 = pmVar8[1];\n          pmVar8[1] = mVar4 - 1;\n          if (mVar4 == 0) {\n            if (iVar10 == 2) goto LAB_00072f80;\n            mVar4 = pmVar8[2];\n            pmVar8[2] = mVar4 - 1;\n            if (mVar4 == 0) {\n              iVar6 = 3;\n              pmVar5 = pmVar8 + 3;\n              do {\n                bVar1 = iVar10 == iVar6;\n                iVar6 = iVar6 + 1;\n                if (bVar1) goto LAB_00072f80;\n                mVar4 = *pmVar5;\n                *pmVar5 = mVar4 - 1;\n                pmVar5 = pmVar5 + 1;\n              } while (mVar4 == 0);\n            }\n          }\n        }\n      }\n      iVar6 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar9,pmVar9,dp,n);\n      iVar3 = iVar3 - iVar6;\n    } while (iVar3 != 0);\n  }\n  if (n_00 < 200) {\n    iVar10 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (qp,np + iVar10,n_00 << 1,dp + iVar10,n_00,dinv->inv32);\n    if (iVar10 == 0) {\n      return mVar2;\n    }\n    if (n_00 < 1) {\n      return mVar2;\n    }\n  }\n  else {\n    mVar4 = __gmpn_dcpi1_divappr_q_n(qp,np + iVar10,dp + iVar10,n_00,dinv,tp);\n    if (mVar4 == 0) {\n      return mVar2;\n    }\n  }\n  if (n_00 < 1) {\n    iVar7 = 4;\n  }\n  (*(code *)PTR_memset_0009d2e8)(qp,0xff,iVar7);\n  return mVar2;\n}" type_identifier (function_declarator "__gmpn_dcpi1_divappr_q_n\n                    (mp_ptr qp,mp_ptr np,mp_srcptr dp,mp_size_t n,gmp_pi1_t *dinv,mp_ptr tp)" identifier (parameter_list "(mp_ptr qp,mp_ptr np,mp_srcptr dp,mp_size_t n,gmp_pi1_t *dinv,mp_ptr tp)" ( (parameter_declaration "mp_ptr qp" type_identifier identifier) , (parameter_declaration "mp_ptr np" type_identifier identifier) , (parameter_declaration "mp_srcptr dp" type_identifier identifier) , (parameter_declaration "mp_size_t n" type_identifier identifier) , (parameter_declaration "gmp_pi1_t *dinv" type_identifier (pointer_declarator "*dinv" * identifier)) , (parameter_declaration "mp_ptr tp" type_identifier identifier) ))) (compound_statement "{\n  bool bVar1;\n  mp_limb_t mVar2;\n  int iVar3;\n  mp_limb_t mVar4;\n  mp_ptr pmVar5;\n  int iVar6;\n  int iVar7;\n  int n_00;\n  mp_ptr pmVar8;\n  mp_ptr pmVar9;\n  int iVar10;\n  \n  n_00 = n >> 1;\n  iVar7 = n_00 * 4;\n  iVar10 = n - n_00;\n  pmVar8 = qp + n_00;\n  if (iVar10 < 0x28) {\n    mVar2 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (pmVar8,np + n_00 * 2,iVar10 * 2,dp + n_00,iVar10,dinv->inv32);\n  }\n  else {\n    mVar2 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (pmVar8,np + n_00 * 2,dp + n_00,iVar10,dinv,tp);\n  }\n  (*(code *)PTR___gmpn_mul_0009d2b4)(tp,pmVar8,iVar10,dp,n_00);\n  pmVar9 = np + n_00;\n  iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar9,pmVar9,tp,n);\n  if (mVar2 != 0) {\n    iVar6 = (*(code *)PTR___gmpn_sub_n_0009d514)(np + n,np + n,dp,n_00);\n    iVar3 = iVar3 + iVar6;\n  }\n  if (iVar3 != 0) {\n    do {\n      mVar4 = *pmVar8;\n      *pmVar8 = mVar4 - 1;\n      if (mVar4 == 0) {\n        if (iVar10 < 2) {\nLAB_00072f80:\n          mVar2 = mVar2 - 1;\n        }\n        else {\n          mVar4 = pmVar8[1];\n          pmVar8[1] = mVar4 - 1;\n          if (mVar4 == 0) {\n            if (iVar10 == 2) goto LAB_00072f80;\n            mVar4 = pmVar8[2];\n            pmVar8[2] = mVar4 - 1;\n            if (mVar4 == 0) {\n              iVar6 = 3;\n              pmVar5 = pmVar8 + 3;\n              do {\n                bVar1 = iVar10 == iVar6;\n                iVar6 = iVar6 + 1;\n                if (bVar1) goto LAB_00072f80;\n                mVar4 = *pmVar5;\n                *pmVar5 = mVar4 - 1;\n                pmVar5 = pmVar5 + 1;\n              } while (mVar4 == 0);\n            }\n          }\n        }\n      }\n      iVar6 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar9,pmVar9,dp,n);\n      iVar3 = iVar3 - iVar6;\n    } while (iVar3 != 0);\n  }\n  if (n_00 < 200) {\n    iVar10 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (qp,np + iVar10,n_00 << 1,dp + iVar10,n_00,dinv->inv32);\n    if (iVar10 == 0) {\n      return mVar2;\n    }\n    if (n_00 < 1) {\n      return mVar2;\n    }\n  }\n  else {\n    mVar4 = __gmpn_dcpi1_divappr_q_n(qp,np + iVar10,dp + iVar10,n_00,dinv,tp);\n    if (mVar4 == 0) {\n      return mVar2;\n    }\n  }\n  if (n_00 < 1) {\n    iVar7 = 4;\n  }\n  (*(code *)PTR_memset_0009d2e8)(qp,0xff,iVar7);\n  return mVar2;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "mp_limb_t mVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "mp_limb_t mVar4;" type_identifier identifier ;) (declaration "mp_ptr pmVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int n_00;" primitive_type identifier ;) (declaration "mp_ptr pmVar8;" type_identifier identifier ;) (declaration "mp_ptr pmVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (expression_statement "n_00 = n >> 1;" (assignment_expression "n_00 = n >> 1" identifier = (binary_expression "n >> 1" identifier >> number_literal)) ;) (expression_statement "iVar7 = n_00 * 4;" (assignment_expression "iVar7 = n_00 * 4" identifier = (binary_expression "n_00 * 4" identifier * number_literal)) ;) (expression_statement "iVar10 = n - n_00;" (assignment_expression "iVar10 = n - n_00" identifier = (binary_expression "n - n_00" identifier - identifier)) ;) (expression_statement "pmVar8 = qp + n_00;" (assignment_expression "pmVar8 = qp + n_00" identifier = (binary_expression "qp + n_00" identifier + identifier)) ;) (if_statement "if (iVar10 < 0x28) {\n    mVar2 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (pmVar8,np + n_00 * 2,iVar10 * 2,dp + n_00,iVar10,dinv->inv32);\n  }\n  else {\n    mVar2 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (pmVar8,np + n_00 * 2,dp + n_00,iVar10,dinv,tp);\n  }" if (parenthesized_expression "(iVar10 < 0x28)" ( (binary_expression "iVar10 < 0x28" identifier < number_literal) )) (compound_statement "{\n    mVar2 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (pmVar8,np + n_00 * 2,iVar10 * 2,dp + n_00,iVar10,dinv->inv32);\n  }" { (expression_statement "mVar2 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (pmVar8,np + n_00 * 2,iVar10 * 2,dp + n_00,iVar10,dinv->inv32);" (assignment_expression "mVar2 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (pmVar8,np + n_00 * 2,iVar10 * 2,dp + n_00,iVar10,dinv->inv32)" identifier = (call_expression "(*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (pmVar8,np + n_00 * 2,iVar10 * 2,dp + n_00,iVar10,dinv->inv32)" (parenthesized_expression "(*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)" ( (pointer_expression "*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c" * (cast_expression "(code *)PTR___gmpn_sbpi1_div_qr_0009d43c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar8,np + n_00 * 2,iVar10 * 2,dp + n_00,iVar10,dinv->inv32)" ( identifier , (binary_expression "np + n_00 * 2" identifier + (binary_expression "n_00 * 2" identifier * number_literal)) , (binary_expression "iVar10 * 2" identifier * number_literal) , (binary_expression "dp + n_00" identifier + identifier) , identifier , (field_expression "dinv->inv32" identifier -> field_identifier) )))) ;) }) (else_clause "else {\n    mVar2 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (pmVar8,np + n_00 * 2,dp + n_00,iVar10,dinv,tp);\n  }" else (compound_statement "{\n    mVar2 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (pmVar8,np + n_00 * 2,dp + n_00,iVar10,dinv,tp);\n  }" { (expression_statement "mVar2 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (pmVar8,np + n_00 * 2,dp + n_00,iVar10,dinv,tp);" (assignment_expression "mVar2 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (pmVar8,np + n_00 * 2,dp + n_00,iVar10,dinv,tp)" identifier = (call_expression "(*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (pmVar8,np + n_00 * 2,dp + n_00,iVar10,dinv,tp)" (parenthesized_expression "(*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)" ( (pointer_expression "*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4" * (cast_expression "(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar8,np + n_00 * 2,dp + n_00,iVar10,dinv,tp)" ( identifier , (binary_expression "np + n_00 * 2" identifier + (binary_expression "n_00 * 2" identifier * number_literal)) , (binary_expression "dp + n_00" identifier + identifier) , identifier , identifier , identifier )))) ;) }))) (expression_statement "(*(code *)PTR___gmpn_mul_0009d2b4)(tp,pmVar8,iVar10,dp,n_00);" (call_expression "(*(code *)PTR___gmpn_mul_0009d2b4)(tp,pmVar8,iVar10,dp,n_00)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_0009d2b4)" ( (pointer_expression "*(code *)PTR___gmpn_mul_0009d2b4" * (cast_expression "(code *)PTR___gmpn_mul_0009d2b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(tp,pmVar8,iVar10,dp,n_00)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "pmVar9 = np + n_00;" (assignment_expression "pmVar9 = np + n_00" identifier = (binary_expression "np + n_00" identifier + identifier)) ;) (expression_statement "iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar9,pmVar9,tp,n);" (assignment_expression "iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar9,pmVar9,tp,n)" identifier = (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(pmVar9,pmVar9,tp,n)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar9,pmVar9,tp,n)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (mVar2 != 0) {\n    iVar6 = (*(code *)PTR___gmpn_sub_n_0009d514)(np + n,np + n,dp,n_00);\n    iVar3 = iVar3 + iVar6;\n  }" if (parenthesized_expression "(mVar2 != 0)" ( (binary_expression "mVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar6 = (*(code *)PTR___gmpn_sub_n_0009d514)(np + n,np + n,dp,n_00);\n    iVar3 = iVar3 + iVar6;\n  }" { (expression_statement "iVar6 = (*(code *)PTR___gmpn_sub_n_0009d514)(np + n,np + n,dp,n_00);" (assignment_expression "iVar6 = (*(code *)PTR___gmpn_sub_n_0009d514)(np + n,np + n,dp,n_00)" identifier = (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(np + n,np + n,dp,n_00)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(np + n,np + n,dp,n_00)" ( (binary_expression "np + n" identifier + identifier) , (binary_expression "np + n" identifier + identifier) , identifier , identifier )))) ;) (expression_statement "iVar3 = iVar3 + iVar6;" (assignment_expression "iVar3 = iVar3 + iVar6" identifier = (binary_expression "iVar3 + iVar6" identifier + identifier)) ;) })) (if_statement "if (iVar3 != 0) {\n    do {\n      mVar4 = *pmVar8;\n      *pmVar8 = mVar4 - 1;\n      if (mVar4 == 0) {\n        if (iVar10 < 2) {\nLAB_00072f80:\n          mVar2 = mVar2 - 1;\n        }\n        else {\n          mVar4 = pmVar8[1];\n          pmVar8[1] = mVar4 - 1;\n          if (mVar4 == 0) {\n            if (iVar10 == 2) goto LAB_00072f80;\n            mVar4 = pmVar8[2];\n            pmVar8[2] = mVar4 - 1;\n            if (mVar4 == 0) {\n              iVar6 = 3;\n              pmVar5 = pmVar8 + 3;\n              do {\n                bVar1 = iVar10 == iVar6;\n                iVar6 = iVar6 + 1;\n                if (bVar1) goto LAB_00072f80;\n                mVar4 = *pmVar5;\n                *pmVar5 = mVar4 - 1;\n                pmVar5 = pmVar5 + 1;\n              } while (mVar4 == 0);\n            }\n          }\n        }\n      }\n      iVar6 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar9,pmVar9,dp,n);\n      iVar3 = iVar3 - iVar6;\n    } while (iVar3 != 0);\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      mVar4 = *pmVar8;\n      *pmVar8 = mVar4 - 1;\n      if (mVar4 == 0) {\n        if (iVar10 < 2) {\nLAB_00072f80:\n          mVar2 = mVar2 - 1;\n        }\n        else {\n          mVar4 = pmVar8[1];\n          pmVar8[1] = mVar4 - 1;\n          if (mVar4 == 0) {\n            if (iVar10 == 2) goto LAB_00072f80;\n            mVar4 = pmVar8[2];\n            pmVar8[2] = mVar4 - 1;\n            if (mVar4 == 0) {\n              iVar6 = 3;\n              pmVar5 = pmVar8 + 3;\n              do {\n                bVar1 = iVar10 == iVar6;\n                iVar6 = iVar6 + 1;\n                if (bVar1) goto LAB_00072f80;\n                mVar4 = *pmVar5;\n                *pmVar5 = mVar4 - 1;\n                pmVar5 = pmVar5 + 1;\n              } while (mVar4 == 0);\n            }\n          }\n        }\n      }\n      iVar6 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar9,pmVar9,dp,n);\n      iVar3 = iVar3 - iVar6;\n    } while (iVar3 != 0);\n  }" { (do_statement "do {\n      mVar4 = *pmVar8;\n      *pmVar8 = mVar4 - 1;\n      if (mVar4 == 0) {\n        if (iVar10 < 2) {\nLAB_00072f80:\n          mVar2 = mVar2 - 1;\n        }\n        else {\n          mVar4 = pmVar8[1];\n          pmVar8[1] = mVar4 - 1;\n          if (mVar4 == 0) {\n            if (iVar10 == 2) goto LAB_00072f80;\n            mVar4 = pmVar8[2];\n            pmVar8[2] = mVar4 - 1;\n            if (mVar4 == 0) {\n              iVar6 = 3;\n              pmVar5 = pmVar8 + 3;\n              do {\n                bVar1 = iVar10 == iVar6;\n                iVar6 = iVar6 + 1;\n                if (bVar1) goto LAB_00072f80;\n                mVar4 = *pmVar5;\n                *pmVar5 = mVar4 - 1;\n                pmVar5 = pmVar5 + 1;\n              } while (mVar4 == 0);\n            }\n          }\n        }\n      }\n      iVar6 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar9,pmVar9,dp,n);\n      iVar3 = iVar3 - iVar6;\n    } while (iVar3 != 0);" do (compound_statement "{\n      mVar4 = *pmVar8;\n      *pmVar8 = mVar4 - 1;\n      if (mVar4 == 0) {\n        if (iVar10 < 2) {\nLAB_00072f80:\n          mVar2 = mVar2 - 1;\n        }\n        else {\n          mVar4 = pmVar8[1];\n          pmVar8[1] = mVar4 - 1;\n          if (mVar4 == 0) {\n            if (iVar10 == 2) goto LAB_00072f80;\n            mVar4 = pmVar8[2];\n            pmVar8[2] = mVar4 - 1;\n            if (mVar4 == 0) {\n              iVar6 = 3;\n              pmVar5 = pmVar8 + 3;\n              do {\n                bVar1 = iVar10 == iVar6;\n                iVar6 = iVar6 + 1;\n                if (bVar1) goto LAB_00072f80;\n                mVar4 = *pmVar5;\n                *pmVar5 = mVar4 - 1;\n                pmVar5 = pmVar5 + 1;\n              } while (mVar4 == 0);\n            }\n          }\n        }\n      }\n      iVar6 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar9,pmVar9,dp,n);\n      iVar3 = iVar3 - iVar6;\n    }" { (expression_statement "mVar4 = *pmVar8;" (assignment_expression "mVar4 = *pmVar8" identifier = (pointer_expression "*pmVar8" * identifier)) ;) (expression_statement "*pmVar8 = mVar4 - 1;" (assignment_expression "*pmVar8 = mVar4 - 1" (pointer_expression "*pmVar8" * identifier) = (binary_expression "mVar4 - 1" identifier - number_literal)) ;) (if_statement "if (mVar4 == 0) {\n        if (iVar10 < 2) {\nLAB_00072f80:\n          mVar2 = mVar2 - 1;\n        }\n        else {\n          mVar4 = pmVar8[1];\n          pmVar8[1] = mVar4 - 1;\n          if (mVar4 == 0) {\n            if (iVar10 == 2) goto LAB_00072f80;\n            mVar4 = pmVar8[2];\n            pmVar8[2] = mVar4 - 1;\n            if (mVar4 == 0) {\n              iVar6 = 3;\n              pmVar5 = pmVar8 + 3;\n              do {\n                bVar1 = iVar10 == iVar6;\n                iVar6 = iVar6 + 1;\n                if (bVar1) goto LAB_00072f80;\n                mVar4 = *pmVar5;\n                *pmVar5 = mVar4 - 1;\n                pmVar5 = pmVar5 + 1;\n              } while (mVar4 == 0);\n            }\n          }\n        }\n      }" if (parenthesized_expression "(mVar4 == 0)" ( (binary_expression "mVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        if (iVar10 < 2) {\nLAB_00072f80:\n          mVar2 = mVar2 - 1;\n        }\n        else {\n          mVar4 = pmVar8[1];\n          pmVar8[1] = mVar4 - 1;\n          if (mVar4 == 0) {\n            if (iVar10 == 2) goto LAB_00072f80;\n            mVar4 = pmVar8[2];\n            pmVar8[2] = mVar4 - 1;\n            if (mVar4 == 0) {\n              iVar6 = 3;\n              pmVar5 = pmVar8 + 3;\n              do {\n                bVar1 = iVar10 == iVar6;\n                iVar6 = iVar6 + 1;\n                if (bVar1) goto LAB_00072f80;\n                mVar4 = *pmVar5;\n                *pmVar5 = mVar4 - 1;\n                pmVar5 = pmVar5 + 1;\n              } while (mVar4 == 0);\n            }\n          }\n        }\n      }" { (if_statement "if (iVar10 < 2) {\nLAB_00072f80:\n          mVar2 = mVar2 - 1;\n        }\n        else {\n          mVar4 = pmVar8[1];\n          pmVar8[1] = mVar4 - 1;\n          if (mVar4 == 0) {\n            if (iVar10 == 2) goto LAB_00072f80;\n            mVar4 = pmVar8[2];\n            pmVar8[2] = mVar4 - 1;\n            if (mVar4 == 0) {\n              iVar6 = 3;\n              pmVar5 = pmVar8 + 3;\n              do {\n                bVar1 = iVar10 == iVar6;\n                iVar6 = iVar6 + 1;\n                if (bVar1) goto LAB_00072f80;\n                mVar4 = *pmVar5;\n                *pmVar5 = mVar4 - 1;\n                pmVar5 = pmVar5 + 1;\n              } while (mVar4 == 0);\n            }\n          }\n        }" if (parenthesized_expression "(iVar10 < 2)" ( (binary_expression "iVar10 < 2" identifier < number_literal) )) (compound_statement "{\nLAB_00072f80:\n          mVar2 = mVar2 - 1;\n        }" { (labeled_statement "LAB_00072f80:\n          mVar2 = mVar2 - 1;" statement_identifier : (expression_statement "mVar2 = mVar2 - 1;" (assignment_expression "mVar2 = mVar2 - 1" identifier = (binary_expression "mVar2 - 1" identifier - number_literal)) ;)) }) (else_clause "else {\n          mVar4 = pmVar8[1];\n          pmVar8[1] = mVar4 - 1;\n          if (mVar4 == 0) {\n            if (iVar10 == 2) goto LAB_00072f80;\n            mVar4 = pmVar8[2];\n            pmVar8[2] = mVar4 - 1;\n            if (mVar4 == 0) {\n              iVar6 = 3;\n              pmVar5 = pmVar8 + 3;\n              do {\n                bVar1 = iVar10 == iVar6;\n                iVar6 = iVar6 + 1;\n                if (bVar1) goto LAB_00072f80;\n                mVar4 = *pmVar5;\n                *pmVar5 = mVar4 - 1;\n                pmVar5 = pmVar5 + 1;\n              } while (mVar4 == 0);\n            }\n          }\n        }" else (compound_statement "{\n          mVar4 = pmVar8[1];\n          pmVar8[1] = mVar4 - 1;\n          if (mVar4 == 0) {\n            if (iVar10 == 2) goto LAB_00072f80;\n            mVar4 = pmVar8[2];\n            pmVar8[2] = mVar4 - 1;\n            if (mVar4 == 0) {\n              iVar6 = 3;\n              pmVar5 = pmVar8 + 3;\n              do {\n                bVar1 = iVar10 == iVar6;\n                iVar6 = iVar6 + 1;\n                if (bVar1) goto LAB_00072f80;\n                mVar4 = *pmVar5;\n                *pmVar5 = mVar4 - 1;\n                pmVar5 = pmVar5 + 1;\n              } while (mVar4 == 0);\n            }\n          }\n        }" { (expression_statement "mVar4 = pmVar8[1];" (assignment_expression "mVar4 = pmVar8[1]" identifier = (subscript_expression "pmVar8[1]" identifier [ number_literal ])) ;) (expression_statement "pmVar8[1] = mVar4 - 1;" (assignment_expression "pmVar8[1] = mVar4 - 1" (subscript_expression "pmVar8[1]" identifier [ number_literal ]) = (binary_expression "mVar4 - 1" identifier - number_literal)) ;) (if_statement "if (mVar4 == 0) {\n            if (iVar10 == 2) goto LAB_00072f80;\n            mVar4 = pmVar8[2];\n            pmVar8[2] = mVar4 - 1;\n            if (mVar4 == 0) {\n              iVar6 = 3;\n              pmVar5 = pmVar8 + 3;\n              do {\n                bVar1 = iVar10 == iVar6;\n                iVar6 = iVar6 + 1;\n                if (bVar1) goto LAB_00072f80;\n                mVar4 = *pmVar5;\n                *pmVar5 = mVar4 - 1;\n                pmVar5 = pmVar5 + 1;\n              } while (mVar4 == 0);\n            }\n          }" if (parenthesized_expression "(mVar4 == 0)" ( (binary_expression "mVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            if (iVar10 == 2) goto LAB_00072f80;\n            mVar4 = pmVar8[2];\n            pmVar8[2] = mVar4 - 1;\n            if (mVar4 == 0) {\n              iVar6 = 3;\n              pmVar5 = pmVar8 + 3;\n              do {\n                bVar1 = iVar10 == iVar6;\n                iVar6 = iVar6 + 1;\n                if (bVar1) goto LAB_00072f80;\n                mVar4 = *pmVar5;\n                *pmVar5 = mVar4 - 1;\n                pmVar5 = pmVar5 + 1;\n              } while (mVar4 == 0);\n            }\n          }" { (if_statement "if (iVar10 == 2) goto LAB_00072f80;" if (parenthesized_expression "(iVar10 == 2)" ( (binary_expression "iVar10 == 2" identifier == number_literal) )) (goto_statement "goto LAB_00072f80;" goto statement_identifier ;)) (expression_statement "mVar4 = pmVar8[2];" (assignment_expression "mVar4 = pmVar8[2]" identifier = (subscript_expression "pmVar8[2]" identifier [ number_literal ])) ;) (expression_statement "pmVar8[2] = mVar4 - 1;" (assignment_expression "pmVar8[2] = mVar4 - 1" (subscript_expression "pmVar8[2]" identifier [ number_literal ]) = (binary_expression "mVar4 - 1" identifier - number_literal)) ;) (if_statement "if (mVar4 == 0) {\n              iVar6 = 3;\n              pmVar5 = pmVar8 + 3;\n              do {\n                bVar1 = iVar10 == iVar6;\n                iVar6 = iVar6 + 1;\n                if (bVar1) goto LAB_00072f80;\n                mVar4 = *pmVar5;\n                *pmVar5 = mVar4 - 1;\n                pmVar5 = pmVar5 + 1;\n              } while (mVar4 == 0);\n            }" if (parenthesized_expression "(mVar4 == 0)" ( (binary_expression "mVar4 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar6 = 3;\n              pmVar5 = pmVar8 + 3;\n              do {\n                bVar1 = iVar10 == iVar6;\n                iVar6 = iVar6 + 1;\n                if (bVar1) goto LAB_00072f80;\n                mVar4 = *pmVar5;\n                *pmVar5 = mVar4 - 1;\n                pmVar5 = pmVar5 + 1;\n              } while (mVar4 == 0);\n            }" { (expression_statement "iVar6 = 3;" (assignment_expression "iVar6 = 3" identifier = number_literal) ;) (expression_statement "pmVar5 = pmVar8 + 3;" (assignment_expression "pmVar5 = pmVar8 + 3" identifier = (binary_expression "pmVar8 + 3" identifier + number_literal)) ;) (do_statement "do {\n                bVar1 = iVar10 == iVar6;\n                iVar6 = iVar6 + 1;\n                if (bVar1) goto LAB_00072f80;\n                mVar4 = *pmVar5;\n                *pmVar5 = mVar4 - 1;\n                pmVar5 = pmVar5 + 1;\n              } while (mVar4 == 0);" do (compound_statement "{\n                bVar1 = iVar10 == iVar6;\n                iVar6 = iVar6 + 1;\n                if (bVar1) goto LAB_00072f80;\n                mVar4 = *pmVar5;\n                *pmVar5 = mVar4 - 1;\n                pmVar5 = pmVar5 + 1;\n              }" { (expression_statement "bVar1 = iVar10 == iVar6;" (assignment_expression "bVar1 = iVar10 == iVar6" identifier = (binary_expression "iVar10 == iVar6" identifier == identifier)) ;) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (if_statement "if (bVar1) goto LAB_00072f80;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_00072f80;" goto statement_identifier ;)) (expression_statement "mVar4 = *pmVar5;" (assignment_expression "mVar4 = *pmVar5" identifier = (pointer_expression "*pmVar5" * identifier)) ;) (expression_statement "*pmVar5 = mVar4 - 1;" (assignment_expression "*pmVar5 = mVar4 - 1" (pointer_expression "*pmVar5" * identifier) = (binary_expression "mVar4 - 1" identifier - number_literal)) ;) (expression_statement "pmVar5 = pmVar5 + 1;" (assignment_expression "pmVar5 = pmVar5 + 1" identifier = (binary_expression "pmVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(mVar4 == 0)" ( (binary_expression "mVar4 == 0" identifier == number_literal) )) ;) })) })) }))) })) (expression_statement "iVar6 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar9,pmVar9,dp,n);" (assignment_expression "iVar6 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar9,pmVar9,dp,n)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(pmVar9,pmVar9,dp,n)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar9,pmVar9,dp,n)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar3 = iVar3 - iVar6;" (assignment_expression "iVar3 = iVar3 - iVar6" identifier = (binary_expression "iVar3 - iVar6" identifier - identifier)) ;) }) while (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) ;) })) (if_statement "if (n_00 < 200) {\n    iVar10 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (qp,np + iVar10,n_00 << 1,dp + iVar10,n_00,dinv->inv32);\n    if (iVar10 == 0) {\n      return mVar2;\n    }\n    if (n_00 < 1) {\n      return mVar2;\n    }\n  }\n  else {\n    mVar4 = __gmpn_dcpi1_divappr_q_n(qp,np + iVar10,dp + iVar10,n_00,dinv,tp);\n    if (mVar4 == 0) {\n      return mVar2;\n    }\n  }" if (parenthesized_expression "(n_00 < 200)" ( (binary_expression "n_00 < 200" identifier < number_literal) )) (compound_statement "{\n    iVar10 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (qp,np + iVar10,n_00 << 1,dp + iVar10,n_00,dinv->inv32);\n    if (iVar10 == 0) {\n      return mVar2;\n    }\n    if (n_00 < 1) {\n      return mVar2;\n    }\n  }" { (expression_statement "iVar10 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (qp,np + iVar10,n_00 << 1,dp + iVar10,n_00,dinv->inv32);" (assignment_expression "iVar10 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (qp,np + iVar10,n_00 << 1,dp + iVar10,n_00,dinv->inv32)" identifier = (call_expression "(*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (qp,np + iVar10,n_00 << 1,dp + iVar10,n_00,dinv->inv32)" (parenthesized_expression "(*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)" ( (pointer_expression "*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414" * (cast_expression "(code *)PTR___gmpn_sbpi1_divappr_q_0009d414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(qp,np + iVar10,n_00 << 1,dp + iVar10,n_00,dinv->inv32)" ( identifier , (binary_expression "np + iVar10" identifier + identifier) , (binary_expression "n_00 << 1" identifier << number_literal) , (binary_expression "dp + iVar10" identifier + identifier) , identifier , (field_expression "dinv->inv32" identifier -> field_identifier) )))) ;) (if_statement "if (iVar10 == 0) {\n      return mVar2;\n    }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n      return mVar2;\n    }" { (return_statement "return mVar2;" return identifier ;) })) (if_statement "if (n_00 < 1) {\n      return mVar2;\n    }" if (parenthesized_expression "(n_00 < 1)" ( (binary_expression "n_00 < 1" identifier < number_literal) )) (compound_statement "{\n      return mVar2;\n    }" { (return_statement "return mVar2;" return identifier ;) })) }) (else_clause "else {\n    mVar4 = __gmpn_dcpi1_divappr_q_n(qp,np + iVar10,dp + iVar10,n_00,dinv,tp);\n    if (mVar4 == 0) {\n      return mVar2;\n    }\n  }" else (compound_statement "{\n    mVar4 = __gmpn_dcpi1_divappr_q_n(qp,np + iVar10,dp + iVar10,n_00,dinv,tp);\n    if (mVar4 == 0) {\n      return mVar2;\n    }\n  }" { (expression_statement "mVar4 = __gmpn_dcpi1_divappr_q_n(qp,np + iVar10,dp + iVar10,n_00,dinv,tp);" (assignment_expression "mVar4 = __gmpn_dcpi1_divappr_q_n(qp,np + iVar10,dp + iVar10,n_00,dinv,tp)" identifier = (call_expression "__gmpn_dcpi1_divappr_q_n(qp,np + iVar10,dp + iVar10,n_00,dinv,tp)" identifier (argument_list "(qp,np + iVar10,dp + iVar10,n_00,dinv,tp)" ( identifier , (binary_expression "np + iVar10" identifier + identifier) , (binary_expression "dp + iVar10" identifier + identifier) , identifier , identifier , identifier )))) ;) (if_statement "if (mVar4 == 0) {\n      return mVar2;\n    }" if (parenthesized_expression "(mVar4 == 0)" ( (binary_expression "mVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      return mVar2;\n    }" { (return_statement "return mVar2;" return identifier ;) })) }))) (if_statement "if (n_00 < 1) {\n    iVar7 = 4;\n  }" if (parenthesized_expression "(n_00 < 1)" ( (binary_expression "n_00 < 1" identifier < number_literal) )) (compound_statement "{\n    iVar7 = 4;\n  }" { (expression_statement "iVar7 = 4;" (assignment_expression "iVar7 = 4" identifier = number_literal) ;) })) (expression_statement "(*(code *)PTR_memset_0009d2e8)(qp,0xff,iVar7);" (call_expression "(*(code *)PTR_memset_0009d2e8)(qp,0xff,iVar7)" (parenthesized_expression "(*(code *)PTR_memset_0009d2e8)" ( (pointer_expression "*(code *)PTR_memset_0009d2e8" * (cast_expression "(code *)PTR_memset_0009d2e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(qp,0xff,iVar7)" ( identifier , number_literal , identifier ))) ;) (return_statement "return mVar2;" return identifier ;) })))
(translation_unit "int __gmpn_dcpi1_divappr_q_n\n              (int param_1,int param_2,int param_3,int param_4,undefined4 *param_5,\n              undefined4 param_6)\n\n{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  int iVar11;\n  \n  iVar8 = param_4 >> 1;\n  iVar5 = iVar8 * 4;\n  iVar11 = param_4 - iVar8;\n  piVar9 = (int *)(param_1 + iVar5);\n  iVar7 = param_2 + iVar8 * 8;\n  if (iVar11 < 0x28) {\n    iVar7 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5);\n  }\n  else {\n    iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6);\n  }\n  (*(code *)PTR___gmpn_mul_0009d2b4)(param_6,piVar9,iVar11,param_3,iVar8);\n  iVar10 = param_2 + iVar5;\n  iVar2 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar10,iVar10,param_6,param_4);\n  if (iVar7 != 0) {\n    iVar3 = param_2 + param_4 * 4;\n    iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8);\n    iVar2 = iVar2 + iVar3;\n  }\n  if (iVar2 != 0) {\n    do {\n      iVar3 = *piVar9;\n      *piVar9 = iVar3 + -1;\n      if (iVar3 == 0) {\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }\n      iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);\n      iVar2 = iVar2 - iVar3;\n    } while (iVar2 != 0);\n  }\n  param_2 = param_2 + iVar11 * 4;\n  param_3 = param_3 + iVar11 * 4;\n  if (iVar8 < 200) {\n    iVar11 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n    if (iVar8 < 1) {\n      return iVar7;\n    }\n  }\n  else {\n    iVar11 = __gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n  }\n  if (iVar8 < 1) {\n    iVar5 = 4;\n  }\n  (*(code *)PTR_memset_0009d2e8)(param_1,0xff,iVar5);\n  return iVar7;\n}\n\n" (function_definition "int __gmpn_dcpi1_divappr_q_n\n              (int param_1,int param_2,int param_3,int param_4,undefined4 *param_5,\n              undefined4 param_6)\n\n{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  int iVar11;\n  \n  iVar8 = param_4 >> 1;\n  iVar5 = iVar8 * 4;\n  iVar11 = param_4 - iVar8;\n  piVar9 = (int *)(param_1 + iVar5);\n  iVar7 = param_2 + iVar8 * 8;\n  if (iVar11 < 0x28) {\n    iVar7 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5);\n  }\n  else {\n    iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6);\n  }\n  (*(code *)PTR___gmpn_mul_0009d2b4)(param_6,piVar9,iVar11,param_3,iVar8);\n  iVar10 = param_2 + iVar5;\n  iVar2 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar10,iVar10,param_6,param_4);\n  if (iVar7 != 0) {\n    iVar3 = param_2 + param_4 * 4;\n    iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8);\n    iVar2 = iVar2 + iVar3;\n  }\n  if (iVar2 != 0) {\n    do {\n      iVar3 = *piVar9;\n      *piVar9 = iVar3 + -1;\n      if (iVar3 == 0) {\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }\n      iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);\n      iVar2 = iVar2 - iVar3;\n    } while (iVar2 != 0);\n  }\n  param_2 = param_2 + iVar11 * 4;\n  param_3 = param_3 + iVar11 * 4;\n  if (iVar8 < 200) {\n    iVar11 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n    if (iVar8 < 1) {\n      return iVar7;\n    }\n  }\n  else {\n    iVar11 = __gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n  }\n  if (iVar8 < 1) {\n    iVar5 = 4;\n  }\n  (*(code *)PTR_memset_0009d2e8)(param_1,0xff,iVar5);\n  return iVar7;\n}" primitive_type (function_declarator "__gmpn_dcpi1_divappr_q_n\n              (int param_1,int param_2,int param_3,int param_4,undefined4 *param_5,\n              undefined4 param_6)" identifier (parameter_list "(int param_1,int param_2,int param_3,int param_4,undefined4 *param_5,\n              undefined4 param_6)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "undefined4 *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "undefined4 param_6" type_identifier identifier) ))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  int iVar11;\n  \n  iVar8 = param_4 >> 1;\n  iVar5 = iVar8 * 4;\n  iVar11 = param_4 - iVar8;\n  piVar9 = (int *)(param_1 + iVar5);\n  iVar7 = param_2 + iVar8 * 8;\n  if (iVar11 < 0x28) {\n    iVar7 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5);\n  }\n  else {\n    iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6);\n  }\n  (*(code *)PTR___gmpn_mul_0009d2b4)(param_6,piVar9,iVar11,param_3,iVar8);\n  iVar10 = param_2 + iVar5;\n  iVar2 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar10,iVar10,param_6,param_4);\n  if (iVar7 != 0) {\n    iVar3 = param_2 + param_4 * 4;\n    iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8);\n    iVar2 = iVar2 + iVar3;\n  }\n  if (iVar2 != 0) {\n    do {\n      iVar3 = *piVar9;\n      *piVar9 = iVar3 + -1;\n      if (iVar3 == 0) {\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }\n      iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);\n      iVar2 = iVar2 - iVar3;\n    } while (iVar2 != 0);\n  }\n  param_2 = param_2 + iVar11 * 4;\n  param_3 = param_3 + iVar11 * 4;\n  if (iVar8 < 200) {\n    iVar11 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n    if (iVar8 < 1) {\n      return iVar7;\n    }\n  }\n  else {\n    iVar11 = __gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n  }\n  if (iVar8 < 1) {\n    iVar5 = 4;\n  }\n  (*(code *)PTR_memset_0009d2e8)(param_1,0xff,iVar5);\n  return iVar7;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (expression_statement "iVar8 = param_4 >> 1;" (assignment_expression "iVar8 = param_4 >> 1" identifier = (binary_expression "param_4 >> 1" identifier >> number_literal)) ;) (expression_statement "iVar5 = iVar8 * 4;" (assignment_expression "iVar5 = iVar8 * 4" identifier = (binary_expression "iVar8 * 4" identifier * number_literal)) ;) (expression_statement "iVar11 = param_4 - iVar8;" (assignment_expression "iVar11 = param_4 - iVar8" identifier = (binary_expression "param_4 - iVar8" identifier - identifier)) ;) (expression_statement "piVar9 = (int *)(param_1 + iVar5);" (assignment_expression "piVar9 = (int *)(param_1 + iVar5)" identifier = (cast_expression "(int *)(param_1 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + iVar5)" ( (binary_expression "param_1 + iVar5" identifier + identifier) )))) ;) (expression_statement "iVar7 = param_2 + iVar8 * 8;" (assignment_expression "iVar7 = param_2 + iVar8 * 8" identifier = (binary_expression "param_2 + iVar8 * 8" identifier + (binary_expression "iVar8 * 8" identifier * number_literal))) ;) (if_statement "if (iVar11 < 0x28) {\n    iVar7 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5);\n  }\n  else {\n    iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6);\n  }" if (parenthesized_expression "(iVar11 < 0x28)" ( (binary_expression "iVar11 < 0x28" identifier < number_literal) )) (compound_statement "{\n    iVar7 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5);\n  }" { (expression_statement "iVar7 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5);" (assignment_expression "iVar7 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5)" identifier = (call_expression "(*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)" ( (pointer_expression "*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c" * (cast_expression "(code *)PTR___gmpn_sbpi1_div_qr_0009d43c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5)" ( identifier , identifier , (binary_expression "iVar11 * 2" identifier * number_literal) , (binary_expression "param_3 + iVar5" identifier + identifier) , identifier , (pointer_expression "*param_5" * identifier) )))) ;) }) (else_clause "else {\n    iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6);\n  }" else (compound_statement "{\n    iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6);\n  }" { (expression_statement "iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6);" (assignment_expression "iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6)" identifier = (call_expression "(*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6)" (parenthesized_expression "(*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)" ( (pointer_expression "*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4" * (cast_expression "(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6)" ( identifier , identifier , (binary_expression "param_3 + iVar5" identifier + identifier) , identifier , identifier , identifier )))) ;) }))) (expression_statement "(*(code *)PTR___gmpn_mul_0009d2b4)(param_6,piVar9,iVar11,param_3,iVar8);" (call_expression "(*(code *)PTR___gmpn_mul_0009d2b4)(param_6,piVar9,iVar11,param_3,iVar8)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_0009d2b4)" ( (pointer_expression "*(code *)PTR___gmpn_mul_0009d2b4" * (cast_expression "(code *)PTR___gmpn_mul_0009d2b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_6,piVar9,iVar11,param_3,iVar8)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar10 = param_2 + iVar5;" (assignment_expression "iVar10 = param_2 + iVar5" identifier = (binary_expression "param_2 + iVar5" identifier + identifier)) ;) (expression_statement "iVar2 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar10,iVar10,param_6,param_4);" (assignment_expression "iVar2 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar10,iVar10,param_6,param_4)" identifier = (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(iVar10,iVar10,param_6,param_4)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar10,iVar10,param_6,param_4)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 != 0) {\n    iVar3 = param_2 + param_4 * 4;\n    iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8);\n    iVar2 = iVar2 + iVar3;\n  }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar3 = param_2 + param_4 * 4;\n    iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8);\n    iVar2 = iVar2 + iVar3;\n  }" { (expression_statement "iVar3 = param_2 + param_4 * 4;" (assignment_expression "iVar3 = param_2 + param_4 * 4" identifier = (binary_expression "param_2 + param_4 * 4" identifier + (binary_expression "param_4 * 4" identifier * number_literal))) ;) (expression_statement "iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8);" (assignment_expression "iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8)" identifier = (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" ( (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" * (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,iVar3,param_3,iVar8)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar2 = iVar2 + iVar3;" (assignment_expression "iVar2 = iVar2 + iVar3" identifier = (binary_expression "iVar2 + iVar3" identifier + identifier)) ;) })) (if_statement "if (iVar2 != 0) {\n    do {\n      iVar3 = *piVar9;\n      *piVar9 = iVar3 + -1;\n      if (iVar3 == 0) {\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }\n      iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);\n      iVar2 = iVar2 - iVar3;\n    } while (iVar2 != 0);\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      iVar3 = *piVar9;\n      *piVar9 = iVar3 + -1;\n      if (iVar3 == 0) {\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }\n      iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);\n      iVar2 = iVar2 - iVar3;\n    } while (iVar2 != 0);\n  }" { (do_statement "do {\n      iVar3 = *piVar9;\n      *piVar9 = iVar3 + -1;\n      if (iVar3 == 0) {\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }\n      iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);\n      iVar2 = iVar2 - iVar3;\n    } while (iVar2 != 0);" do (compound_statement "{\n      iVar3 = *piVar9;\n      *piVar9 = iVar3 + -1;\n      if (iVar3 == 0) {\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }\n      iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);\n      iVar2 = iVar2 - iVar3;\n    }" { (expression_statement "iVar3 = *piVar9;" (assignment_expression "iVar3 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "*piVar9 = iVar3 + -1;" (assignment_expression "*piVar9 = iVar3 + -1" (pointer_expression "*piVar9" * identifier) = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (if_statement "if (iVar3 == 0) {\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }" { (if_statement "if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }" if (parenthesized_expression "(iVar11 < 2)" ( (binary_expression "iVar11 < 2" identifier < number_literal) )) (compound_statement "{\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }" { (labeled_statement "LAB_00072f80:\n          iVar7 = iVar7 + -1;" statement_identifier : (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ;)) }) (else_clause "else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }" else (compound_statement "{\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }" { (expression_statement "iVar3 = piVar9[1];" (assignment_expression "iVar3 = piVar9[1]" identifier = (subscript_expression "piVar9[1]" identifier [ number_literal ])) ;) (expression_statement "piVar9[1] = iVar3 + -1;" (assignment_expression "piVar9[1] = iVar3 + -1" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (if_statement "if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }" { (if_statement "if (iVar11 == 2) goto LAB_00072f80;" if (parenthesized_expression "(iVar11 == 2)" ( (binary_expression "iVar11 == 2" identifier == number_literal) )) (goto_statement "goto LAB_00072f80;" goto statement_identifier ;)) (expression_statement "iVar3 = piVar9[2];" (assignment_expression "iVar3 = piVar9[2]" identifier = (subscript_expression "piVar9[2]" identifier [ number_literal ])) ;) (expression_statement "piVar9[2] = iVar3 + -1;" (assignment_expression "piVar9[2] = iVar3 + -1" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = (binary_expression "iVar3 + -1" identifier + number_literal)) ;) (if_statement "if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }" { (expression_statement "iVar3 = 3;" (assignment_expression "iVar3 = 3" identifier = number_literal) ;) (expression_statement "piVar4 = piVar9 + 3;" (assignment_expression "piVar4 = piVar9 + 3" identifier = (binary_expression "piVar9 + 3" identifier + number_literal)) ;) (do_statement "do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);" do (compound_statement "{\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              }" { (expression_statement "bVar1 = iVar11 == iVar3;" (assignment_expression "bVar1 = iVar11 == iVar3" identifier = (binary_expression "iVar11 == iVar3" identifier == identifier)) ;) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (if_statement "if (bVar1) goto LAB_00072f80;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_00072f80;" goto statement_identifier ;)) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (expression_statement "*piVar4 = iVar6 + -1;" (assignment_expression "*piVar4 = iVar6 + -1" (pointer_expression "*piVar4" * identifier) = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "piVar4 = piVar4 + 1;" (assignment_expression "piVar4 = piVar4 + 1" identifier = (binary_expression "piVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) ;) })) })) }))) })) (expression_statement "iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);" (assignment_expression "iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" ( (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" * (cast_expression "(code *)PTR___gmpn_add_n_0009d334" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar10,iVar10,param_3,param_4)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar2 = iVar2 - iVar3;" (assignment_expression "iVar2 = iVar2 - iVar3" identifier = (binary_expression "iVar2 - iVar3" identifier - identifier)) ;) }) while (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) ;) })) (expression_statement "param_2 = param_2 + iVar11 * 4;" (assignment_expression "param_2 = param_2 + iVar11 * 4" identifier = (binary_expression "param_2 + iVar11 * 4" identifier + (binary_expression "iVar11 * 4" identifier * number_literal))) ;) (expression_statement "param_3 = param_3 + iVar11 * 4;" (assignment_expression "param_3 = param_3 + iVar11 * 4" identifier = (binary_expression "param_3 + iVar11 * 4" identifier + (binary_expression "iVar11 * 4" identifier * number_literal))) ;) (if_statement "if (iVar8 < 200) {\n    iVar11 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n    if (iVar8 < 1) {\n      return iVar7;\n    }\n  }\n  else {\n    iVar11 = __gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n  }" if (parenthesized_expression "(iVar8 < 200)" ( (binary_expression "iVar8 < 200" identifier < number_literal) )) (compound_statement "{\n    iVar11 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n    if (iVar8 < 1) {\n      return iVar7;\n    }\n  }" { (expression_statement "iVar11 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5);" (assignment_expression "iVar11 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5)" identifier = (call_expression "(*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)" ( (pointer_expression "*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414" * (cast_expression "(code *)PTR___gmpn_sbpi1_divappr_q_0009d414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5)" ( identifier , identifier , (binary_expression "iVar8 << 1" identifier << number_literal) , identifier , identifier , (pointer_expression "*param_5" * identifier) )))) ;) (if_statement "if (iVar11 == 0) {\n      return iVar7;\n    }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n      return iVar7;\n    }" { (return_statement "return iVar7;" return identifier ;) })) (if_statement "if (iVar8 < 1) {\n      return iVar7;\n    }" if (parenthesized_expression "(iVar8 < 1)" ( (binary_expression "iVar8 < 1" identifier < number_literal) )) (compound_statement "{\n      return iVar7;\n    }" { (return_statement "return iVar7;" return identifier ;) })) }) (else_clause "else {\n    iVar11 = __gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n  }" else (compound_statement "{\n    iVar11 = __gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n  }" { (expression_statement "iVar11 = __gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6);" (assignment_expression "iVar11 = __gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6)" identifier = (call_expression "__gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6)" identifier (argument_list "(param_1,param_2,param_3,iVar8,param_5,param_6)" ( identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar11 == 0) {\n      return iVar7;\n    }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n      return iVar7;\n    }" { (return_statement "return iVar7;" return identifier ;) })) }))) (if_statement "if (iVar8 < 1) {\n    iVar5 = 4;\n  }" if (parenthesized_expression "(iVar8 < 1)" ( (binary_expression "iVar8 < 1" identifier < number_literal) )) (compound_statement "{\n    iVar5 = 4;\n  }" { (expression_statement "iVar5 = 4;" (assignment_expression "iVar5 = 4" identifier = number_literal) ;) })) (expression_statement "(*(code *)PTR_memset_0009d2e8)(param_1,0xff,iVar5);" (call_expression "(*(code *)PTR_memset_0009d2e8)(param_1,0xff,iVar5)" (parenthesized_expression "(*(code *)PTR_memset_0009d2e8)" ( (pointer_expression "*(code *)PTR_memset_0009d2e8" * (cast_expression "(code *)PTR_memset_0009d2e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,0xff,iVar5)" ( identifier , number_literal , identifier ))) ;) (return_statement "return iVar7;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , (binary_expression IDENT * LIT) , (binary_expression IDENT + IDENT) , IDENT , (pointer_expression * IDENT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , (binary_expression IDENT + IDENT) , IDENT , IDENT , IDENT )))) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT == IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) })) })) }))) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , (binary_expression IDENT << LIT) , IDENT , IDENT , (pointer_expression * IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (return_statement return IDENT ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return IDENT ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT ))) ;) (return_statement return IDENT ;) })))
(function_definition "int __gmpn_dcpi1_divappr_q_n\n              (int param_1,int param_2,int param_3,int param_4,undefined4 *param_5,\n              undefined4 param_6)\n\n{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  int iVar11;\n  \n  iVar8 = param_4 >> 1;\n  iVar5 = iVar8 * 4;\n  iVar11 = param_4 - iVar8;\n  piVar9 = (int *)(param_1 + iVar5);\n  iVar7 = param_2 + iVar8 * 8;\n  if (iVar11 < 0x28) {\n    iVar7 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5);\n  }\n  else {\n    iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6);\n  }\n  (*(code *)PTR___gmpn_mul_0009d2b4)(param_6,piVar9,iVar11,param_3,iVar8);\n  iVar10 = param_2 + iVar5;\n  iVar2 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar10,iVar10,param_6,param_4);\n  if (iVar7 != 0) {\n    iVar3 = param_2 + param_4 * 4;\n    iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8);\n    iVar2 = iVar2 + iVar3;\n  }\n  if (iVar2 != 0) {\n    do {\n      iVar3 = *piVar9;\n      *piVar9 = iVar3 + -1;\n      if (iVar3 == 0) {\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }\n      iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);\n      iVar2 = iVar2 - iVar3;\n    } while (iVar2 != 0);\n  }\n  param_2 = param_2 + iVar11 * 4;\n  param_3 = param_3 + iVar11 * 4;\n  if (iVar8 < 200) {\n    iVar11 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n    if (iVar8 < 1) {\n      return iVar7;\n    }\n  }\n  else {\n    iVar11 = __gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n  }\n  if (iVar8 < 1) {\n    iVar5 = 4;\n  }\n  (*(code *)PTR_memset_0009d2e8)(param_1,0xff,iVar5);\n  return iVar7;\n}" (primitive_type "int") (function_declarator "__gmpn_dcpi1_divappr_q_n\n              (int param_1,int param_2,int param_3,int param_4,undefined4 *param_5,\n              undefined4 param_6)" (identifier "__gmpn_dcpi1_divappr_q_n") (parameter_list "(int param_1,int param_2,int param_3,int param_4,undefined4 *param_5,\n              undefined4 param_6)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) (, ",") (parameter_declaration "undefined4 *param_5" (type_identifier "undefined4") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) (, ",") (parameter_declaration "undefined4 param_6" (type_identifier "undefined4") (identifier "param_6")) () ")"))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  int iVar3;\n  int *piVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  int iVar11;\n  \n  iVar8 = param_4 >> 1;\n  iVar5 = iVar8 * 4;\n  iVar11 = param_4 - iVar8;\n  piVar9 = (int *)(param_1 + iVar5);\n  iVar7 = param_2 + iVar8 * 8;\n  if (iVar11 < 0x28) {\n    iVar7 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5);\n  }\n  else {\n    iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6);\n  }\n  (*(code *)PTR___gmpn_mul_0009d2b4)(param_6,piVar9,iVar11,param_3,iVar8);\n  iVar10 = param_2 + iVar5;\n  iVar2 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar10,iVar10,param_6,param_4);\n  if (iVar7 != 0) {\n    iVar3 = param_2 + param_4 * 4;\n    iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8);\n    iVar2 = iVar2 + iVar3;\n  }\n  if (iVar2 != 0) {\n    do {\n      iVar3 = *piVar9;\n      *piVar9 = iVar3 + -1;\n      if (iVar3 == 0) {\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }\n      iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);\n      iVar2 = iVar2 - iVar3;\n    } while (iVar2 != 0);\n  }\n  param_2 = param_2 + iVar11 * 4;\n  param_3 = param_3 + iVar11 * 4;\n  if (iVar8 < 200) {\n    iVar11 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n    if (iVar8 < 1) {\n      return iVar7;\n    }\n  }\n  else {\n    iVar11 = __gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n  }\n  if (iVar8 < 1) {\n    iVar5 = 4;\n  }\n  (*(code *)PTR_memset_0009d2e8)(param_1,0xff,iVar5);\n  return iVar7;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (expression_statement "iVar8 = param_4 >> 1;" (assignment_expression "iVar8 = param_4 >> 1" (identifier "iVar8") (= "=") (binary_expression "param_4 >> 1" (identifier "param_4") (>> ">>") (number_literal "1"))) (; ";")) (expression_statement "iVar5 = iVar8 * 4;" (assignment_expression "iVar5 = iVar8 * 4" (identifier "iVar5") (= "=") (binary_expression "iVar8 * 4" (identifier "iVar8") (* "*") (number_literal "4"))) (; ";")) (expression_statement "iVar11 = param_4 - iVar8;" (assignment_expression "iVar11 = param_4 - iVar8" (identifier "iVar11") (= "=") (binary_expression "param_4 - iVar8" (identifier "param_4") (- "-") (identifier "iVar8"))) (; ";")) (expression_statement "piVar9 = (int *)(param_1 + iVar5);" (assignment_expression "piVar9 = (int *)(param_1 + iVar5)" (identifier "piVar9") (= "=") (cast_expression "(int *)(param_1 + iVar5)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + iVar5)" (( "(") (binary_expression "param_1 + iVar5" (identifier "param_1") (+ "+") (identifier "iVar5")) () ")")))) (; ";")) (expression_statement "iVar7 = param_2 + iVar8 * 8;" (assignment_expression "iVar7 = param_2 + iVar8 * 8" (identifier "iVar7") (= "=") (binary_expression "param_2 + iVar8 * 8" (identifier "param_2") (+ "+") (binary_expression "iVar8 * 8" (identifier "iVar8") (* "*") (number_literal "8")))) (; ";")) (if_statement "if (iVar11 < 0x28) {\n    iVar7 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5);\n  }\n  else {\n    iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6);\n  }" (if "if") (parenthesized_expression "(iVar11 < 0x28)" (( "(") (binary_expression "iVar11 < 0x28" (identifier "iVar11") (< "<") (number_literal "0x28")) () ")")) (compound_statement "{\n    iVar7 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5);\n  }" ({ "{") (expression_statement "iVar7 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5);" (assignment_expression "iVar7 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)\n                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)" (( "(") (pointer_expression "*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c" (* "*") (cast_expression "(code *)PTR___gmpn_sbpi1_div_qr_0009d43c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_sbpi1_div_qr_0009d43c"))) () ")")) (argument_list "(piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5)" (( "(") (identifier "piVar9") (, ",") (identifier "iVar7") (, ",") (binary_expression "iVar11 * 2" (identifier "iVar11") (* "*") (number_literal "2")) (, ",") (binary_expression "param_3 + iVar5" (identifier "param_3") (+ "+") (identifier "iVar5")) (, ",") (identifier "iVar11") (, ",") (pointer_expression "*param_5" (* "*") (identifier "param_5")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n    iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6);\n  }" (else "else") (compound_statement "{\n    iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6);\n  }" ({ "{") (expression_statement "iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6);" (assignment_expression "iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)\n                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6)" (parenthesized_expression "(*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)" (( "(") (pointer_expression "*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4" (* "*") (cast_expression "(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_dcpi1_div_qr_n_0009d0d4"))) () ")")) (argument_list "(piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6)" (( "(") (identifier "piVar9") (, ",") (identifier "iVar7") (, ",") (binary_expression "param_3 + iVar5" (identifier "param_3") (+ "+") (identifier "iVar5")) (, ",") (identifier "iVar11") (, ",") (identifier "param_5") (, ",") (identifier "param_6") () ")")))) (; ";")) (} "}")))) (expression_statement "(*(code *)PTR___gmpn_mul_0009d2b4)(param_6,piVar9,iVar11,param_3,iVar8);" (call_expression "(*(code *)PTR___gmpn_mul_0009d2b4)(param_6,piVar9,iVar11,param_3,iVar8)" (parenthesized_expression "(*(code *)PTR___gmpn_mul_0009d2b4)" (( "(") (pointer_expression "*(code *)PTR___gmpn_mul_0009d2b4" (* "*") (cast_expression "(code *)PTR___gmpn_mul_0009d2b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_mul_0009d2b4"))) () ")")) (argument_list "(param_6,piVar9,iVar11,param_3,iVar8)" (( "(") (identifier "param_6") (, ",") (identifier "piVar9") (, ",") (identifier "iVar11") (, ",") (identifier "param_3") (, ",") (identifier "iVar8") () ")"))) (; ";")) (expression_statement "iVar10 = param_2 + iVar5;" (assignment_expression "iVar10 = param_2 + iVar5" (identifier "iVar10") (= "=") (binary_expression "param_2 + iVar5" (identifier "param_2") (+ "+") (identifier "iVar5"))) (; ";")) (expression_statement "iVar2 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar10,iVar10,param_6,param_4);" (assignment_expression "iVar2 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar10,iVar10,param_6,param_4)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(iVar10,iVar10,param_6,param_4)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" (( "(") (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" (* "*") (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_sub_n_0009d514"))) () ")")) (argument_list "(iVar10,iVar10,param_6,param_4)" (( "(") (identifier "iVar10") (, ",") (identifier "iVar10") (, ",") (identifier "param_6") (, ",") (identifier "param_4") () ")")))) (; ";")) (if_statement "if (iVar7 != 0) {\n    iVar3 = param_2 + param_4 * 4;\n    iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8);\n    iVar2 = iVar2 + iVar3;\n  }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar3 = param_2 + param_4 * 4;\n    iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8);\n    iVar2 = iVar2 + iVar3;\n  }" ({ "{") (expression_statement "iVar3 = param_2 + param_4 * 4;" (assignment_expression "iVar3 = param_2 + param_4 * 4" (identifier "iVar3") (= "=") (binary_expression "param_2 + param_4 * 4" (identifier "param_2") (+ "+") (binary_expression "param_4 * 4" (identifier "param_4") (* "*") (number_literal "4")))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8);" (assignment_expression "iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8)" (parenthesized_expression "(*(code *)PTR___gmpn_sub_n_0009d514)" (( "(") (pointer_expression "*(code *)PTR___gmpn_sub_n_0009d514" (* "*") (cast_expression "(code *)PTR___gmpn_sub_n_0009d514" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_sub_n_0009d514"))) () ")")) (argument_list "(iVar3,iVar3,param_3,iVar8)" (( "(") (identifier "iVar3") (, ",") (identifier "iVar3") (, ",") (identifier "param_3") (, ",") (identifier "iVar8") () ")")))) (; ";")) (expression_statement "iVar2 = iVar2 + iVar3;" (assignment_expression "iVar2 = iVar2 + iVar3" (identifier "iVar2") (= "=") (binary_expression "iVar2 + iVar3" (identifier "iVar2") (+ "+") (identifier "iVar3"))) (; ";")) (} "}"))) (if_statement "if (iVar2 != 0) {\n    do {\n      iVar3 = *piVar9;\n      *piVar9 = iVar3 + -1;\n      if (iVar3 == 0) {\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }\n      iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);\n      iVar2 = iVar2 - iVar3;\n    } while (iVar2 != 0);\n  }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    do {\n      iVar3 = *piVar9;\n      *piVar9 = iVar3 + -1;\n      if (iVar3 == 0) {\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }\n      iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);\n      iVar2 = iVar2 - iVar3;\n    } while (iVar2 != 0);\n  }" ({ "{") (do_statement "do {\n      iVar3 = *piVar9;\n      *piVar9 = iVar3 + -1;\n      if (iVar3 == 0) {\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }\n      iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);\n      iVar2 = iVar2 - iVar3;\n    } while (iVar2 != 0);" (do "do") (compound_statement "{\n      iVar3 = *piVar9;\n      *piVar9 = iVar3 + -1;\n      if (iVar3 == 0) {\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }\n      iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);\n      iVar2 = iVar2 - iVar3;\n    }" ({ "{") (expression_statement "iVar3 = *piVar9;" (assignment_expression "iVar3 = *piVar9" (identifier "iVar3") (= "=") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) (; ";")) (expression_statement "*piVar9 = iVar3 + -1;" (assignment_expression "*piVar9 = iVar3 + -1" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (iVar3 == 0) {\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }\n      }" ({ "{") (if_statement "if (iVar11 < 2) {\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }\n        else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }" (if "if") (parenthesized_expression "(iVar11 < 2)" (( "(") (binary_expression "iVar11 < 2" (identifier "iVar11") (< "<") (number_literal "2")) () ")")) (compound_statement "{\nLAB_00072f80:\n          iVar7 = iVar7 + -1;\n        }" ({ "{") (labeled_statement "LAB_00072f80:\n          iVar7 = iVar7 + -1;" (statement_identifier "LAB_00072f80") (: ":") (expression_statement "iVar7 = iVar7 + -1;" (assignment_expression "iVar7 = iVar7 + -1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + -1" (identifier "iVar7") (+ "+") (number_literal "-1"))) (; ";"))) (} "}")) (else_clause "else {\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }" (else "else") (compound_statement "{\n          iVar3 = piVar9[1];\n          piVar9[1] = iVar3 + -1;\n          if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }\n        }" ({ "{") (expression_statement "iVar3 = piVar9[1];" (assignment_expression "iVar3 = piVar9[1]" (identifier "iVar3") (= "=") (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "piVar9[1] = iVar3 + -1;" (assignment_expression "piVar9[1] = iVar3 + -1" (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (iVar3 == 0) {\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            if (iVar11 == 2) goto LAB_00072f80;\n            iVar3 = piVar9[2];\n            piVar9[2] = iVar3 + -1;\n            if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }\n          }" ({ "{") (if_statement "if (iVar11 == 2) goto LAB_00072f80;" (if "if") (parenthesized_expression "(iVar11 == 2)" (( "(") (binary_expression "iVar11 == 2" (identifier "iVar11") (== "==") (number_literal "2")) () ")")) (goto_statement "goto LAB_00072f80;" (goto "goto") (statement_identifier "LAB_00072f80") (; ";"))) (expression_statement "iVar3 = piVar9[2];" (assignment_expression "iVar3 = piVar9[2]" (identifier "iVar3") (= "=") (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "piVar9[2] = iVar3 + -1;" (assignment_expression "piVar9[2] = iVar3 + -1" (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (iVar3 == 0) {\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              iVar3 = 3;\n              piVar4 = piVar9 + 3;\n              do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);\n            }" ({ "{") (expression_statement "iVar3 = 3;" (assignment_expression "iVar3 = 3" (identifier "iVar3") (= "=") (number_literal "3")) (; ";")) (expression_statement "piVar4 = piVar9 + 3;" (assignment_expression "piVar4 = piVar9 + 3" (identifier "piVar4") (= "=") (binary_expression "piVar9 + 3" (identifier "piVar9") (+ "+") (number_literal "3"))) (; ";")) (do_statement "do {\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              } while (iVar6 == 0);" (do "do") (compound_statement "{\n                bVar1 = iVar11 == iVar3;\n                iVar3 = iVar3 + 1;\n                if (bVar1) goto LAB_00072f80;\n                iVar6 = *piVar4;\n                *piVar4 = iVar6 + -1;\n                piVar4 = piVar4 + 1;\n              }" ({ "{") (expression_statement "bVar1 = iVar11 == iVar3;" (assignment_expression "bVar1 = iVar11 == iVar3" (identifier "bVar1") (= "=") (binary_expression "iVar11 == iVar3" (identifier "iVar11") (== "==") (identifier "iVar3"))) (; ";")) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (bVar1) goto LAB_00072f80;" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (goto_statement "goto LAB_00072f80;" (goto "goto") (statement_identifier "LAB_00072f80") (; ";"))) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" (identifier "iVar6") (= "=") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (; ";")) (expression_statement "*piVar4 = iVar6 + -1;" (assignment_expression "*piVar4 = iVar6 + -1" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (binary_expression "iVar6 + -1" (identifier "iVar6") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "piVar4 = piVar4 + 1;" (assignment_expression "piVar4 = piVar4 + 1" (identifier "piVar4") (= "=") (binary_expression "piVar4 + 1" (identifier "piVar4") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (; ";")) (} "}"))) (} "}"))) (} "}")))) (} "}"))) (expression_statement "iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);" (assignment_expression "iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4)" (parenthesized_expression "(*(code *)PTR___gmpn_add_n_0009d334)" (( "(") (pointer_expression "*(code *)PTR___gmpn_add_n_0009d334" (* "*") (cast_expression "(code *)PTR___gmpn_add_n_0009d334" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_add_n_0009d334"))) () ")")) (argument_list "(iVar10,iVar10,param_3,param_4)" (( "(") (identifier "iVar10") (, ",") (identifier "iVar10") (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")")))) (; ";")) (expression_statement "iVar2 = iVar2 - iVar3;" (assignment_expression "iVar2 = iVar2 - iVar3" (identifier "iVar2") (= "=") (binary_expression "iVar2 - iVar3" (identifier "iVar2") (- "-") (identifier "iVar3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "param_2 = param_2 + iVar11 * 4;" (assignment_expression "param_2 = param_2 + iVar11 * 4" (identifier "param_2") (= "=") (binary_expression "param_2 + iVar11 * 4" (identifier "param_2") (+ "+") (binary_expression "iVar11 * 4" (identifier "iVar11") (* "*") (number_literal "4")))) (; ";")) (expression_statement "param_3 = param_3 + iVar11 * 4;" (assignment_expression "param_3 = param_3 + iVar11 * 4" (identifier "param_3") (= "=") (binary_expression "param_3 + iVar11 * 4" (identifier "param_3") (+ "+") (binary_expression "iVar11 * 4" (identifier "iVar11") (* "*") (number_literal "4")))) (; ";")) (if_statement "if (iVar8 < 200) {\n    iVar11 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n    if (iVar8 < 1) {\n      return iVar7;\n    }\n  }\n  else {\n    iVar11 = __gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n  }" (if "if") (parenthesized_expression "(iVar8 < 200)" (( "(") (binary_expression "iVar8 < 200" (identifier "iVar8") (< "<") (number_literal "200")) () ")")) (compound_statement "{\n    iVar11 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n    if (iVar8 < 1) {\n      return iVar7;\n    }\n  }" ({ "{") (expression_statement "iVar11 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5);" (assignment_expression "iVar11 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5)" (identifier "iVar11") (= "=") (call_expression "(*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)\n                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5)" (parenthesized_expression "(*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)" (( "(") (pointer_expression "*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414" (* "*") (cast_expression "(code *)PTR___gmpn_sbpi1_divappr_q_0009d414" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_sbpi1_divappr_q_0009d414"))) () ")")) (argument_list "(param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (binary_expression "iVar8 << 1" (identifier "iVar8") (<< "<<") (number_literal "1")) (, ",") (identifier "param_3") (, ",") (identifier "iVar8") (, ",") (pointer_expression "*param_5" (* "*") (identifier "param_5")) () ")")))) (; ";")) (if_statement "if (iVar11 == 0) {\n      return iVar7;\n    }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return iVar7;\n    }" ({ "{") (return_statement "return iVar7;" (return "return") (identifier "iVar7") (; ";")) (} "}"))) (if_statement "if (iVar8 < 1) {\n      return iVar7;\n    }" (if "if") (parenthesized_expression "(iVar8 < 1)" (( "(") (binary_expression "iVar8 < 1" (identifier "iVar8") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n      return iVar7;\n    }" ({ "{") (return_statement "return iVar7;" (return "return") (identifier "iVar7") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    iVar11 = __gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n  }" (else "else") (compound_statement "{\n    iVar11 = __gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6);\n    if (iVar11 == 0) {\n      return iVar7;\n    }\n  }" ({ "{") (expression_statement "iVar11 = __gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6);" (assignment_expression "iVar11 = __gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6)" (identifier "iVar11") (= "=") (call_expression "__gmpn_dcpi1_divappr_q_n(param_1,param_2,param_3,iVar8,param_5,param_6)" (identifier "__gmpn_dcpi1_divappr_q_n") (argument_list "(param_1,param_2,param_3,iVar8,param_5,param_6)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "iVar8") (, ",") (identifier "param_5") (, ",") (identifier "param_6") () ")")))) (; ";")) (if_statement "if (iVar11 == 0) {\n      return iVar7;\n    }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return iVar7;\n    }" ({ "{") (return_statement "return iVar7;" (return "return") (identifier "iVar7") (; ";")) (} "}"))) (} "}")))) (if_statement "if (iVar8 < 1) {\n    iVar5 = 4;\n  }" (if "if") (parenthesized_expression "(iVar8 < 1)" (( "(") (binary_expression "iVar8 < 1" (identifier "iVar8") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n    iVar5 = 4;\n  }" ({ "{") (expression_statement "iVar5 = 4;" (assignment_expression "iVar5 = 4" (identifier "iVar5") (= "=") (number_literal "4")) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_memset_0009d2e8)(param_1,0xff,iVar5);" (call_expression "(*(code *)PTR_memset_0009d2e8)(param_1,0xff,iVar5)" (parenthesized_expression "(*(code *)PTR_memset_0009d2e8)" (( "(") (pointer_expression "*(code *)PTR_memset_0009d2e8" (* "*") (cast_expression "(code *)PTR_memset_0009d2e8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memset_0009d2e8"))) () ")")) (argument_list "(param_1,0xff,iVar5)" (( "(") (identifier "param_1") (, ",") (number_literal "0xff") (, ",") (identifier "iVar5") () ")"))) (; ";")) (return_statement "return iVar7;" (return "return") (identifier "iVar7") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (identifier)) (identifier) (pointer_expression argument: (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (binary_expression left: (identifier) right: (identifier)) (identifier) (identifier) (identifier)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (compound_statement (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: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_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: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier)))) (return_statement (identifier)))))

int MASKED
              (int param_1,int param_2,int param_3,int param_4,undefined4 *param_5,
              undefined4 param_6)

{
  bool bVar1;
  int iVar2;
  int iVar3;
  int *piVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  int *piVar9;
  int iVar10;
  int iVar11;
  
  iVar8 = param_4 >> 1;
  iVar5 = iVar8 * 4;
  iVar11 = param_4 - iVar8;
  piVar9 = (int *)(param_1 + iVar5);
  iVar7 = param_2 + iVar8 * 8;
  if (iVar11 < 0x28) {
    iVar7 = (*(code *)PTR___gmpn_sbpi1_div_qr_0009d43c)
                      (piVar9,iVar7,iVar11 * 2,param_3 + iVar5,iVar11,*param_5);
  }
  else {
    iVar7 = (*(code *)PTR___gmpn_dcpi1_div_qr_n_0009d0d4)
                      (piVar9,iVar7,param_3 + iVar5,iVar11,param_5,param_6);
  }
  (*(code *)PTR___gmpn_mul_0009d2b4)(param_6,piVar9,iVar11,param_3,iVar8);
  iVar10 = param_2 + iVar5;
  iVar2 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar10,iVar10,param_6,param_4);
  if (iVar7 != 0) {
    iVar3 = param_2 + param_4 * 4;
    iVar3 = (*(code *)PTR___gmpn_sub_n_0009d514)(iVar3,iVar3,param_3,iVar8);
    iVar2 = iVar2 + iVar3;
  }
  if (iVar2 != 0) {
    do {
      iVar3 = *piVar9;
      *piVar9 = iVar3 + -1;
      if (iVar3 == 0) {
        if (iVar11 < 2) {
LAB_00072f80:
          iVar7 = iVar7 + -1;
        }
        else {
          iVar3 = piVar9[1];
          piVar9[1] = iVar3 + -1;
          if (iVar3 == 0) {
            if (iVar11 == 2) goto LAB_00072f80;
            iVar3 = piVar9[2];
            piVar9[2] = iVar3 + -1;
            if (iVar3 == 0) {
              iVar3 = 3;
              piVar4 = piVar9 + 3;
              do {
                bVar1 = iVar11 == iVar3;
                iVar3 = iVar3 + 1;
                if (bVar1) goto LAB_00072f80;
                iVar6 = *piVar4;
                *piVar4 = iVar6 + -1;
                piVar4 = piVar4 + 1;
              } while (iVar6 == 0);
            }
          }
        }
      }
      iVar3 = (*(code *)PTR___gmpn_add_n_0009d334)(iVar10,iVar10,param_3,param_4);
      iVar2 = iVar2 - iVar3;
    } while (iVar2 != 0);
  }
  param_2 = param_2 + iVar11 * 4;
  param_3 = param_3 + iVar11 * 4;
  if (iVar8 < 200) {
    iVar11 = (*(code *)PTR___gmpn_sbpi1_divappr_q_0009d414)
                       (param_1,param_2,iVar8 << 1,param_3,iVar8,*param_5);
    if (iVar11 == 0) {
      return iVar7;
    }
    if (iVar8 < 1) {
      return iVar7;
    }
  }
  else {
    iVar11 = MASKED(param_1,param_2,param_3,iVar8,param_5,param_6);
    if (iVar11 == 0) {
      return iVar7;
    }
  }
  if (iVar8 < 1) {
    iVar5 = 4;
  }
  (*(code *)PTR_memset_0009d2e8)(param_1,0xff,iVar5);
  return iVar7;
}

