
int __gmpz_congruent_p(mpz_srcptr a,mpz_srcptr c,mpz_srcptr d)

{
  uint *puVar1;
  int *piVar2;
  mp_limb_t *pmVar3;
  uint uVar4;
  undefined *puVar5;
  uint uVar6;
  uint *puVar7;
  uint uVar8;
  mp_limb_t *pmVar9;
  int iVar10;
  uint uVar11;
  mp_limb_t mVar12;
  mp_limb_t *pmVar13;
  mp_limb_t *pmVar14;
  mp_limb_t *pmVar15;
  uint unaff_s0;
  mp_limb_t *unaff_s2;
  int iVar16;
  mp_limb_t *unaff_s5;
  uint uVar17;
  tmp_reentrant_t *__tmp_marker;
  int local_2c;
  
  puVar5 = PTR___stack_chk_guard_0009d540;
  iVar16 = d->_mp_size;
  local_2c = *(int *)PTR___stack_chk_guard_0009d540;
  if (iVar16 == 0) {
    iVar16 = (*(code *)PTR___gmpz_cmp_0009d244)();
    uVar8 = (uint)(iVar16 == 0);
    goto LAB_0002514c;
  }
  if (iVar16 < 0) {
    iVar16 = -iVar16;
  }
  uVar6 = a->_mp_size;
  pmVar14 = d->_mp_d;
  uVar8 = uVar6;
  if ((int)uVar6 < 0) {
    uVar8 = -uVar6;
  }
  uVar17 = c->_mp_size;
  uVar11 = uVar17;
  if ((int)uVar17 < 0) {
    uVar11 = -uVar17;
  }
  if ((int)uVar8 < (int)uVar11) {
    unaff_s5 = c->_mp_d;
    uVar4 = uVar17;
    c = a;
    unaff_s0 = uVar11;
  }
  else {
    unaff_s5 = a->_mp_d;
    uVar4 = uVar6;
    uVar6 = uVar17;
    unaff_s0 = uVar8;
    uVar8 = uVar11;
  }
  if (uVar6 == 0) {
    uVar8 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,pmVar14,iVar16);
    goto LAB_0002514c;
  }
  unaff_s2 = (mp_limb_t *)*pmVar14;
  uVar6 = uVar4 ^ uVar6;
  pmVar15 = c->_mp_d;
  pmVar13 = (mp_limb_t *)*pmVar15;
  uVar11 = (-(int)unaff_s2 & (uint)unaff_s2) - 1;
  if ((int)uVar6 < 0) {
    uVar17 = -(int)pmVar13 - *unaff_s5;
  }
  else {
    uVar17 = *unaff_s5 - (int)pmVar13;
  }
  if ((uVar17 & uVar11) != 0) {
    uVar8 = 0;
    goto LAB_0002514c;
  }
  if (uVar8 == 1) {
    if (iVar16 != 1) {
      if (((iVar16 != 2) || (unaff_s2 == (mp_limb_t *)0x0)) || (uVar11 < pmVar14[1]))
      goto LAB_00024fe0;
      if (((uint)unaff_s2 & 0xff) == 0) {
        uVar8 = (uint)unaff_s2 >> 8;
        iVar16 = 6;
        if ((uVar8 & 0xff) == 0) {
          uVar8 = (uint)unaff_s2 >> 0x10;
          iVar16 = 0xe;
          if ((uVar8 & 0xff) == 0) {
            uVar8 = (uint)unaff_s2 >> 0x18;
            iVar16 = 0x1e;
            if (uVar8 != 0) {
              iVar16 = 0x16;
            }
          }
        }
        uVar8 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar8 & uVar8] + iVar16;
      }
      else {
        uVar8 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;
      }
      unaff_s2 = (mp_limb_t *)(pmVar14[1] << (-uVar8 & 0x1f) | (uint)unaff_s2 >> (uVar8 & 0x1f));
    }
    if ((int)uVar6 < 0) {
      if (unaff_s2 < pmVar13) {
        if (unaff_s2 < (mp_limb_t *)0x10000) {
          iVar16 = 0;
          if ((mp_limb_t *)0xff < unaff_s2) {
            iVar16 = 0x18;
          }
          iVar10 = 9;
          if ((mp_limb_t *)0xff >= unaff_s2) {
            iVar10 = 1;
          }
        }
        else {
          iVar16 = 0x10;
          if ((mp_limb_t *)0xffffff < unaff_s2) {
            iVar16 = 8;
          }
          iVar10 = 0x19;
          if ((mp_limb_t *)0xffffff >= unaff_s2) {
            iVar10 = 0x11;
          }
        }
        pmVar14 = (mp_limb_t *)
                  ((int)unaff_s2 <<
                  (iVar16 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar10] & 0x1f
                  ));
        if (pmVar14 < pmVar13) {
          pmVar14 = (mp_limb_t *)((int)pmVar14 << 1);
        }
        pmVar13 = (mp_limb_t *)((int)pmVar14 - (int)pmVar13);
      }
      else {
        pmVar13 = (mp_limb_t *)((int)unaff_s2 - (int)pmVar13);
      }
    }
    if ((int)unaff_s0 < 10) {
      uVar8 = 1;
      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;
      if (((uint)unaff_s2 & 0xff) == 0) {
        uVar6 = (uint)unaff_s2 >> 8;
        iVar16 = 6;
        if ((uVar6 & 0xff) == 0) goto LAB_00025608;
        goto LAB_000255b8;
      }
      uVar6 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;
      goto LAB_0002547c;
    }
    pmVar14 = (mp_limb_t *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);
    if (pmVar13 < unaff_s2) {
      uVar8 = (uint)(pmVar13 == pmVar14);
    }
    else {
      if (unaff_s2 == (mp_limb_t *)0x0) {
        trap(7);
      }
      unaff_s2 = (mp_limb_t *)((uint)pmVar13 % (uint)unaff_s2 ^ (uint)pmVar14);
      uVar8 = (uint)(unaff_s2 == (mp_limb_t *)0x0);
    }
    goto LAB_0002514c;
  }
LAB_00024fe0:
  uVar11 = unaff_s0 + 1;
  unaff_s2 = (mp_limb_t *)(uVar11 * 4);
  __tmp_marker = (tmp_reentrant_t *)0x0;
  if (unaff_s2 < (mp_limb_t *)0x7f01) {
    pmVar13 = (mp_limb_t *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));
  }
  else {
    pmVar13 = (mp_limb_t *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&__tmp_marker,unaff_s2)
    ;
  }
  if ((int)uVar6 < 0) {
    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar13,unaff_s5,pmVar15,uVar8);
    uVar6 = uVar8;
    if (iVar10 != 0) {
      if ((int)unaff_s0 <= (int)uVar8) {
LAB_00025594:
        unaff_s2 = pmVar13 + uVar11;
        unaff_s2[-1] = 1;
        goto LAB_000250b0;
      }
      uVar6 = uVar8 + 1;
      pmVar15 = unaff_s5 + uVar8;
      mVar12 = *pmVar15;
      pmVar13[uVar8] = mVar12 + 1;
      if (mVar12 + 1 == 0) {
        if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025594;
        uVar6 = uVar8 + 2;
        mVar12 = unaff_s5[uVar8 + 1] + 1;
        pmVar13[uVar8 + 1] = mVar12;
        pmVar9 = pmVar13 + uVar8;
        while (mVar12 == 0) {
          if (unaff_s0 == uVar6) {
            mVar12 = 1;
            unaff_s0 = uVar11;
            goto LAB_000253d0;
          }
          pmVar3 = pmVar15 + 2;
          uVar6 = uVar6 + 1;
          pmVar15 = pmVar15 + 1;
          mVar12 = *pmVar3 + 1;
          pmVar9[2] = mVar12;
          pmVar9 = pmVar9 + 1;
        }
      }
    }
    mVar12 = 0;
    if ((pmVar13 == unaff_s5) || ((int)unaff_s0 <= (int)uVar6)) {
LAB_000253d0:
      unaff_s2 = pmVar13 + uVar11;
      unaff_s2[-1] = mVar12;
      uVar11 = unaff_s0;
    }
    else {
      pmVar9 = unaff_s5 + uVar6;
      unaff_s5 = (mp_limb_t *)((int)unaff_s5 + (int)(unaff_s2 + -1));
      pmVar15 = pmVar13 + uVar6;
      do {
        mVar12 = *pmVar9;
        pmVar9 = pmVar9 + 1;
        *pmVar15 = mVar12;
        pmVar15 = pmVar15 + 1;
      } while (unaff_s5 != pmVar9);
      unaff_s2 = pmVar13 + uVar11;
      unaff_s2[-1] = 0;
      uVar11 = unaff_s0;
    }
  }
  else if ((int)uVar8 < (int)unaff_s0) {
    iVar10 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar13,unaff_s5,pmVar15,uVar8);
    if (iVar10 == 0) {
      if (pmVar13 == unaff_s5) goto LAB_00025070;
LAB_0002523c:
      unaff_s5 = unaff_s5 + uVar8;
      pmVar15 = pmVar13 + uVar8;
      do {
        mVar12 = *unaff_s5;
        uVar8 = uVar8 + 1;
        unaff_s5 = unaff_s5 + 1;
        *pmVar15 = mVar12;
        pmVar15 = pmVar15 + 1;
      } while ((int)uVar8 < (int)unaff_s0);
    }
    else {
      uVar6 = uVar8 + 1;
      pmVar15 = unaff_s5 + uVar8;
      mVar12 = *pmVar15;
      pmVar13[uVar8] = mVar12 - 1;
      if (mVar12 == 0) {
        if ((int)uVar6 < (int)unaff_s0) {
          uVar6 = uVar8 + 2;
          mVar12 = unaff_s5[uVar8 + 1];
          pmVar13[uVar8 + 1] = mVar12 - 1;
          pmVar9 = pmVar13 + uVar8;
          while (mVar12 == 0) {
            if (unaff_s0 == uVar6) goto LAB_0002507c;
            mVar12 = pmVar15[2];
            uVar6 = uVar6 + 1;
            pmVar15 = pmVar15 + 1;
            pmVar9[2] = mVar12 - 1;
            pmVar9 = pmVar9 + 1;
          }
          goto LAB_0002522c;
        }
      }
      else {
LAB_0002522c:
        if (pmVar13 != unaff_s5) {
          uVar8 = uVar6;
          if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025070;
          goto LAB_0002523c;
        }
      }
    }
LAB_0002507c:
    pmVar15 = pmVar13 + uVar11;
    uVar11 = unaff_s0;
    if (pmVar15[-2] == 0) {
      iVar10 = (int)pmVar13 + (int)(unaff_s2 + -1);
      do {
        unaff_s0 = unaff_s0 - 1;
        if (unaff_s0 == 0) goto LAB_000250a8;
        piVar2 = (int *)(iVar10 + -8);
        iVar10 = iVar10 + -4;
        uVar11 = unaff_s0;
      } while (*piVar2 == 0);
    }
  }
  else {
    iVar10 = (int)unaff_s5 + (int)(unaff_s2 + -1);
    puVar7 = (uint *)((int)pmVar15 + (int)(unaff_s2 + -1));
    uVar6 = unaff_s0;
    do {
      uVar6 = uVar6 - 1;
      puVar7 = puVar7 + -1;
      pmVar9 = unaff_s5;
      if (uVar6 == 0xffffffff) goto LAB_00025058;
      puVar1 = (uint *)(iVar10 + -4);
      iVar10 = iVar10 + -4;
    } while (*puVar1 == *puVar7);
    if (*puVar1 <= *puVar7) {
      pmVar9 = pmVar15;
      pmVar15 = unaff_s5;
      uVar8 = unaff_s0;
    }
LAB_00025058:
    (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar13,pmVar9,pmVar15,uVar8);
LAB_00025070:
    if (uVar4 != 0) goto LAB_0002507c;
LAB_000250a8:
    uVar11 = 0;
  }
LAB_000250b0:
  uVar8 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(pmVar13,uVar11,pmVar14,iVar16);
  unaff_s0 = uVar11;
  if (__tmp_marker != (tmp_reentrant_t *)0x0) {
    (*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();
  }
LAB_0002514c:
  while (local_2c != *(int *)puVar5) {
    (*(code *)PTR___stack_chk_fail_0009d4d0)();
LAB_00025608:
    uVar6 = (uint)unaff_s2 >> 0x10;
    iVar16 = 0xe;
    if ((uVar6 & 0xff) == 0) {
      uVar6 = (uint)unaff_s2 >> 0x18;
      iVar16 = 0x1e;
      if (uVar6 != 0) {
        iVar16 = 0x16;
      }
    }
LAB_000255b8:
    uVar6 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar6 & uVar6] + iVar16;
LAB_0002547c:
    unaff_s2 = (mp_limb_t *)((uint)unaff_s2 >> (uVar6 & 0x1f));
LAB_00025484:
    pmVar14 = (mp_limb_t *)
              (*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);
    if (pmVar14 != (mp_limb_t *)0x0) {
      uVar8 = (uint)(unaff_s2 == pmVar14);
    }
  }
  return uVar8;
}



uint __gmpz_congruent_p(int param_1,int param_2,int param_3)

{
  uint *puVar1;
  int *piVar2;
  uint uVar3;
  undefined *puVar4;
  uint uVar5;
  uint *puVar6;
  uint uVar7;
  int *piVar8;
  int iVar9;
  uint uVar10;
  int *piVar11;
  undefined4 *puVar12;
  int *piVar13;
  uint unaff_s0;
  int *unaff_s2;
  int iVar14;
  int *unaff_s5;
  uint uVar15;
  int local_30;
  int local_2c;
  
  puVar4 = PTR___stack_chk_guard_0009d540;
  iVar14 = *(int *)(param_3 + 4);
  local_2c = *(int *)PTR___stack_chk_guard_0009d540;
  if (iVar14 == 0) {
    iVar14 = (*(code *)PTR___gmpz_cmp_0009d244)();
    uVar7 = (uint)(iVar14 == 0);
    goto LAB_0002514c;
  }
  if (iVar14 < 0) {
    iVar14 = -iVar14;
  }
  uVar5 = *(uint *)(param_1 + 4);
  puVar12 = *(undefined4 **)(param_3 + 8);
  uVar7 = uVar5;
  if ((int)uVar5 < 0) {
    uVar7 = -uVar5;
  }
  uVar15 = *(uint *)(param_2 + 4);
  uVar10 = uVar15;
  if ((int)uVar15 < 0) {
    uVar10 = -uVar15;
  }
  if ((int)uVar7 < (int)uVar10) {
    unaff_s5 = *(int **)(param_2 + 8);
    uVar3 = uVar15;
    unaff_s0 = uVar10;
  }
  else {
    unaff_s5 = *(int **)(param_1 + 8);
    uVar3 = uVar5;
    uVar5 = uVar15;
    unaff_s0 = uVar7;
    uVar7 = uVar10;
    param_1 = param_2;
  }
  if (uVar5 == 0) {
    uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14);
    goto LAB_0002514c;
  }
  unaff_s2 = (int *)*puVar12;
  uVar5 = uVar3 ^ uVar5;
  piVar13 = *(int **)(param_1 + 8);
  piVar11 = (int *)*piVar13;
  uVar10 = (-(int)unaff_s2 & (uint)unaff_s2) - 1;
  if ((int)uVar5 < 0) {
    uVar15 = -(int)piVar11 - *unaff_s5;
  }
  else {
    uVar15 = *unaff_s5 - (int)piVar11;
  }
  if ((uVar15 & uVar10) != 0) {
    uVar7 = 0;
    goto LAB_0002514c;
  }
  if (uVar7 == 1) {
    if (iVar14 != 1) {
      if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))
      goto LAB_00024fe0;
      if (((uint)unaff_s2 & 0xff) == 0) {
        uVar7 = (uint)unaff_s2 >> 8;
        iVar14 = 6;
        if ((uVar7 & 0xff) == 0) {
          uVar7 = (uint)unaff_s2 >> 0x10;
          iVar14 = 0xe;
          if ((uVar7 & 0xff) == 0) {
            uVar7 = (uint)unaff_s2 >> 0x18;
            iVar14 = 0x1e;
            if (uVar7 != 0) {
              iVar14 = 0x16;
            }
          }
        }
        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;
      }
      else {
        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;
      }
      unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));
    }
    if ((int)uVar5 < 0) {
      if (unaff_s2 < piVar11) {
        if (unaff_s2 < (int *)0x10000) {
          iVar14 = 0;
          if ((int *)0xff < unaff_s2) {
            iVar14 = 0x18;
          }
          iVar9 = 9;
          if ((int *)0xff >= unaff_s2) {
            iVar9 = 1;
          }
        }
        else {
          iVar14 = 0x10;
          if ((int *)0xffffff < unaff_s2) {
            iVar14 = 8;
          }
          iVar9 = 0x19;
          if ((int *)0xffffff >= unaff_s2) {
            iVar9 = 0x11;
          }
        }
        piVar13 = (int *)((int)unaff_s2 <<
                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]
                         & 0x1f));
        if (piVar13 < piVar11) {
          piVar13 = (int *)((int)piVar13 << 1);
        }
        piVar11 = (int *)((int)piVar13 - (int)piVar11);
      }
      else {
        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);
      }
    }
    if ((int)unaff_s0 < 10) {
      uVar7 = 1;
      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;
      if (((uint)unaff_s2 & 0xff) == 0) {
        uVar5 = (uint)unaff_s2 >> 8;
        iVar14 = 6;
        if ((uVar5 & 0xff) == 0) goto LAB_00025608;
        goto LAB_000255b8;
      }
      uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;
      goto LAB_0002547c;
    }
    piVar13 = (int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);
    if (piVar11 < unaff_s2) {
      uVar7 = (uint)(piVar11 == piVar13);
    }
    else {
      if (unaff_s2 == (int *)0x0) {
        trap(7);
      }
      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);
      uVar7 = (uint)(unaff_s2 == (int *)0x0);
    }
    goto LAB_0002514c;
  }
LAB_00024fe0:
  uVar10 = unaff_s0 + 1;
  unaff_s2 = (int *)(uVar10 * 4);
  local_30 = 0;
  if (unaff_s2 < (int *)0x7f01) {
    piVar11 = (int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));
  }
  else {
    piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2);
  }
  if ((int)uVar5 < 0) {
    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7);
    uVar5 = uVar7;
    if (iVar9 != 0) {
      if ((int)unaff_s0 <= (int)uVar7) {
LAB_00025594:
        unaff_s2 = piVar11 + uVar10;
        unaff_s2[-1] = 1;
        goto LAB_000250b0;
      }
      uVar5 = uVar7 + 1;
      piVar13 = unaff_s5 + uVar7;
      iVar9 = *piVar13;
      piVar11[uVar7] = iVar9 + 1;
      if (iVar9 + 1 == 0) {
        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;
        uVar5 = uVar7 + 2;
        iVar9 = unaff_s5[uVar7 + 1] + 1;
        piVar11[uVar7 + 1] = iVar9;
        piVar8 = piVar11 + uVar7;
        while (iVar9 == 0) {
          if (unaff_s0 == uVar5) {
            iVar9 = 1;
            unaff_s0 = uVar10;
            goto LAB_000253d0;
          }
          piVar2 = piVar13 + 2;
          uVar5 = uVar5 + 1;
          piVar13 = piVar13 + 1;
          iVar9 = *piVar2 + 1;
          piVar8[2] = iVar9;
          piVar8 = piVar8 + 1;
        }
      }
    }
    iVar9 = 0;
    if ((piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5)) {
LAB_000253d0:
      unaff_s2 = piVar11 + uVar10;
      unaff_s2[-1] = iVar9;
      uVar10 = unaff_s0;
    }
    else {
      piVar8 = unaff_s5 + uVar5;
      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));
      piVar13 = piVar11 + uVar5;
      do {
        iVar9 = *piVar8;
        piVar8 = piVar8 + 1;
        *piVar13 = iVar9;
        piVar13 = piVar13 + 1;
      } while (unaff_s5 != piVar8);
      unaff_s2 = piVar11 + uVar10;
      unaff_s2[-1] = 0;
      uVar10 = unaff_s0;
    }
  }
  else if ((int)uVar7 < (int)unaff_s0) {
    iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);
    if (iVar9 == 0) {
      if (piVar11 == unaff_s5) goto LAB_00025070;
LAB_0002523c:
      unaff_s5 = unaff_s5 + uVar7;
      piVar13 = piVar11 + uVar7;
      do {
        iVar9 = *unaff_s5;
        uVar7 = uVar7 + 1;
        unaff_s5 = unaff_s5 + 1;
        *piVar13 = iVar9;
        piVar13 = piVar13 + 1;
      } while ((int)uVar7 < (int)unaff_s0);
    }
    else {
      uVar5 = uVar7 + 1;
      piVar13 = unaff_s5 + uVar7;
      iVar9 = *piVar13;
      piVar11[uVar7] = iVar9 + -1;
      if (iVar9 == 0) {
        if ((int)uVar5 < (int)unaff_s0) {
          uVar5 = uVar7 + 2;
          iVar9 = unaff_s5[uVar7 + 1];
          piVar11[uVar7 + 1] = iVar9 + -1;
          piVar8 = piVar11 + uVar7;
          while (iVar9 == 0) {
            if (unaff_s0 == uVar5) goto LAB_0002507c;
            iVar9 = piVar13[2];
            uVar5 = uVar5 + 1;
            piVar13 = piVar13 + 1;
            piVar8[2] = iVar9 + -1;
            piVar8 = piVar8 + 1;
          }
          goto LAB_0002522c;
        }
      }
      else {
LAB_0002522c:
        if (piVar11 != unaff_s5) {
          uVar7 = uVar5;
          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;
          goto LAB_0002523c;
        }
      }
    }
LAB_0002507c:
    piVar13 = piVar11 + uVar10;
    uVar10 = unaff_s0;
    if (piVar13[-2] == 0) {
      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);
      do {
        unaff_s0 = unaff_s0 - 1;
        if (unaff_s0 == 0) goto LAB_000250a8;
        piVar13 = (int *)(iVar9 + -8);
        iVar9 = iVar9 + -4;
        uVar10 = unaff_s0;
      } while (*piVar13 == 0);
    }
  }
  else {
    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);
    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));
    uVar5 = unaff_s0;
    do {
      uVar5 = uVar5 - 1;
      puVar6 = puVar6 + -1;
      piVar8 = unaff_s5;
      if (uVar5 == 0xffffffff) goto LAB_00025058;
      puVar1 = (uint *)(iVar9 + -4);
      iVar9 = iVar9 + -4;
    } while (*puVar1 == *puVar6);
    if (*puVar1 <= *puVar6) {
      piVar8 = piVar13;
      piVar13 = unaff_s5;
      uVar7 = unaff_s0;
    }
LAB_00025058:
    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);
LAB_00025070:
    if (uVar3 != 0) goto LAB_0002507c;
LAB_000250a8:
    uVar10 = 0;
  }
LAB_000250b0:
  uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(piVar11,uVar10,puVar12,iVar14);
  unaff_s0 = uVar10;
  if (local_30 != 0) {
    (*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();
  }
LAB_0002514c:
  while (local_2c != *(int *)puVar4) {
    (*(code *)PTR___stack_chk_fail_0009d4d0)();
LAB_00025608:
    uVar5 = (uint)unaff_s2 >> 0x10;
    iVar14 = 0xe;
    if ((uVar5 & 0xff) == 0) {
      uVar5 = (uint)unaff_s2 >> 0x18;
      iVar14 = 0x1e;
      if (uVar5 != 0) {
        iVar14 = 0x16;
      }
    }
LAB_000255b8:
    uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;
LAB_0002547c:
    unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));
LAB_00025484:
    piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);
    if (piVar13 != (int *)0x0) {
      uVar7 = (uint)(unaff_s2 == piVar13);
    }
  }
  return uVar7;
}


lui gp,0x8
addiu gp,gp,0x140
addu gp,gp,t9
addiu sp,sp,-0x58
sw s7,0x4c(sp)
sw s4,0x40(sp)
lw s7,-0x7b00(gp)
lw s4,0x4(a2)
sw s8,0x50(sp)
or s8,sp,zero
sw ra,0x54(sp)
sw s6,0x48(sp)
sw s5,0x44(sp)
sw s3,0x3c(sp)
sw s2,0x38(sp)
sw s1,0x34(sp)
sw s0,0x30(sp)
sw gp,0x10(sp)
lw v0,0x0(s7)
sw v0,0x2c(s8)
beq s4,zero,0x000252fc
_lw t9,-0x7dfc(gp)
or a3,a0,zero
bgez s4,0x00024f68
_or v1,a1,zero
subu s4,zero,s4
lw v0,0x4(a3)
lw t0,0x8(a2)
bgez v0,0x00024f7c
_or a0,v0,zero
subu a0,zero,v0
lw s6,0x4(v1)
or s1,a0,zero
bgez s6,0x00024f90
_or a1,s6,zero
subu a1,zero,s6
slt a2,a0,a1
beq a2,zero,0x000250e8
_or s0,a1,zero
beq v0,zero,0x00025110
_lw s5,0x8(v1)
lw s2,0x0(t0)
xor s3,s6,v0
lw t2,0x8(a3)
lw v0,0x0(s5)
subu a0,zero,s2
and a0,a0,s2
lw a3,0x0(t2)
bltz s3,0x00025134
_addiu a1,a0,-0x1
subu v0,v0,a3
and v1,v0,a1
bne v1,zero,0x00025148
_li v0,0x1
beq s1,v0,0x00025268
_addiu t3,s0,0x1
sll s2,t3,0x2
sltiu v0,s2,0x7f01
beq v0,zero,0x000254b0
_sw zero,0x28(s8)
addiu v0,s2,0x7
srl v0,v0,0x3
sll v0,v0,0x3
subu sp,sp,v0
addiu t1,sp,0x10
bltz s3,0x00025310
_slt v0,s1,s0
bne v0,zero,0x00025194
_addiu v0,s2,-0x4
li a3,-0x1
addu a0,s5,v0
or v1,s0,zero
b 0x00025038
_addu v0,t2,v0
lw a1,-0x4(a0)
lw a2,0x0(v0)
bne a1,a2,0x00025420
_addiu a0,a0,-0x4
addiu v1,v1,-0x1
bne v1,a3,0x00025028
_addiu v0,v0,-0x4
lw t9,-0x7b2c(gp)
or a3,s1,zero
sw t0,0x20(s8)
or a2,t2,zero
or a1,s5,zero
or a0,t1,zero
jalr t9
_sw t1,0x24(s8)
lw gp,0x10(s8)
lw t1,0x24(s8)
lw t0,0x20(s8)
beq s6,zero,0x000250a8
_nop
addu v0,t1,s2
lw v0,-0x8(v0)
bne v0,zero,0x000250ac
_addiu v0,s2,-0x4
b 0x0002509c
_addu v0,t1,v0
lw v1,-0x4(v0)
bne v1,zero,0x000250b0
_lw t9,-0x7f48(gp)
addiu s0,s0,-0x1
bne s0,zero,0x00025090
_addiu v0,v0,-0x4
or s0,zero,zero
lw t9,-0x7f48(gp)
or a0,t1,zero
or a3,s4,zero
or a2,t0,zero
jalr t9
_or a1,s0,zero
lw a0,0x28(s8)
or s1,v0,zero
beq a0,zero,0x0002514c
_lw gp,0x10(s8)
lw t9,-0x7a28(gp)
jalr t9
_nop
b 0x0002514c
_lw gp,0x10(s8)
or t1,s6,zero
or a2,v1,zero
or v1,a3,zero
or s6,v0,zero
or v0,t1,zero
lw s5,0x8(v1)
or s0,a0,zero
or s1,a1,zero
bne v0,zero,0x00024fa4
_or a3,a2,zero
lw t9,-0x7f48(gp)
or a3,s4,zero
or a2,t0,zero
or a1,s0,zero
jalr t9
_or a0,s5,zero
lw gp,0x10(s8)
b 0x0002514c
_or s1,v0,zero
subu v0,zero,v0
subu v0,v0,a3
and v1,v0,a1
beq v1,zero,0x00024fd8
_li v0,0x1
or s1,zero,zero
lw a0,0x2c(s8)
or v0,s1,zero
lw v1,0x0(s7)
bne a0,v1,0x00025600
_lw t9,-0x7b70(gp)
or sp,s8,zero
lw ra,0x54(sp)
lw s8,0x50(sp)
lw s7,0x4c(sp)
lw s6,0x48(sp)
lw s5,0x44(sp)
lw s4,0x40(sp)
lw s3,0x3c(sp)
lw s2,0x38(sp)
lw s1,0x34(sp)
lw s0,0x30(sp)
jr ra
_addiu sp,sp,0x58
lw t9,-0x7b2c(gp)
or a0,t1,zero
sw t0,0x20(s8)
or a3,s1,zero
sw t1,0x24(s8)
or a2,t2,zero
jalr t9
_or a1,s5,zero
lw gp,0x10(s8)
lw t1,0x24(s8)
beq v0,zero,0x000254ec
_lw t0,0x20(s8)
sll a0,s1,0x2
addiu a1,s1,0x1
addu v1,s5,a0
addu v0,t1,a0
lw a2,0x0(v1)
addiu a3,a2,-0x1
bne a2,zero,0x000254a8
_sw a3,0x0(v0)
slt a1,a1,s0
beq a1,zero,0x00025078
_addiu a0,a0,0x4
addu a1,s5,a0
addu a0,t1,a0
addiu s1,s1,0x2
lw a1,0x0(a1)
addiu a2,a1,-0x1
bne a1,zero,0x0002522c
_sw a2,0x0(a0)
beq s0,s1,0x00025078
_addiu v0,v0,0x4
lw a0,0x8(v1)
addiu s1,s1,0x1
addiu v1,v1,0x4
addiu a1,a0,-0x1
beq a0,zero,0x0002520c
_sw a1,0x4(v0)
beq t1,s5,0x00025078
_slt v0,s1,s0
beq v0,zero,0x00025070
_sll v0,s1,0x2
addu s5,s5,v0
addu v0,t1,v0
lw a0,0x0(s5)
addiu s1,s1,0x1
addiu s5,s5,0x4
slt v1,s1,s0
sw a0,0x0(v0)
bne v1,zero,0x00025244
_addiu v0,v0,0x4
b 0x0002507c
_addu v0,t1,s2
beq s4,s1,0x000252b8
_li v0,0x2
bne s4,v0,0x00024fe0
_addiu t3,s0,0x1
beq s2,zero,0x00024fe0
_nop
lw v0,0x4(t0)
sltu a1,a1,v0
bne a1,zero,0x00024fe0
_nop
andi v1,s2,0xff
beq v1,zero,0x000255d4
_lw v1,-0x7eb4(gp)
addu a0,v1,a0
lbu v1,0x0(a0)
addiu v1,v1,-0x2
subu a0,zero,v1
srlv s2,s2,v1
sllv v0,v0,a0
or s2,v0,s2
bltz s3,0x00025440
_sltu v0,s2,a3
slti v0,s0,0xa
bne v0,zero,0x00025450
_lw t9,-0x7b80(gp)
or a2,s2,zero
sw a3,0x24(s8)
or a1,s0,zero
jalr t9
_or a0,s5,zero
lw a3,0x24(s8)
sltu v1,a3,s2
beq v1,zero,0x000254fc
_lw gp,0x10(s8)
xor v0,a3,v0
b 0x0002514c
_sltiu s1,v0,0x1
jalr t9
_nop
lw gp,0x10(s8)
b 0x0002514c
_sltiu s1,v0,0x1
lw t9,-0x7d0c(gp)
or a0,t1,zero
sw t0,0x1c(s8)
or a3,s1,zero
sw v1,0x20(s8)
or a2,t2,zero
sw t1,0x24(s8)
or a1,s5,zero
jalr t9
_sw t3,0x18(s8)
lw gp,0x10(s8)
lw t1,0x24(s8)
lw v1,0x20(s8)
beq v0,zero,0x000253e0
_lw t0,0x1c(s8)
slt v0,s1,s0
beq v0,zero,0x00025594
_lw t3,0x18(s8)
sll v0,s1,0x2
addiu a3,s1,0x1
addu a1,s5,v0
addu a0,t1,v0
lw a2,0x0(a1)
addiu a2,a2,0x1
bne a2,zero,0x000253dc
_sw a2,0x0(a0)
slt a3,a3,s0
beq a3,zero,0x00025594
_addiu v0,v0,0x4
addu a2,s5,v0
addu v0,t1,v0
addiu s1,s1,0x2
lw a2,0x0(a2)
addiu a2,a2,0x1
beq a2,zero,0x000253c0
_sw a2,0x0(v0)
b 0x000253e0
_nop
lw v0,0x8(a1)
addiu s1,s1,0x1
addiu a1,a1,0x4
addiu v0,v0,0x1
bne v0,zero,0x000253e0
_sw v0,0x4(a0)
bne s0,s1,0x000253a8
_addiu a0,a0,0x4
li v1,0x1
or s0,t3,zero
addu s2,t1,s2
b 0x000250ac
_sw v1,-0x4(s2)
or s1,a3,zero
beq t1,s5,0x000253d0
_slt v0,s1,s0
beq v0,zero,0x000253d0
_sll s1,s1,0x2
addiu a0,s2,-0x4
addu v0,s5,s1
addu s1,t1,s1
addu s5,s5,a0
lw a0,0x0(v0)
addiu s1,s1,0x4
addiu v0,v0,0x4
bne s5,v0,0x00025400
_sw a0,-0x4(s1)
addu s2,t1,s2
b 0x000250ac
_sw v1,-0x4(s2)
sltu a1,a2,a1
bne a1,zero,0x00025044
_lw t9,-0x7b2c(gp)
or a3,s0,zero
sw t0,0x20(s8)
or a2,s5,zero
b 0x00025058
_or a1,t2,zero
bne v0,zero,0x00025514
_lui v0,0x1
b 0x000252c0
_subu a3,s2,a3
andi v0,s2,0x1
bne v0,zero,0x00025484
_lw t9,-0x7c68(gp)
andi v0,s2,0xff
beq v0,zero,0x000255a8
_subu v0,zero,s2
and v1,v0,s2
lw v0,-0x7eb4(gp)
addu v0,v0,v1
lbu v0,0x0(v0)
addiu v0,v0,-0x2
srlv s2,s2,v0
lw t9,-0x7c68(gp)
or a2,s2,zero
or a1,s0,zero
jalr t9
_or a0,s5,zero
beq v0,zero,0x0002514c
_lw gp,0x10(s8)
xor v0,s2,v0
b 0x0002514c
_sltiu s1,v0,0x1
b 0x0002522c
_or s1,a1,zero
lw t9,-0x7d50(gp)
addiu a0,s8,0x28
sw t2,0x18(s8)
or a1,s2,zero
sw t0,0x1c(s8)
sw t3,0x20(s8)
jalr t9
_sw v1,0x24(s8)
lw gp,0x10(s8)
or t1,v0,zero
lw t2,0x18(s8)
lw t0,0x1c(s8)
lw t3,0x20(s8)
b 0x00025004
_lw v1,0x24(s8)
bne t1,s5,0x0002523c
_sll v0,s1,0x2
b 0x00025070
_nop
teq s2,zero
divu a3,s2
mfhi s2
xor s2,s2,v0
b 0x0002514c
_sltiu s1,s2,0x1
sltu v0,s2,v0
beq v0,zero,0x00025570
_lui v1,0x100
li a0,0x18
li v0,0x20
sltiu v1,s2,0x100
movz v0,a0,v1
li a1,0x1
li a0,0x9
movn a0,a1,v1
or v1,a0,zero
lw a0,-0x7eb4(gp)
srlv v1,s2,v1
addu v1,a0,v1
lbu v1,0x0(v1)
subu v0,v0,v1
sllv v0,s2,v0
sltu v1,v0,a3
beq v1,zero,0x00025568
_nop
sll v0,v0,0x1
b 0x000252c0
_subu a3,v0,a3
li a0,0x8
li v0,0x10
sltu v1,s2,v1
movz v0,a0,v1
li a1,0x11
li a0,0x19
movn a0,a1,v1
b 0x00025540
_or v1,a0,zero
addu s2,t1,s2
li v1,0x1
or s0,t3,zero
b 0x000250ac
_sw v1,-0x4(s2)
srl v0,s2,0x8
andi a0,v0,0xff
beq a0,zero,0x00025608
_li v1,0x6
subu a0,zero,v0
and a0,a0,v0
lw v0,-0x7eb4(gp)
addu v0,v0,a0
lbu v0,0x0(v0)
b 0x0002547c
_addu v0,v0,v1
srl v1,s2,0x8
andi a1,v1,0xff
beq a1,zero,0x0002562c
_li a0,0x6
subu a1,zero,v1
and a1,a1,v1
lw v1,-0x7eb4(gp)
addu v1,v1,a1
lbu v1,0x0(v1)
b 0x000252a8
_addu v1,v1,a0
jalr t9
_nop
srl v0,s2,0x10
andi a0,v0,0xff
bne a0,zero,0x000255b8
_li v1,0xe
srl v0,s2,0x18
li v1,0x1e
li a0,0x16
b 0x000255b8
_movn v1,a0,v0
srl v1,s2,0x10
andi a1,v1,0xff
bne a1,zero,0x000255e4
_li a0,0xe
srl v1,s2,0x18
li a0,0x1e
li a1,0x16
b 0x000255e4
_movn a0,a1,v1
(translation_unit "uint __gmpz_congruent_p(int param_1,int param_2,int param_3)\n\n{\n  uint *puVar1;\n  int *piVar2;\n  uint uVar3;\n  undefined *puVar4;\n  uint uVar5;\n  uint *puVar6;\n  uint uVar7;\n  int *piVar8;\n  int iVar9;\n  uint uVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  int *piVar13;\n  uint unaff_s0;\n  int *unaff_s2;\n  int iVar14;\n  int *unaff_s5;\n  uint uVar15;\n  int local_30;\n  int local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_0009d540;\n  iVar14 = *(int *)(param_3 + 4);\n  local_2c = *(int *)PTR___stack_chk_guard_0009d540;\n  if (iVar14 == 0) {\n    iVar14 = (*(code *)PTR___gmpz_cmp_0009d244)();\n    uVar7 = (uint)(iVar14 == 0);\n    goto LAB_0002514c;\n  }\n  if (iVar14 < 0) {\n    iVar14 = -iVar14;\n  }\n  uVar5 = *(uint *)(param_1 + 4);\n  puVar12 = *(undefined4 **)(param_3 + 8);\n  uVar7 = uVar5;\n  if ((int)uVar5 < 0) {\n    uVar7 = -uVar5;\n  }\n  uVar15 = *(uint *)(param_2 + 4);\n  uVar10 = uVar15;\n  if ((int)uVar15 < 0) {\n    uVar10 = -uVar15;\n  }\n  if ((int)uVar7 < (int)uVar10) {\n    unaff_s5 = *(int **)(param_2 + 8);\n    uVar3 = uVar15;\n    unaff_s0 = uVar10;\n  }\n  else {\n    unaff_s5 = *(int **)(param_1 + 8);\n    uVar3 = uVar5;\n    uVar5 = uVar15;\n    unaff_s0 = uVar7;\n    uVar7 = uVar10;\n    param_1 = param_2;\n  }\n  if (uVar5 == 0) {\n    uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14);\n    goto LAB_0002514c;\n  }\n  unaff_s2 = (int *)*puVar12;\n  uVar5 = uVar3 ^ uVar5;\n  piVar13 = *(int **)(param_1 + 8);\n  piVar11 = (int *)*piVar13;\n  uVar10 = (-(int)unaff_s2 & (uint)unaff_s2) - 1;\n  if ((int)uVar5 < 0) {\n    uVar15 = -(int)piVar11 - *unaff_s5;\n  }\n  else {\n    uVar15 = *unaff_s5 - (int)piVar11;\n  }\n  if ((uVar15 & uVar10) != 0) {\n    uVar7 = 0;\n    goto LAB_0002514c;\n  }\n  if (uVar7 == 1) {\n    if (iVar14 != 1) {\n      if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }\n      else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));\n    }\n    if ((int)uVar5 < 0) {\n      if (unaff_s2 < piVar11) {\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }\n      else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }\n    }\n    if ((int)unaff_s0 < 10) {\n      uVar7 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }\n    piVar13 = (int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar11 < unaff_s2) {\n      uVar7 = (uint)(piVar11 == piVar13);\n    }\n    else {\n      if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);\n      uVar7 = (uint)(unaff_s2 == (int *)0x0);\n    }\n    goto LAB_0002514c;\n  }\nLAB_00024fe0:\n  uVar10 = unaff_s0 + 1;\n  unaff_s2 = (int *)(uVar10 * 4);\n  local_30 = 0;\n  if (unaff_s2 < (int *)0x7f01) {\n    piVar11 = (int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));\n  }\n  else {\n    piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2);\n  }\n  if ((int)uVar5 < 0) {\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7);\n    uVar5 = uVar7;\n    if (iVar9 != 0) {\n      if ((int)unaff_s0 <= (int)uVar7) {\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }\n    }\n    iVar9 = 0;\n    if ((piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5)) {\nLAB_000253d0:\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = iVar9;\n      uVar10 = unaff_s0;\n    }\n    else {\n      piVar8 = unaff_s5 + uVar5;\n      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      piVar13 = piVar11 + uVar5;\n      do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = 0;\n      uVar10 = unaff_s0;\n    }\n  }\n  else if ((int)uVar7 < (int)unaff_s0) {\n    iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);\n    if (iVar9 == 0) {\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }\n    else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    piVar13 = piVar11 + uVar10;\n    uVar10 = unaff_s0;\n    if (piVar13[-2] == 0) {\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }\n  }\n  else {\n    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));\n    uVar5 = unaff_s0;\n    do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);\n    if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);\nLAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar10 = 0;\n  }\nLAB_000250b0:\n  uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(piVar11,uVar10,puVar12,iVar14);\n  unaff_s0 = uVar10;\n  if (local_30 != 0) {\n    (*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();\n  }\nLAB_0002514c:\n  while (local_2c != *(int *)puVar4) {\n    (*(code *)PTR___stack_chk_fail_0009d4d0)();\nLAB_00025608:\n    uVar5 = (uint)unaff_s2 >> 0x10;\n    iVar14 = 0xe;\n    if ((uVar5 & 0xff) == 0) {\n      uVar5 = (uint)unaff_s2 >> 0x18;\n      iVar14 = 0x1e;\n      if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }\n    }\nLAB_000255b8:\n    uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;\nLAB_0002547c:\n    unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));\nLAB_00025484:\n    piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar13 != (int *)0x0) {\n      uVar7 = (uint)(unaff_s2 == piVar13);\n    }\n  }\n  return uVar7;\n}\n\n" (function_definition "uint __gmpz_congruent_p(int param_1,int param_2,int param_3)\n\n{\n  uint *puVar1;\n  int *piVar2;\n  uint uVar3;\n  undefined *puVar4;\n  uint uVar5;\n  uint *puVar6;\n  uint uVar7;\n  int *piVar8;\n  int iVar9;\n  uint uVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  int *piVar13;\n  uint unaff_s0;\n  int *unaff_s2;\n  int iVar14;\n  int *unaff_s5;\n  uint uVar15;\n  int local_30;\n  int local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_0009d540;\n  iVar14 = *(int *)(param_3 + 4);\n  local_2c = *(int *)PTR___stack_chk_guard_0009d540;\n  if (iVar14 == 0) {\n    iVar14 = (*(code *)PTR___gmpz_cmp_0009d244)();\n    uVar7 = (uint)(iVar14 == 0);\n    goto LAB_0002514c;\n  }\n  if (iVar14 < 0) {\n    iVar14 = -iVar14;\n  }\n  uVar5 = *(uint *)(param_1 + 4);\n  puVar12 = *(undefined4 **)(param_3 + 8);\n  uVar7 = uVar5;\n  if ((int)uVar5 < 0) {\n    uVar7 = -uVar5;\n  }\n  uVar15 = *(uint *)(param_2 + 4);\n  uVar10 = uVar15;\n  if ((int)uVar15 < 0) {\n    uVar10 = -uVar15;\n  }\n  if ((int)uVar7 < (int)uVar10) {\n    unaff_s5 = *(int **)(param_2 + 8);\n    uVar3 = uVar15;\n    unaff_s0 = uVar10;\n  }\n  else {\n    unaff_s5 = *(int **)(param_1 + 8);\n    uVar3 = uVar5;\n    uVar5 = uVar15;\n    unaff_s0 = uVar7;\n    uVar7 = uVar10;\n    param_1 = param_2;\n  }\n  if (uVar5 == 0) {\n    uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14);\n    goto LAB_0002514c;\n  }\n  unaff_s2 = (int *)*puVar12;\n  uVar5 = uVar3 ^ uVar5;\n  piVar13 = *(int **)(param_1 + 8);\n  piVar11 = (int *)*piVar13;\n  uVar10 = (-(int)unaff_s2 & (uint)unaff_s2) - 1;\n  if ((int)uVar5 < 0) {\n    uVar15 = -(int)piVar11 - *unaff_s5;\n  }\n  else {\n    uVar15 = *unaff_s5 - (int)piVar11;\n  }\n  if ((uVar15 & uVar10) != 0) {\n    uVar7 = 0;\n    goto LAB_0002514c;\n  }\n  if (uVar7 == 1) {\n    if (iVar14 != 1) {\n      if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }\n      else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));\n    }\n    if ((int)uVar5 < 0) {\n      if (unaff_s2 < piVar11) {\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }\n      else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }\n    }\n    if ((int)unaff_s0 < 10) {\n      uVar7 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }\n    piVar13 = (int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar11 < unaff_s2) {\n      uVar7 = (uint)(piVar11 == piVar13);\n    }\n    else {\n      if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);\n      uVar7 = (uint)(unaff_s2 == (int *)0x0);\n    }\n    goto LAB_0002514c;\n  }\nLAB_00024fe0:\n  uVar10 = unaff_s0 + 1;\n  unaff_s2 = (int *)(uVar10 * 4);\n  local_30 = 0;\n  if (unaff_s2 < (int *)0x7f01) {\n    piVar11 = (int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));\n  }\n  else {\n    piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2);\n  }\n  if ((int)uVar5 < 0) {\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7);\n    uVar5 = uVar7;\n    if (iVar9 != 0) {\n      if ((int)unaff_s0 <= (int)uVar7) {\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }\n    }\n    iVar9 = 0;\n    if ((piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5)) {\nLAB_000253d0:\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = iVar9;\n      uVar10 = unaff_s0;\n    }\n    else {\n      piVar8 = unaff_s5 + uVar5;\n      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      piVar13 = piVar11 + uVar5;\n      do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = 0;\n      uVar10 = unaff_s0;\n    }\n  }\n  else if ((int)uVar7 < (int)unaff_s0) {\n    iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);\n    if (iVar9 == 0) {\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }\n    else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    piVar13 = piVar11 + uVar10;\n    uVar10 = unaff_s0;\n    if (piVar13[-2] == 0) {\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }\n  }\n  else {\n    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));\n    uVar5 = unaff_s0;\n    do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);\n    if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);\nLAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar10 = 0;\n  }\nLAB_000250b0:\n  uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(piVar11,uVar10,puVar12,iVar14);\n  unaff_s0 = uVar10;\n  if (local_30 != 0) {\n    (*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();\n  }\nLAB_0002514c:\n  while (local_2c != *(int *)puVar4) {\n    (*(code *)PTR___stack_chk_fail_0009d4d0)();\nLAB_00025608:\n    uVar5 = (uint)unaff_s2 >> 0x10;\n    iVar14 = 0xe;\n    if ((uVar5 & 0xff) == 0) {\n      uVar5 = (uint)unaff_s2 >> 0x18;\n      iVar14 = 0x1e;\n      if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }\n    }\nLAB_000255b8:\n    uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;\nLAB_0002547c:\n    unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));\nLAB_00025484:\n    piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar13 != (int *)0x0) {\n      uVar7 = (uint)(unaff_s2 == piVar13);\n    }\n  }\n  return uVar7;\n}" type_identifier (function_declarator "__gmpz_congruent_p(int param_1,int param_2,int param_3)" identifier (parameter_list "(int param_1,int param_2,int param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  uint *puVar1;\n  int *piVar2;\n  uint uVar3;\n  undefined *puVar4;\n  uint uVar5;\n  uint *puVar6;\n  uint uVar7;\n  int *piVar8;\n  int iVar9;\n  uint uVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  int *piVar13;\n  uint unaff_s0;\n  int *unaff_s2;\n  int iVar14;\n  int *unaff_s5;\n  uint uVar15;\n  int local_30;\n  int local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_0009d540;\n  iVar14 = *(int *)(param_3 + 4);\n  local_2c = *(int *)PTR___stack_chk_guard_0009d540;\n  if (iVar14 == 0) {\n    iVar14 = (*(code *)PTR___gmpz_cmp_0009d244)();\n    uVar7 = (uint)(iVar14 == 0);\n    goto LAB_0002514c;\n  }\n  if (iVar14 < 0) {\n    iVar14 = -iVar14;\n  }\n  uVar5 = *(uint *)(param_1 + 4);\n  puVar12 = *(undefined4 **)(param_3 + 8);\n  uVar7 = uVar5;\n  if ((int)uVar5 < 0) {\n    uVar7 = -uVar5;\n  }\n  uVar15 = *(uint *)(param_2 + 4);\n  uVar10 = uVar15;\n  if ((int)uVar15 < 0) {\n    uVar10 = -uVar15;\n  }\n  if ((int)uVar7 < (int)uVar10) {\n    unaff_s5 = *(int **)(param_2 + 8);\n    uVar3 = uVar15;\n    unaff_s0 = uVar10;\n  }\n  else {\n    unaff_s5 = *(int **)(param_1 + 8);\n    uVar3 = uVar5;\n    uVar5 = uVar15;\n    unaff_s0 = uVar7;\n    uVar7 = uVar10;\n    param_1 = param_2;\n  }\n  if (uVar5 == 0) {\n    uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14);\n    goto LAB_0002514c;\n  }\n  unaff_s2 = (int *)*puVar12;\n  uVar5 = uVar3 ^ uVar5;\n  piVar13 = *(int **)(param_1 + 8);\n  piVar11 = (int *)*piVar13;\n  uVar10 = (-(int)unaff_s2 & (uint)unaff_s2) - 1;\n  if ((int)uVar5 < 0) {\n    uVar15 = -(int)piVar11 - *unaff_s5;\n  }\n  else {\n    uVar15 = *unaff_s5 - (int)piVar11;\n  }\n  if ((uVar15 & uVar10) != 0) {\n    uVar7 = 0;\n    goto LAB_0002514c;\n  }\n  if (uVar7 == 1) {\n    if (iVar14 != 1) {\n      if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }\n      else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));\n    }\n    if ((int)uVar5 < 0) {\n      if (unaff_s2 < piVar11) {\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }\n      else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }\n    }\n    if ((int)unaff_s0 < 10) {\n      uVar7 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }\n    piVar13 = (int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar11 < unaff_s2) {\n      uVar7 = (uint)(piVar11 == piVar13);\n    }\n    else {\n      if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);\n      uVar7 = (uint)(unaff_s2 == (int *)0x0);\n    }\n    goto LAB_0002514c;\n  }\nLAB_00024fe0:\n  uVar10 = unaff_s0 + 1;\n  unaff_s2 = (int *)(uVar10 * 4);\n  local_30 = 0;\n  if (unaff_s2 < (int *)0x7f01) {\n    piVar11 = (int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));\n  }\n  else {\n    piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2);\n  }\n  if ((int)uVar5 < 0) {\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7);\n    uVar5 = uVar7;\n    if (iVar9 != 0) {\n      if ((int)unaff_s0 <= (int)uVar7) {\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }\n    }\n    iVar9 = 0;\n    if ((piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5)) {\nLAB_000253d0:\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = iVar9;\n      uVar10 = unaff_s0;\n    }\n    else {\n      piVar8 = unaff_s5 + uVar5;\n      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      piVar13 = piVar11 + uVar5;\n      do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = 0;\n      uVar10 = unaff_s0;\n    }\n  }\n  else if ((int)uVar7 < (int)unaff_s0) {\n    iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);\n    if (iVar9 == 0) {\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }\n    else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    piVar13 = piVar11 + uVar10;\n    uVar10 = unaff_s0;\n    if (piVar13[-2] == 0) {\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }\n  }\n  else {\n    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));\n    uVar5 = unaff_s0;\n    do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);\n    if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);\nLAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar10 = 0;\n  }\nLAB_000250b0:\n  uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(piVar11,uVar10,puVar12,iVar14);\n  unaff_s0 = uVar10;\n  if (local_30 != 0) {\n    (*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();\n  }\nLAB_0002514c:\n  while (local_2c != *(int *)puVar4) {\n    (*(code *)PTR___stack_chk_fail_0009d4d0)();\nLAB_00025608:\n    uVar5 = (uint)unaff_s2 >> 0x10;\n    iVar14 = 0xe;\n    if ((uVar5 & 0xff) == 0) {\n      uVar5 = (uint)unaff_s2 >> 0x18;\n      iVar14 = 0x1e;\n      if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }\n    }\nLAB_000255b8:\n    uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;\nLAB_0002547c:\n    unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));\nLAB_00025484:\n    piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar13 != (int *)0x0) {\n      uVar7 = (uint)(unaff_s2 == piVar13);\n    }\n  }\n  return uVar7;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "uint unaff_s0;" type_identifier identifier ;) (declaration "int *unaff_s2;" primitive_type (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int *unaff_s5;" primitive_type (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar4 = PTR___stack_chk_guard_0009d540;" (assignment_expression "puVar4 = PTR___stack_chk_guard_0009d540" identifier = identifier) ;) (expression_statement "iVar14 = *(int *)(param_3 + 4);" (assignment_expression "iVar14 = *(int *)(param_3 + 4)" identifier = (pointer_expression "*(int *)(param_3 + 4)" * (cast_expression "(int *)(param_3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0009d540;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0009d540" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0009d540" * (cast_expression "(int *)PTR___stack_chk_guard_0009d540" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar14 == 0) {\n    iVar14 = (*(code *)PTR___gmpz_cmp_0009d244)();\n    uVar7 = (uint)(iVar14 == 0);\n    goto LAB_0002514c;\n  }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar14 = (*(code *)PTR___gmpz_cmp_0009d244)();\n    uVar7 = (uint)(iVar14 == 0);\n    goto LAB_0002514c;\n  }" { (expression_statement "iVar14 = (*(code *)PTR___gmpz_cmp_0009d244)();" (assignment_expression "iVar14 = (*(code *)PTR___gmpz_cmp_0009d244)()" identifier = (call_expression "(*(code *)PTR___gmpz_cmp_0009d244)()" (parenthesized_expression "(*(code *)PTR___gmpz_cmp_0009d244)" ( (pointer_expression "*(code *)PTR___gmpz_cmp_0009d244" * (cast_expression "(code *)PTR___gmpz_cmp_0009d244" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "uVar7 = (uint)(iVar14 == 0);" (assignment_expression "uVar7 = (uint)(iVar14 == 0)" identifier = (call_expression "(uint)(iVar14 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )))) ;) (goto_statement "goto LAB_0002514c;" goto statement_identifier ;) })) (if_statement "if (iVar14 < 0) {\n    iVar14 = -iVar14;\n  }" if (parenthesized_expression "(iVar14 < 0)" ( (binary_expression "iVar14 < 0" identifier < number_literal) )) (compound_statement "{\n    iVar14 = -iVar14;\n  }" { (expression_statement "iVar14 = -iVar14;" (assignment_expression "iVar14 = -iVar14" identifier = (unary_expression "-iVar14" - identifier)) ;) })) (expression_statement "uVar5 = *(uint *)(param_1 + 4);" (assignment_expression "uVar5 = *(uint *)(param_1 + 4)" identifier = (pointer_expression "*(uint *)(param_1 + 4)" * (cast_expression "(uint *)(param_1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "puVar12 = *(undefined4 **)(param_3 + 8);" (assignment_expression "puVar12 = *(undefined4 **)(param_3 + 8)" identifier = (pointer_expression "*(undefined4 **)(param_3 + 8)" * (cast_expression "(undefined4 **)(param_3 + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 8)" ( (binary_expression "param_3 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = uVar5;" (assignment_expression "uVar7 = uVar5" identifier = identifier) ;) (if_statement "if ((int)uVar5 < 0) {\n    uVar7 = -uVar5;\n  }" if (parenthesized_expression "((int)uVar5 < 0)" ( (binary_expression "(int)uVar5 < 0" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    uVar7 = -uVar5;\n  }" { (expression_statement "uVar7 = -uVar5;" (assignment_expression "uVar7 = -uVar5" identifier = (unary_expression "-uVar5" - identifier)) ;) })) (expression_statement "uVar15 = *(uint *)(param_2 + 4);" (assignment_expression "uVar15 = *(uint *)(param_2 + 4)" identifier = (pointer_expression "*(uint *)(param_2 + 4)" * (cast_expression "(uint *)(param_2 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = uVar15;" (assignment_expression "uVar10 = uVar15" identifier = identifier) ;) (if_statement "if ((int)uVar15 < 0) {\n    uVar10 = -uVar15;\n  }" if (parenthesized_expression "((int)uVar15 < 0)" ( (binary_expression "(int)uVar15 < 0" (cast_expression "(int)uVar15" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    uVar10 = -uVar15;\n  }" { (expression_statement "uVar10 = -uVar15;" (assignment_expression "uVar10 = -uVar15" identifier = (unary_expression "-uVar15" - identifier)) ;) })) (if_statement "if ((int)uVar7 < (int)uVar10) {\n    unaff_s5 = *(int **)(param_2 + 8);\n    uVar3 = uVar15;\n    unaff_s0 = uVar10;\n  }\n  else {\n    unaff_s5 = *(int **)(param_1 + 8);\n    uVar3 = uVar5;\n    uVar5 = uVar15;\n    unaff_s0 = uVar7;\n    uVar7 = uVar10;\n    param_1 = param_2;\n  }" if (parenthesized_expression "((int)uVar7 < (int)uVar10)" ( (binary_expression "(int)uVar7 < (int)uVar10" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    unaff_s5 = *(int **)(param_2 + 8);\n    uVar3 = uVar15;\n    unaff_s0 = uVar10;\n  }" { (expression_statement "unaff_s5 = *(int **)(param_2 + 8);" (assignment_expression "unaff_s5 = *(int **)(param_2 + 8)" identifier = (pointer_expression "*(int **)(param_2 + 8)" * (cast_expression "(int **)(param_2 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = uVar15;" (assignment_expression "uVar3 = uVar15" identifier = identifier) ;) (expression_statement "unaff_s0 = uVar10;" (assignment_expression "unaff_s0 = uVar10" identifier = identifier) ;) }) (else_clause "else {\n    unaff_s5 = *(int **)(param_1 + 8);\n    uVar3 = uVar5;\n    uVar5 = uVar15;\n    unaff_s0 = uVar7;\n    uVar7 = uVar10;\n    param_1 = param_2;\n  }" else (compound_statement "{\n    unaff_s5 = *(int **)(param_1 + 8);\n    uVar3 = uVar5;\n    uVar5 = uVar15;\n    unaff_s0 = uVar7;\n    uVar7 = uVar10;\n    param_1 = param_2;\n  }" { (expression_statement "unaff_s5 = *(int **)(param_1 + 8);" (assignment_expression "unaff_s5 = *(int **)(param_1 + 8)" identifier = (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = uVar5;" (assignment_expression "uVar3 = uVar5" identifier = identifier) ;) (expression_statement "uVar5 = uVar15;" (assignment_expression "uVar5 = uVar15" identifier = identifier) ;) (expression_statement "unaff_s0 = uVar7;" (assignment_expression "unaff_s0 = uVar7" identifier = identifier) ;) (expression_statement "uVar7 = uVar10;" (assignment_expression "uVar7 = uVar10" identifier = identifier) ;) (expression_statement "param_1 = param_2;" (assignment_expression "param_1 = param_2" identifier = identifier) ;) }))) (if_statement "if (uVar5 == 0) {\n    uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14);\n    goto LAB_0002514c;\n  }" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14);\n    goto LAB_0002514c;\n  }" { (expression_statement "uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14);" (assignment_expression "uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14)" identifier = (call_expression "(*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14)" (parenthesized_expression "(*(code *)PTR___gmpn_divisible_p_0009d0f8)" ( (pointer_expression "*(code *)PTR___gmpn_divisible_p_0009d0f8" * (cast_expression "(code *)PTR___gmpn_divisible_p_0009d0f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s5,unaff_s0,puVar12,iVar14)" ( identifier , identifier , identifier , identifier )))) ;) (goto_statement "goto LAB_0002514c;" goto statement_identifier ;) })) (expression_statement "unaff_s2 = (int *)*puVar12;" (assignment_expression "unaff_s2 = (int *)*puVar12" identifier = (cast_expression "(int *)*puVar12" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar12" * identifier))) ;) (expression_statement "uVar5 = uVar3 ^ uVar5;" (assignment_expression "uVar5 = uVar3 ^ uVar5" identifier = (binary_expression "uVar3 ^ uVar5" identifier ^ identifier)) ;) (expression_statement "piVar13 = *(int **)(param_1 + 8);" (assignment_expression "piVar13 = *(int **)(param_1 + 8)" identifier = (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "piVar11 = (int *)*piVar13;" (assignment_expression "piVar11 = (int *)*piVar13" identifier = (cast_expression "(int *)*piVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar13" * identifier))) ;) (expression_statement "uVar10 = (-(int)unaff_s2 & (uint)unaff_s2) - 1;" (assignment_expression "uVar10 = (-(int)unaff_s2 & (uint)unaff_s2) - 1" identifier = (binary_expression "(-(int)unaff_s2 & (uint)unaff_s2) - 1" (parenthesized_expression "(-(int)unaff_s2 & (uint)unaff_s2)" ( (binary_expression "-(int)unaff_s2 & (uint)unaff_s2" (unary_expression "-(int)unaff_s2" - (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier)) & (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier)) )) - number_literal)) ;) (if_statement "if ((int)uVar5 < 0) {\n    uVar15 = -(int)piVar11 - *unaff_s5;\n  }\n  else {\n    uVar15 = *unaff_s5 - (int)piVar11;\n  }" if (parenthesized_expression "((int)uVar5 < 0)" ( (binary_expression "(int)uVar5 < 0" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    uVar15 = -(int)piVar11 - *unaff_s5;\n  }" { (expression_statement "uVar15 = -(int)piVar11 - *unaff_s5;" (assignment_expression "uVar15 = -(int)piVar11 - *unaff_s5" identifier = (binary_expression "-(int)piVar11 - *unaff_s5" (unary_expression "-(int)piVar11" - (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier)) - (pointer_expression "*unaff_s5" * identifier))) ;) }) (else_clause "else {\n    uVar15 = *unaff_s5 - (int)piVar11;\n  }" else (compound_statement "{\n    uVar15 = *unaff_s5 - (int)piVar11;\n  }" { (expression_statement "uVar15 = *unaff_s5 - (int)piVar11;" (assignment_expression "uVar15 = *unaff_s5 - (int)piVar11" identifier = (binary_expression "*unaff_s5 - (int)piVar11" (pointer_expression "*unaff_s5" * identifier) - (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }))) (if_statement "if ((uVar15 & uVar10) != 0) {\n    uVar7 = 0;\n    goto LAB_0002514c;\n  }" if (parenthesized_expression "((uVar15 & uVar10) != 0)" ( (binary_expression "(uVar15 & uVar10) != 0" (parenthesized_expression "(uVar15 & uVar10)" ( (binary_expression "uVar15 & uVar10" identifier & identifier) )) != number_literal) )) (compound_statement "{\n    uVar7 = 0;\n    goto LAB_0002514c;\n  }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0002514c;" goto statement_identifier ;) })) (if_statement "if (uVar7 == 1) {\n    if (iVar14 != 1) {\n      if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }\n      else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));\n    }\n    if ((int)uVar5 < 0) {\n      if (unaff_s2 < piVar11) {\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }\n      else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }\n    }\n    if ((int)unaff_s0 < 10) {\n      uVar7 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }\n    piVar13 = (int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar11 < unaff_s2) {\n      uVar7 = (uint)(piVar11 == piVar13);\n    }\n    else {\n      if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);\n      uVar7 = (uint)(unaff_s2 == (int *)0x0);\n    }\n    goto LAB_0002514c;\n  }" if (parenthesized_expression "(uVar7 == 1)" ( (binary_expression "uVar7 == 1" identifier == number_literal) )) (compound_statement "{\n    if (iVar14 != 1) {\n      if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }\n      else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));\n    }\n    if ((int)uVar5 < 0) {\n      if (unaff_s2 < piVar11) {\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }\n      else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }\n    }\n    if ((int)unaff_s0 < 10) {\n      uVar7 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }\n    piVar13 = (int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar11 < unaff_s2) {\n      uVar7 = (uint)(piVar11 == piVar13);\n    }\n    else {\n      if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);\n      uVar7 = (uint)(unaff_s2 == (int *)0x0);\n    }\n    goto LAB_0002514c;\n  }" { (if_statement "if (iVar14 != 1) {\n      if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }\n      else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));\n    }" if (parenthesized_expression "(iVar14 != 1)" ( (binary_expression "iVar14 != 1" identifier != number_literal) )) (compound_statement "{\n      if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }\n      else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));\n    }" { (if_statement "if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))\n      goto LAB_00024fe0;" if (parenthesized_expression "(((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))" ( (binary_expression "((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1])" (parenthesized_expression "((iVar14 != 2) || (unaff_s2 == (int *)0x0))" ( (binary_expression "(iVar14 != 2) || (unaff_s2 == (int *)0x0)" (parenthesized_expression "(iVar14 != 2)" ( (binary_expression "iVar14 != 2" identifier != number_literal) )) || (parenthesized_expression "(unaff_s2 == (int *)0x0)" ( (binary_expression "unaff_s2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) || (parenthesized_expression "(uVar10 < (uint)puVar12[1])" ( (binary_expression "uVar10 < (uint)puVar12[1]" identifier < (cast_expression "(uint)puVar12[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar12[1]" identifier [ number_literal ]))) ))) )) (goto_statement "goto LAB_00024fe0;" goto statement_identifier ;)) (if_statement "if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }\n      else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }" if (parenthesized_expression "(((uint)unaff_s2 & 0xff) == 0)" ( (binary_expression "((uint)unaff_s2 & 0xff) == 0" (parenthesized_expression "((uint)unaff_s2 & 0xff)" ( (binary_expression "(uint)unaff_s2 & 0xff" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }" { (expression_statement "uVar7 = (uint)unaff_s2 >> 8;" (assignment_expression "uVar7 = (uint)unaff_s2 >> 8" identifier = (binary_expression "(uint)unaff_s2 >> 8" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;) (expression_statement "iVar14 = 6;" (assignment_expression "iVar14 = 6" identifier = number_literal) ;) (if_statement "if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }" if (parenthesized_expression "((uVar7 & 0xff) == 0)" ( (binary_expression "(uVar7 & 0xff) == 0" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }" { (expression_statement "uVar7 = (uint)unaff_s2 >> 0x10;" (assignment_expression "uVar7 = (uint)unaff_s2 >> 0x10" identifier = (binary_expression "(uint)unaff_s2 >> 0x10" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;) (expression_statement "iVar14 = 0xe;" (assignment_expression "iVar14 = 0xe" identifier = number_literal) ;) (if_statement "if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }" if (parenthesized_expression "((uVar7 & 0xff) == 0)" ( (binary_expression "(uVar7 & 0xff) == 0" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }" { (expression_statement "uVar7 = (uint)unaff_s2 >> 0x18;" (assignment_expression "uVar7 = (uint)unaff_s2 >> 0x18" identifier = (binary_expression "(uint)unaff_s2 >> 0x18" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;) (expression_statement "iVar14 = 0x1e;" (assignment_expression "iVar14 = 0x1e" identifier = number_literal) ;) (if_statement "if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar14 = 0x16;\n            }" { (expression_statement "iVar14 = 0x16;" (assignment_expression "iVar14 = 0x16" identifier = number_literal) ;) })) })) })) (expression_statement "uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;" (assignment_expression "uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14" identifier = (binary_expression "(uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14" (cast_expression "(uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7]" identifier [ (binary_expression "-uVar7 & uVar7" (unary_expression "-uVar7" - identifier) & identifier) ]))) + identifier)) ;) }) (else_clause "else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }" else (compound_statement "{\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }" { (expression_statement "uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;" (assignment_expression "uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2" identifier = (binary_expression "(byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2" (cast_expression "(byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2]" identifier [ (binary_expression "-(int)unaff_s2 & (uint)unaff_s2" (unary_expression "-(int)unaff_s2" - (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier)) & (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier)) ])) - number_literal)) ;) }))) (expression_statement "unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));" (assignment_expression "unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f))" identifier = (cast_expression "(int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f))" ( (binary_expression "puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f)" (binary_expression "puVar12[1] << (-uVar7 & 0x1f)" (subscript_expression "puVar12[1]" identifier [ number_literal ]) << (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "(uint)unaff_s2 >> (uVar7 & 0x1f)" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )))) ;) })) (if_statement "if ((int)uVar5 < 0) {\n      if (unaff_s2 < piVar11) {\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }\n      else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }\n    }" if (parenthesized_expression "((int)uVar5 < 0)" ( (binary_expression "(int)uVar5 < 0" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      if (unaff_s2 < piVar11) {\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }\n      else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }\n    }" { (if_statement "if (unaff_s2 < piVar11) {\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }\n      else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }" if (parenthesized_expression "(unaff_s2 < piVar11)" ( (binary_expression "unaff_s2 < piVar11" identifier < identifier) )) (compound_statement "{\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }" { (if_statement "if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }" if (parenthesized_expression "(unaff_s2 < (int *)0x10000)" ( (binary_expression "unaff_s2 < (int *)0x10000" identifier < (cast_expression "(int *)0x10000" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (if_statement "if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }" if (parenthesized_expression "((int *)0xff < unaff_s2)" ( (binary_expression "(int *)0xff < unaff_s2" (cast_expression "(int *)0xff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n            iVar14 = 0x18;\n          }" { (expression_statement "iVar14 = 0x18;" (assignment_expression "iVar14 = 0x18" identifier = number_literal) ;) })) (expression_statement "iVar9 = 9;" (assignment_expression "iVar9 = 9" identifier = number_literal) ;) (if_statement "if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }" if (parenthesized_expression "((int *)0xff >= unaff_s2)" ( (binary_expression "(int *)0xff >= unaff_s2" (cast_expression "(int *)0xff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) >= identifier) )) (compound_statement "{\n            iVar9 = 1;\n          }" { (expression_statement "iVar9 = 1;" (assignment_expression "iVar9 = 1" identifier = number_literal) ;) })) }) (else_clause "else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }" else (compound_statement "{\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }" { (expression_statement "iVar14 = 0x10;" (assignment_expression "iVar14 = 0x10" identifier = number_literal) ;) (if_statement "if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }" if (parenthesized_expression "((int *)0xffffff < unaff_s2)" ( (binary_expression "(int *)0xffffff < unaff_s2" (cast_expression "(int *)0xffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n            iVar14 = 8;\n          }" { (expression_statement "iVar14 = 8;" (assignment_expression "iVar14 = 8" identifier = number_literal) ;) })) (expression_statement "iVar9 = 0x19;" (assignment_expression "iVar9 = 0x19" identifier = number_literal) ;) (if_statement "if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }" if (parenthesized_expression "((int *)0xffffff >= unaff_s2)" ( (binary_expression "(int *)0xffffff >= unaff_s2" (cast_expression "(int *)0xffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) >= identifier) )) (compound_statement "{\n            iVar9 = 0x11;\n          }" { (expression_statement "iVar9 = 0x11;" (assignment_expression "iVar9 = 0x11" identifier = number_literal) ;) })) }))) (expression_statement "piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));" (assignment_expression "piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f))" identifier = (cast_expression "(int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f))" ( (binary_expression "(int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f)" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) << (parenthesized_expression "(iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f)" ( (binary_expression "iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f" (binary_expression "iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]" identifier - (cast_expression "(uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]" identifier [ (binary_expression "(uint)unaff_s2 >> iVar9" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> identifier) ])))) & number_literal) ))) )))) ;) (if_statement "if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }" if (parenthesized_expression "(piVar13 < piVar11)" ( (binary_expression "piVar13 < piVar11" identifier < identifier) )) (compound_statement "{\n          piVar13 = (int *)((int)piVar13 << 1);\n        }" { (expression_statement "piVar13 = (int *)((int)piVar13 << 1);" (assignment_expression "piVar13 = (int *)((int)piVar13 << 1)" identifier = (cast_expression "(int *)((int)piVar13 << 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar13 << 1)" ( (binary_expression "(int)piVar13 << 1" (cast_expression "(int)piVar13" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) })) (expression_statement "piVar11 = (int *)((int)piVar13 - (int)piVar11);" (assignment_expression "piVar11 = (int *)((int)piVar13 - (int)piVar11)" identifier = (cast_expression "(int *)((int)piVar13 - (int)piVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar13 - (int)piVar11)" ( (binary_expression "(int)piVar13 - (int)piVar11" (cast_expression "(int)piVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }) (else_clause "else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }" else (compound_statement "{\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }" { (expression_statement "piVar11 = (int *)((int)unaff_s2 - (int)piVar11);" (assignment_expression "piVar11 = (int *)((int)unaff_s2 - (int)piVar11)" identifier = (cast_expression "(int *)((int)unaff_s2 - (int)piVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s2 - (int)piVar11)" ( (binary_expression "(int)unaff_s2 - (int)piVar11" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }))) })) (if_statement "if ((int)unaff_s0 < 10) {\n      uVar7 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }" if (parenthesized_expression "((int)unaff_s0 < 10)" ( (binary_expression "(int)unaff_s0 < 10" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      uVar7 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }" { (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) (if_statement "if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;" if (parenthesized_expression "(((uint)unaff_s2 & 1) != 0)" ( (binary_expression "((uint)unaff_s2 & 1) != 0" (parenthesized_expression "((uint)unaff_s2 & 1)" ( (binary_expression "(uint)unaff_s2 & 1" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00025484;" goto statement_identifier ;)) (if_statement "if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }" if (parenthesized_expression "(((uint)unaff_s2 & 0xff) == 0)" ( (binary_expression "((uint)unaff_s2 & 0xff) == 0" (parenthesized_expression "((uint)unaff_s2 & 0xff)" ( (binary_expression "(uint)unaff_s2 & 0xff" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }" { (expression_statement "uVar5 = (uint)unaff_s2 >> 8;" (assignment_expression "uVar5 = (uint)unaff_s2 >> 8" identifier = (binary_expression "(uint)unaff_s2 >> 8" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;) (expression_statement "iVar14 = 6;" (assignment_expression "iVar14 = 6" identifier = number_literal) ;) (if_statement "if ((uVar5 & 0xff) == 0) goto LAB_00025608;" if (parenthesized_expression "((uVar5 & 0xff) == 0)" ( (binary_expression "(uVar5 & 0xff) == 0" (parenthesized_expression "(uVar5 & 0xff)" ( (binary_expression "uVar5 & 0xff" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00025608;" goto statement_identifier ;)) (goto_statement "goto LAB_000255b8;" goto statement_identifier ;) })) (expression_statement "uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;" (assignment_expression "uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2" identifier = (binary_expression "(byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2" (cast_expression "(byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2]" identifier [ (binary_expression "-(int)unaff_s2 & (uint)unaff_s2" (unary_expression "-(int)unaff_s2" - (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier)) & (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier)) ])) - number_literal)) ;) (goto_statement "goto LAB_0002547c;" goto statement_identifier ;) })) (expression_statement "piVar13 = (int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);" (assignment_expression "piVar13 = (int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2)" identifier = (cast_expression "(int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2)" (parenthesized_expression "(*(code *)PTR___gmpn_mod_1_0009d4c0)" ( (pointer_expression "*(code *)PTR___gmpn_mod_1_0009d4c0" * (cast_expression "(code *)PTR___gmpn_mod_1_0009d4c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s5,unaff_s0,unaff_s2)" ( identifier , identifier , identifier ))))) ;) (if_statement "if (piVar11 < unaff_s2) {\n      uVar7 = (uint)(piVar11 == piVar13);\n    }\n    else {\n      if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);\n      uVar7 = (uint)(unaff_s2 == (int *)0x0);\n    }" if (parenthesized_expression "(piVar11 < unaff_s2)" ( (binary_expression "piVar11 < unaff_s2" identifier < identifier) )) (compound_statement "{\n      uVar7 = (uint)(piVar11 == piVar13);\n    }" { (expression_statement "uVar7 = (uint)(piVar11 == piVar13);" (assignment_expression "uVar7 = (uint)(piVar11 == piVar13)" identifier = (call_expression "(uint)(piVar11 == piVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar11 == piVar13)" ( (binary_expression "piVar11 == piVar13" identifier == identifier) )))) ;) }) (else_clause "else {\n      if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);\n      uVar7 = (uint)(unaff_s2 == (int *)0x0);\n    }" else (compound_statement "{\n      if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);\n      uVar7 = (uint)(unaff_s2 == (int *)0x0);\n    }" { (if_statement "if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }" if (parenthesized_expression "(unaff_s2 == (int *)0x0)" ( (binary_expression "unaff_s2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        trap(7);\n      }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);" (assignment_expression "unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13)" identifier = (cast_expression "(int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13)" ( (binary_expression "(uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13" (binary_expression "(uint)piVar11 % (uint)unaff_s2" (cast_expression "(uint)piVar11" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier)) ^ (cast_expression "(uint)piVar13" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "uVar7 = (uint)(unaff_s2 == (int *)0x0);" (assignment_expression "uVar7 = (uint)(unaff_s2 == (int *)0x0)" identifier = (call_expression "(uint)(unaff_s2 == (int *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(unaff_s2 == (int *)0x0)" ( (binary_expression "unaff_s2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )))) ;) }))) (goto_statement "goto LAB_0002514c;" goto statement_identifier ;) })) (labeled_statement "LAB_00024fe0:\n  uVar10 = unaff_s0 + 1;" statement_identifier : (expression_statement "uVar10 = unaff_s0 + 1;" (assignment_expression "uVar10 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;)) (expression_statement "unaff_s2 = (int *)(uVar10 * 4);" (assignment_expression "unaff_s2 = (int *)(uVar10 * 4)" identifier = (cast_expression "(int *)(uVar10 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 * 4)" ( (binary_expression "uVar10 * 4" identifier * number_literal) )))) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (if_statement "if (unaff_s2 < (int *)0x7f01) {\n    piVar11 = (int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));\n  }\n  else {\n    piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2);\n  }" if (parenthesized_expression "(unaff_s2 < (int *)0x7f01)" ( (binary_expression "unaff_s2 < (int *)0x7f01" identifier < (cast_expression "(int *)0x7f01" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    piVar11 = (int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));\n  }" { (expression_statement "piVar11 = (int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));" (assignment_expression "piVar11 = (int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8))" identifier = (cast_expression "(int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8))" ( (binary_expression "&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8)" (pointer_expression "&stack0xffffffb8" & identifier) + (unary_expression "-((int)unaff_s2 + 7U & 0xfffffff8)" - (parenthesized_expression "((int)unaff_s2 + 7U & 0xfffffff8)" ( (binary_expression "(int)unaff_s2 + 7U & 0xfffffff8" (binary_expression "(int)unaff_s2 + 7U" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) & number_literal) )))) )))) ;) }) (else_clause "else {\n    piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2);\n  }" else (compound_statement "{\n    piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2);\n  }" { (expression_statement "piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2);" (assignment_expression "piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2)" identifier = (cast_expression "(int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2)" (parenthesized_expression "(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)" ( (pointer_expression "*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0" * (cast_expression "(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_30,unaff_s2)" ( (pointer_expression "&local_30" & identifier) , identifier ))))) ;) }))) (if_statement "if ((int)uVar5 < 0) {\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7);\n    uVar5 = uVar7;\n    if (iVar9 != 0) {\n      if ((int)unaff_s0 <= (int)uVar7) {\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }\n    }\n    iVar9 = 0;\n    if ((piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5)) {\nLAB_000253d0:\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = iVar9;\n      uVar10 = unaff_s0;\n    }\n    else {\n      piVar8 = unaff_s5 + uVar5;\n      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      piVar13 = piVar11 + uVar5;\n      do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = 0;\n      uVar10 = unaff_s0;\n    }\n  }\n  else if ((int)uVar7 < (int)unaff_s0) {\n    iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);\n    if (iVar9 == 0) {\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }\n    else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    piVar13 = piVar11 + uVar10;\n    uVar10 = unaff_s0;\n    if (piVar13[-2] == 0) {\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }\n  }\n  else {\n    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));\n    uVar5 = unaff_s0;\n    do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);\n    if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);\nLAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar10 = 0;\n  }" if (parenthesized_expression "((int)uVar5 < 0)" ( (binary_expression "(int)uVar5 < 0" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7);\n    uVar5 = uVar7;\n    if (iVar9 != 0) {\n      if ((int)unaff_s0 <= (int)uVar7) {\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }\n    }\n    iVar9 = 0;\n    if ((piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5)) {\nLAB_000253d0:\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = iVar9;\n      uVar10 = unaff_s0;\n    }\n    else {\n      piVar8 = unaff_s5 + uVar5;\n      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      piVar13 = piVar11 + uVar5;\n      do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = 0;\n      uVar10 = unaff_s0;\n    }\n  }" { (expression_statement "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7)" (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 "(piVar11,unaff_s5,piVar13,uVar7)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "uVar5 = uVar7;" (assignment_expression "uVar5 = uVar7" identifier = identifier) ;) (if_statement "if (iVar9 != 0) {\n      if ((int)unaff_s0 <= (int)uVar7) {\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }\n    }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      if ((int)unaff_s0 <= (int)uVar7) {\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }\n    }" { (if_statement "if ((int)unaff_s0 <= (int)uVar7) {\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }" if (parenthesized_expression "((int)unaff_s0 <= (int)uVar7)" ( (binary_expression "(int)unaff_s0 <= (int)uVar7" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }" { (labeled_statement "LAB_00025594:\n        unaff_s2 = piVar11 + uVar10;" statement_identifier : (expression_statement "unaff_s2 = piVar11 + uVar10;" (assignment_expression "unaff_s2 = piVar11 + uVar10" identifier = (binary_expression "piVar11 + uVar10" identifier + identifier)) ;)) (expression_statement "unaff_s2[-1] = 1;" (assignment_expression "unaff_s2[-1] = 1" (subscript_expression "unaff_s2[-1]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_000250b0;" goto statement_identifier ;) })) (expression_statement "uVar5 = uVar7 + 1;" (assignment_expression "uVar5 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "piVar13 = unaff_s5 + uVar7;" (assignment_expression "piVar13 = unaff_s5 + uVar7" identifier = (binary_expression "unaff_s5 + uVar7" identifier + identifier)) ;) (expression_statement "iVar9 = *piVar13;" (assignment_expression "iVar9 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "piVar11[uVar7] = iVar9 + 1;" (assignment_expression "piVar11[uVar7] = iVar9 + 1" (subscript_expression "piVar11[uVar7]" identifier [ identifier ]) = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (if_statement "if (iVar9 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }" if (parenthesized_expression "(iVar9 + 1 == 0)" ( (binary_expression "iVar9 + 1 == 0" (binary_expression "iVar9 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }" { (if_statement "if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;" if (parenthesized_expression "((int)unaff_s0 <= (int)uVar5)" ( (binary_expression "(int)unaff_s0 <= (int)uVar5" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00025594;" goto statement_identifier ;)) (expression_statement "uVar5 = uVar7 + 2;" (assignment_expression "uVar5 = uVar7 + 2" identifier = (binary_expression "uVar7 + 2" identifier + number_literal)) ;) (expression_statement "iVar9 = unaff_s5[uVar7 + 1] + 1;" (assignment_expression "iVar9 = unaff_s5[uVar7 + 1] + 1" identifier = (binary_expression "unaff_s5[uVar7 + 1] + 1" (subscript_expression "unaff_s5[uVar7 + 1]" identifier [ (binary_expression "uVar7 + 1" identifier + number_literal) ]) + number_literal)) ;) (expression_statement "piVar11[uVar7 + 1] = iVar9;" (assignment_expression "piVar11[uVar7 + 1] = iVar9" (subscript_expression "piVar11[uVar7 + 1]" identifier [ (binary_expression "uVar7 + 1" identifier + number_literal) ]) = identifier) ;) (expression_statement "piVar8 = piVar11 + uVar7;" (assignment_expression "piVar8 = piVar11 + uVar7" identifier = (binary_expression "piVar11 + uVar7" identifier + identifier)) ;) (while_statement "while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }" while (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }" { (if_statement "if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }" if (parenthesized_expression "(unaff_s0 == uVar5)" ( (binary_expression "unaff_s0 == uVar5" identifier == identifier) )) (compound_statement "{\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }" { (expression_statement "iVar9 = 1;" (assignment_expression "iVar9 = 1" identifier = number_literal) ;) (expression_statement "unaff_s0 = uVar10;" (assignment_expression "unaff_s0 = uVar10" identifier = identifier) ;) (goto_statement "goto LAB_000253d0;" goto statement_identifier ;) })) (expression_statement "piVar2 = piVar13 + 2;" (assignment_expression "piVar2 = piVar13 + 2" identifier = (binary_expression "piVar13 + 2" identifier + number_literal)) ;) (expression_statement "uVar5 = uVar5 + 1;" (assignment_expression "uVar5 = uVar5 + 1" identifier = (binary_expression "uVar5 + 1" identifier + number_literal)) ;) (expression_statement "piVar13 = piVar13 + 1;" (assignment_expression "piVar13 = piVar13 + 1" identifier = (binary_expression "piVar13 + 1" identifier + number_literal)) ;) (expression_statement "iVar9 = *piVar2 + 1;" (assignment_expression "iVar9 = *piVar2 + 1" identifier = (binary_expression "*piVar2 + 1" (pointer_expression "*piVar2" * identifier) + number_literal)) ;) (expression_statement "piVar8[2] = iVar9;" (assignment_expression "piVar8[2] = iVar9" (subscript_expression "piVar8[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) })) })) })) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (if_statement "if ((piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5)) {\nLAB_000253d0:\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = iVar9;\n      uVar10 = unaff_s0;\n    }\n    else {\n      piVar8 = unaff_s5 + uVar5;\n      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      piVar13 = piVar11 + uVar5;\n      do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = 0;\n      uVar10 = unaff_s0;\n    }" if (parenthesized_expression "((piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5))" ( (binary_expression "(piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5)" (parenthesized_expression "(piVar11 == unaff_s5)" ( (binary_expression "piVar11 == unaff_s5" identifier == identifier) )) || (parenthesized_expression "((int)unaff_s0 <= (int)uVar5)" ( (binary_expression "(int)unaff_s0 <= (int)uVar5" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\nLAB_000253d0:\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = iVar9;\n      uVar10 = unaff_s0;\n    }" { (labeled_statement "LAB_000253d0:\n      unaff_s2 = piVar11 + uVar10;" statement_identifier : (expression_statement "unaff_s2 = piVar11 + uVar10;" (assignment_expression "unaff_s2 = piVar11 + uVar10" identifier = (binary_expression "piVar11 + uVar10" identifier + identifier)) ;)) (expression_statement "unaff_s2[-1] = iVar9;" (assignment_expression "unaff_s2[-1] = iVar9" (subscript_expression "unaff_s2[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar10 = unaff_s0;" (assignment_expression "uVar10 = unaff_s0" identifier = identifier) ;) }) (else_clause "else {\n      piVar8 = unaff_s5 + uVar5;\n      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      piVar13 = piVar11 + uVar5;\n      do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = 0;\n      uVar10 = unaff_s0;\n    }" else (compound_statement "{\n      piVar8 = unaff_s5 + uVar5;\n      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      piVar13 = piVar11 + uVar5;\n      do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = 0;\n      uVar10 = unaff_s0;\n    }" { (expression_statement "piVar8 = unaff_s5 + uVar5;" (assignment_expression "piVar8 = unaff_s5 + uVar5" identifier = (binary_expression "unaff_s5 + uVar5" identifier + identifier)) ;) (expression_statement "unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));" (assignment_expression "unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1))" identifier = (cast_expression "(int *)((int)unaff_s5 + (int)(unaff_s2 + -1))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s5 + (int)(unaff_s2 + -1))" ( (binary_expression "(int)unaff_s5 + (int)(unaff_s2 + -1)" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(unaff_s2 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s2 + -1)" ( (binary_expression "unaff_s2 + -1" identifier + number_literal) )))) )))) ;) (expression_statement "piVar13 = piVar11 + uVar5;" (assignment_expression "piVar13 = piVar11 + uVar5" identifier = (binary_expression "piVar11 + uVar5" identifier + identifier)) ;) (do_statement "do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);" do (compound_statement "{\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      }" { (expression_statement "iVar9 = *piVar8;" (assignment_expression "iVar9 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) (expression_statement "*piVar13 = iVar9;" (assignment_expression "*piVar13 = iVar9" (pointer_expression "*piVar13" * identifier) = identifier) ;) (expression_statement "piVar13 = piVar13 + 1;" (assignment_expression "piVar13 = piVar13 + 1" identifier = (binary_expression "piVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(unaff_s5 != piVar8)" ( (binary_expression "unaff_s5 != piVar8" identifier != identifier) )) ;) (expression_statement "unaff_s2 = piVar11 + uVar10;" (assignment_expression "unaff_s2 = piVar11 + uVar10" identifier = (binary_expression "piVar11 + uVar10" identifier + identifier)) ;) (expression_statement "unaff_s2[-1] = 0;" (assignment_expression "unaff_s2[-1] = 0" (subscript_expression "unaff_s2[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar10 = unaff_s0;" (assignment_expression "uVar10 = unaff_s0" identifier = identifier) ;) }))) }) (else_clause "else if ((int)uVar7 < (int)unaff_s0) {\n    iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);\n    if (iVar9 == 0) {\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }\n    else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    piVar13 = piVar11 + uVar10;\n    uVar10 = unaff_s0;\n    if (piVar13[-2] == 0) {\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }\n  }\n  else {\n    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));\n    uVar5 = unaff_s0;\n    do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);\n    if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);\nLAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar10 = 0;\n  }" else (if_statement "if ((int)uVar7 < (int)unaff_s0) {\n    iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);\n    if (iVar9 == 0) {\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }\n    else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    piVar13 = piVar11 + uVar10;\n    uVar10 = unaff_s0;\n    if (piVar13[-2] == 0) {\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }\n  }\n  else {\n    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));\n    uVar5 = unaff_s0;\n    do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);\n    if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);\nLAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar10 = 0;\n  }" if (parenthesized_expression "((int)uVar7 < (int)unaff_s0)" ( (binary_expression "(int)uVar7 < (int)unaff_s0" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);\n    if (iVar9 == 0) {\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }\n    else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    piVar13 = piVar11 + uVar10;\n    uVar10 = unaff_s0;\n    if (piVar13[-2] == 0) {\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }\n  }" { (expression_statement "iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7)" identifier = (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7)" (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 "(piVar11,unaff_s5,piVar13,uVar7)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar9 == 0) {\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }\n    else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }" { (if_statement "if (piVar11 == unaff_s5) goto LAB_00025070;" if (parenthesized_expression "(piVar11 == unaff_s5)" ( (binary_expression "piVar11 == unaff_s5" identifier == identifier) )) (goto_statement "goto LAB_00025070;" goto statement_identifier ;)) (labeled_statement "LAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;" statement_identifier : (expression_statement "unaff_s5 = unaff_s5 + uVar7;" (assignment_expression "unaff_s5 = unaff_s5 + uVar7" identifier = (binary_expression "unaff_s5 + uVar7" identifier + identifier)) ;)) (expression_statement "piVar13 = piVar11 + uVar7;" (assignment_expression "piVar13 = piVar11 + uVar7" identifier = (binary_expression "piVar11 + uVar7" identifier + identifier)) ;) (do_statement "do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);" do (compound_statement "{\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      }" { (expression_statement "iVar9 = *unaff_s5;" (assignment_expression "iVar9 = *unaff_s5" identifier = (pointer_expression "*unaff_s5" * identifier)) ;) (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s5 = unaff_s5 + 1;" (assignment_expression "unaff_s5 = unaff_s5 + 1" identifier = (binary_expression "unaff_s5 + 1" identifier + number_literal)) ;) (expression_statement "*piVar13 = iVar9;" (assignment_expression "*piVar13 = iVar9" (pointer_expression "*piVar13" * identifier) = identifier) ;) (expression_statement "piVar13 = piVar13 + 1;" (assignment_expression "piVar13 = piVar13 + 1" identifier = (binary_expression "piVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)uVar7 < (int)unaff_s0)" ( (binary_expression "(int)uVar7 < (int)unaff_s0" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) }) (else_clause "else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }" else (compound_statement "{\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }" { (expression_statement "uVar5 = uVar7 + 1;" (assignment_expression "uVar5 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "piVar13 = unaff_s5 + uVar7;" (assignment_expression "piVar13 = unaff_s5 + uVar7" identifier = (binary_expression "unaff_s5 + uVar7" identifier + identifier)) ;) (expression_statement "iVar9 = *piVar13;" (assignment_expression "iVar9 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "piVar11[uVar7] = iVar9 + -1;" (assignment_expression "piVar11[uVar7] = iVar9 + -1" (subscript_expression "piVar11[uVar7]" identifier [ identifier ]) = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (if_statement "if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }" { (if_statement "if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }" if (parenthesized_expression "((int)uVar5 < (int)unaff_s0)" ( (binary_expression "(int)uVar5 < (int)unaff_s0" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }" { (expression_statement "uVar5 = uVar7 + 2;" (assignment_expression "uVar5 = uVar7 + 2" identifier = (binary_expression "uVar7 + 2" identifier + number_literal)) ;) (expression_statement "iVar9 = unaff_s5[uVar7 + 1];" (assignment_expression "iVar9 = unaff_s5[uVar7 + 1]" identifier = (subscript_expression "unaff_s5[uVar7 + 1]" identifier [ (binary_expression "uVar7 + 1" identifier + number_literal) ])) ;) (expression_statement "piVar11[uVar7 + 1] = iVar9 + -1;" (assignment_expression "piVar11[uVar7 + 1] = iVar9 + -1" (subscript_expression "piVar11[uVar7 + 1]" identifier [ (binary_expression "uVar7 + 1" identifier + number_literal) ]) = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "piVar8 = piVar11 + uVar7;" (assignment_expression "piVar8 = piVar11 + uVar7" identifier = (binary_expression "piVar11 + uVar7" identifier + identifier)) ;) (while_statement "while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }" while (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }" { (if_statement "if (unaff_s0 == uVar5) goto LAB_0002507c;" if (parenthesized_expression "(unaff_s0 == uVar5)" ( (binary_expression "unaff_s0 == uVar5" identifier == identifier) )) (goto_statement "goto LAB_0002507c;" goto statement_identifier ;)) (expression_statement "iVar9 = piVar13[2];" (assignment_expression "iVar9 = piVar13[2]" identifier = (subscript_expression "piVar13[2]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = uVar5 + 1;" (assignment_expression "uVar5 = uVar5 + 1" identifier = (binary_expression "uVar5 + 1" identifier + number_literal)) ;) (expression_statement "piVar13 = piVar13 + 1;" (assignment_expression "piVar13 = piVar13 + 1" identifier = (binary_expression "piVar13 + 1" identifier + number_literal)) ;) (expression_statement "piVar8[2] = iVar9 + -1;" (assignment_expression "piVar8[2] = iVar9 + -1" (subscript_expression "piVar8[2]" identifier [ number_literal ]) = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) })) (goto_statement "goto LAB_0002522c;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }" else (compound_statement "{\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }" { (labeled_statement "LAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }" statement_identifier : (if_statement "if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }" if (parenthesized_expression "(piVar11 != unaff_s5)" ( (binary_expression "piVar11 != unaff_s5" identifier != identifier) )) (compound_statement "{\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }" { (expression_statement "uVar7 = uVar5;" (assignment_expression "uVar7 = uVar5" identifier = identifier) ;) (if_statement "if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;" if (parenthesized_expression "((int)unaff_s0 <= (int)uVar5)" ( (binary_expression "(int)unaff_s0 <= (int)uVar5" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00025070;" goto statement_identifier ;)) (goto_statement "goto LAB_0002523c;" goto statement_identifier ;) }))) }))) }))) (labeled_statement "LAB_0002507c:\n    piVar13 = piVar11 + uVar10;" statement_identifier : (expression_statement "piVar13 = piVar11 + uVar10;" (assignment_expression "piVar13 = piVar11 + uVar10" identifier = (binary_expression "piVar11 + uVar10" identifier + identifier)) ;)) (expression_statement "uVar10 = unaff_s0;" (assignment_expression "uVar10 = unaff_s0" identifier = identifier) ;) (if_statement "if (piVar13[-2] == 0) {\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }" if (parenthesized_expression "(piVar13[-2] == 0)" ( (binary_expression "piVar13[-2] == 0" (subscript_expression "piVar13[-2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }" { (expression_statement "iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);" (assignment_expression "iVar9 = (int)piVar11 + (int)(unaff_s2 + -1)" identifier = (binary_expression "(int)piVar11 + (int)(unaff_s2 + -1)" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(unaff_s2 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s2 + -1)" ( (binary_expression "unaff_s2 + -1" identifier + number_literal) ))))) ;) (do_statement "do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);" do (compound_statement "{\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      }" { (expression_statement "unaff_s0 = unaff_s0 - 1;" (assignment_expression "unaff_s0 = unaff_s0 - 1" identifier = (binary_expression "unaff_s0 - 1" identifier - number_literal)) ;) (if_statement "if (unaff_s0 == 0) goto LAB_000250a8;" if (parenthesized_expression "(unaff_s0 == 0)" ( (binary_expression "unaff_s0 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000250a8;" goto statement_identifier ;)) (expression_statement "piVar13 = (int *)(iVar9 + -8);" (assignment_expression "piVar13 = (int *)(iVar9 + -8)" identifier = (cast_expression "(int *)(iVar9 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -8)" ( (binary_expression "iVar9 + -8" identifier + number_literal) )))) ;) (expression_statement "iVar9 = iVar9 + -4;" (assignment_expression "iVar9 = iVar9 + -4" identifier = (binary_expression "iVar9 + -4" identifier + number_literal)) ;) (expression_statement "uVar10 = unaff_s0;" (assignment_expression "uVar10 = unaff_s0" identifier = identifier) ;) }) while (parenthesized_expression "(*piVar13 == 0)" ( (binary_expression "*piVar13 == 0" (pointer_expression "*piVar13" * identifier) == number_literal) )) ;) })) }) (else_clause "else {\n    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));\n    uVar5 = unaff_s0;\n    do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);\n    if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);\nLAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar10 = 0;\n  }" else (compound_statement "{\n    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));\n    uVar5 = unaff_s0;\n    do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);\n    if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);\nLAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar10 = 0;\n  }" { (expression_statement "iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);" (assignment_expression "iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1)" identifier = (binary_expression "(int)unaff_s5 + (int)(unaff_s2 + -1)" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(unaff_s2 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s2 + -1)" ( (binary_expression "unaff_s2 + -1" identifier + number_literal) ))))) ;) (expression_statement "puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));" (assignment_expression "puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1))" identifier = (cast_expression "(uint *)((int)piVar13 + (int)(unaff_s2 + -1))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar13 + (int)(unaff_s2 + -1))" ( (binary_expression "(int)piVar13 + (int)(unaff_s2 + -1)" (cast_expression "(int)piVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(unaff_s2 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s2 + -1)" ( (binary_expression "unaff_s2 + -1" identifier + number_literal) )))) )))) ;) (expression_statement "uVar5 = unaff_s0;" (assignment_expression "uVar5 = unaff_s0" identifier = identifier) ;) (do_statement "do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);" do (compound_statement "{\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    }" { (expression_statement "uVar5 = uVar5 - 1;" (assignment_expression "uVar5 = uVar5 - 1" identifier = (binary_expression "uVar5 - 1" identifier - number_literal)) ;) (expression_statement "puVar6 = puVar6 + -1;" (assignment_expression "puVar6 = puVar6 + -1" identifier = (binary_expression "puVar6 + -1" identifier + number_literal)) ;) (expression_statement "piVar8 = unaff_s5;" (assignment_expression "piVar8 = unaff_s5" identifier = identifier) ;) (if_statement "if (uVar5 == 0xffffffff) goto LAB_00025058;" if (parenthesized_expression "(uVar5 == 0xffffffff)" ( (binary_expression "uVar5 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_00025058;" goto statement_identifier ;)) (expression_statement "puVar1 = (uint *)(iVar9 + -4);" (assignment_expression "puVar1 = (uint *)(iVar9 + -4)" identifier = (cast_expression "(uint *)(iVar9 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -4)" ( (binary_expression "iVar9 + -4" identifier + number_literal) )))) ;) (expression_statement "iVar9 = iVar9 + -4;" (assignment_expression "iVar9 = iVar9 + -4" identifier = (binary_expression "iVar9 + -4" identifier + number_literal)) ;) }) while (parenthesized_expression "(*puVar1 == *puVar6)" ( (binary_expression "*puVar1 == *puVar6" (pointer_expression "*puVar1" * identifier) == (pointer_expression "*puVar6" * identifier)) )) ;) (if_statement "if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }" if (parenthesized_expression "(*puVar1 <= *puVar6)" ( (binary_expression "*puVar1 <= *puVar6" (pointer_expression "*puVar1" * identifier) <= (pointer_expression "*puVar6" * identifier)) )) (compound_statement "{\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }" { (expression_statement "piVar8 = piVar13;" (assignment_expression "piVar8 = piVar13" identifier = identifier) ;) (expression_statement "piVar13 = unaff_s5;" (assignment_expression "piVar13 = unaff_s5" identifier = identifier) ;) (expression_statement "uVar7 = unaff_s0;" (assignment_expression "uVar7 = unaff_s0" identifier = identifier) ;) })) (labeled_statement "LAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);" statement_identifier : (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7)" (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 "(piVar11,piVar8,piVar13,uVar7)" ( identifier , identifier , identifier , identifier ))) ;)) (labeled_statement "LAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;" statement_identifier : (if_statement "if (uVar3 != 0) goto LAB_0002507c;" if (parenthesized_expression "(uVar3 != 0)" ( (binary_expression "uVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0002507c;" goto statement_identifier ;))) (labeled_statement "LAB_000250a8:\n    uVar10 = 0;" statement_identifier : (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;)) }))))) (labeled_statement "LAB_000250b0:\n  uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(piVar11,uVar10,puVar12,iVar14);" statement_identifier : (expression_statement "uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(piVar11,uVar10,puVar12,iVar14);" (assignment_expression "uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(piVar11,uVar10,puVar12,iVar14)" identifier = (call_expression "(*(code *)PTR___gmpn_divisible_p_0009d0f8)(piVar11,uVar10,puVar12,iVar14)" (parenthesized_expression "(*(code *)PTR___gmpn_divisible_p_0009d0f8)" ( (pointer_expression "*(code *)PTR___gmpn_divisible_p_0009d0f8" * (cast_expression "(code *)PTR___gmpn_divisible_p_0009d0f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar11,uVar10,puVar12,iVar14)" ( identifier , identifier , identifier , identifier )))) ;)) (expression_statement "unaff_s0 = uVar10;" (assignment_expression "unaff_s0 = uVar10" identifier = identifier) ;) (if_statement "if (local_30 != 0) {\n    (*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();\n  }" if (parenthesized_expression "(local_30 != 0)" ( (binary_expression "local_30 != 0" identifier != number_literal) )) (compound_statement "{\n    (*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();\n  }" { (expression_statement "(*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();" (call_expression "(*(code *)PTR___gmp_tmp_reentrant_free_0009d618)()" (parenthesized_expression "(*(code *)PTR___gmp_tmp_reentrant_free_0009d618)" ( (pointer_expression "*(code *)PTR___gmp_tmp_reentrant_free_0009d618" * (cast_expression "(code *)PTR___gmp_tmp_reentrant_free_0009d618" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_0002514c:\n  while (local_2c != *(int *)puVar4) {\n    (*(code *)PTR___stack_chk_fail_0009d4d0)();\nLAB_00025608:\n    uVar5 = (uint)unaff_s2 >> 0x10;\n    iVar14 = 0xe;\n    if ((uVar5 & 0xff) == 0) {\n      uVar5 = (uint)unaff_s2 >> 0x18;\n      iVar14 = 0x1e;\n      if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }\n    }\nLAB_000255b8:\n    uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;\nLAB_0002547c:\n    unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));\nLAB_00025484:\n    piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar13 != (int *)0x0) {\n      uVar7 = (uint)(unaff_s2 == piVar13);\n    }\n  }" statement_identifier : (while_statement "while (local_2c != *(int *)puVar4) {\n    (*(code *)PTR___stack_chk_fail_0009d4d0)();\nLAB_00025608:\n    uVar5 = (uint)unaff_s2 >> 0x10;\n    iVar14 = 0xe;\n    if ((uVar5 & 0xff) == 0) {\n      uVar5 = (uint)unaff_s2 >> 0x18;\n      iVar14 = 0x1e;\n      if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }\n    }\nLAB_000255b8:\n    uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;\nLAB_0002547c:\n    unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));\nLAB_00025484:\n    piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar13 != (int *)0x0) {\n      uVar7 = (uint)(unaff_s2 == piVar13);\n    }\n  }" while (parenthesized_expression "(local_2c != *(int *)puVar4)" ( (binary_expression "local_2c != *(int *)puVar4" identifier != (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    (*(code *)PTR___stack_chk_fail_0009d4d0)();\nLAB_00025608:\n    uVar5 = (uint)unaff_s2 >> 0x10;\n    iVar14 = 0xe;\n    if ((uVar5 & 0xff) == 0) {\n      uVar5 = (uint)unaff_s2 >> 0x18;\n      iVar14 = 0x1e;\n      if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }\n    }\nLAB_000255b8:\n    uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;\nLAB_0002547c:\n    unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));\nLAB_00025484:\n    piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar13 != (int *)0x0) {\n      uVar7 = (uint)(unaff_s2 == piVar13);\n    }\n  }" { (expression_statement "(*(code *)PTR___stack_chk_fail_0009d4d0)();" (call_expression "(*(code *)PTR___stack_chk_fail_0009d4d0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0009d4d0)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0009d4d0" * (cast_expression "(code *)PTR___stack_chk_fail_0009d4d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_00025608:\n    uVar5 = (uint)unaff_s2 >> 0x10;" statement_identifier : (expression_statement "uVar5 = (uint)unaff_s2 >> 0x10;" (assignment_expression "uVar5 = (uint)unaff_s2 >> 0x10" identifier = (binary_expression "(uint)unaff_s2 >> 0x10" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;)) (expression_statement "iVar14 = 0xe;" (assignment_expression "iVar14 = 0xe" identifier = number_literal) ;) (if_statement "if ((uVar5 & 0xff) == 0) {\n      uVar5 = (uint)unaff_s2 >> 0x18;\n      iVar14 = 0x1e;\n      if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }\n    }" if (parenthesized_expression "((uVar5 & 0xff) == 0)" ( (binary_expression "(uVar5 & 0xff) == 0" (parenthesized_expression "(uVar5 & 0xff)" ( (binary_expression "uVar5 & 0xff" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar5 = (uint)unaff_s2 >> 0x18;\n      iVar14 = 0x1e;\n      if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }\n    }" { (expression_statement "uVar5 = (uint)unaff_s2 >> 0x18;" (assignment_expression "uVar5 = (uint)unaff_s2 >> 0x18" identifier = (binary_expression "(uint)unaff_s2 >> 0x18" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;) (expression_statement "iVar14 = 0x1e;" (assignment_expression "iVar14 = 0x1e" identifier = number_literal) ;) (if_statement "if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }" if (parenthesized_expression "(uVar5 != 0)" ( (binary_expression "uVar5 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar14 = 0x16;\n      }" { (expression_statement "iVar14 = 0x16;" (assignment_expression "iVar14 = 0x16" identifier = number_literal) ;) })) })) (labeled_statement "LAB_000255b8:\n    uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;" statement_identifier : (expression_statement "uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;" (assignment_expression "uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14" identifier = (binary_expression "(uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14" (cast_expression "(uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5]" identifier [ (binary_expression "-uVar5 & uVar5" (unary_expression "-uVar5" - identifier) & identifier) ]))) + identifier)) ;)) (labeled_statement "LAB_0002547c:\n    unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));" statement_identifier : (expression_statement "unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));" (assignment_expression "unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f))" identifier = (cast_expression "(int *)((uint)unaff_s2 >> (uVar5 & 0x1f))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)unaff_s2 >> (uVar5 & 0x1f))" ( (binary_expression "(uint)unaff_s2 >> (uVar5 & 0x1f)" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "(uVar5 & 0x1f)" ( (binary_expression "uVar5 & 0x1f" identifier & number_literal) ))) )))) ;)) (labeled_statement "LAB_00025484:\n    piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);" statement_identifier : (expression_statement "piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);" (assignment_expression "piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2)" identifier = (cast_expression "(int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2)" (parenthesized_expression "(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)" ( (pointer_expression "*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8" * (cast_expression "(code *)PTR___gmpn_modexact_1c_odd_0009d3d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s5,unaff_s0,unaff_s2)" ( identifier , identifier , identifier ))))) ;)) (if_statement "if (piVar13 != (int *)0x0) {\n      uVar7 = (uint)(unaff_s2 == piVar13);\n    }" if (parenthesized_expression "(piVar13 != (int *)0x0)" ( (binary_expression "piVar13 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar7 = (uint)(unaff_s2 == piVar13);\n    }" { (expression_statement "uVar7 = (uint)(unaff_s2 == piVar13);" (assignment_expression "uVar7 = (uint)(unaff_s2 == piVar13)" identifier = (call_expression "(uint)(unaff_s2 == piVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(unaff_s2 == piVar13)" ( (binary_expression "unaff_s2 == piVar13" identifier == identifier) )))) ;) })) }))) (return_statement "return uVar7;" return identifier ;) })))
(translation_unit "int __gmpz_congruent_p(mpz_srcptr a,mpz_srcptr c,mpz_srcptr d)\n\n{\n  uint *puVar1;\n  int *piVar2;\n  mp_limb_t *pmVar3;\n  uint uVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint *puVar7;\n  uint uVar8;\n  mp_limb_t *pmVar9;\n  int iVar10;\n  uint uVar11;\n  mp_limb_t mVar12;\n  mp_limb_t *pmVar13;\n  mp_limb_t *pmVar14;\n  mp_limb_t *pmVar15;\n  uint unaff_s0;\n  mp_limb_t *unaff_s2;\n  int iVar16;\n  mp_limb_t *unaff_s5;\n  uint uVar17;\n  tmp_reentrant_t *__tmp_marker;\n  int local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_0009d540;\n  iVar16 = d->_mp_size;\n  local_2c = *(int *)PTR___stack_chk_guard_0009d540;\n  if (iVar16 == 0) {\n    iVar16 = (*(code *)PTR___gmpz_cmp_0009d244)();\n    uVar8 = (uint)(iVar16 == 0);\n    goto LAB_0002514c;\n  }\n  if (iVar16 < 0) {\n    iVar16 = -iVar16;\n  }\n  uVar6 = a->_mp_size;\n  pmVar14 = d->_mp_d;\n  uVar8 = uVar6;\n  if ((int)uVar6 < 0) {\n    uVar8 = -uVar6;\n  }\n  uVar17 = c->_mp_size;\n  uVar11 = uVar17;\n  if ((int)uVar17 < 0) {\n    uVar11 = -uVar17;\n  }\n  if ((int)uVar8 < (int)uVar11) {\n    unaff_s5 = c->_mp_d;\n    uVar4 = uVar17;\n    c = a;\n    unaff_s0 = uVar11;\n  }\n  else {\n    unaff_s5 = a->_mp_d;\n    uVar4 = uVar6;\n    uVar6 = uVar17;\n    unaff_s0 = uVar8;\n    uVar8 = uVar11;\n  }\n  if (uVar6 == 0) {\n    uVar8 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,pmVar14,iVar16);\n    goto LAB_0002514c;\n  }\n  unaff_s2 = (mp_limb_t *)*pmVar14;\n  uVar6 = uVar4 ^ uVar6;\n  pmVar15 = c->_mp_d;\n  pmVar13 = (mp_limb_t *)*pmVar15;\n  uVar11 = (-(int)unaff_s2 & (uint)unaff_s2) - 1;\n  if ((int)uVar6 < 0) {\n    uVar17 = -(int)pmVar13 - *unaff_s5;\n  }\n  else {\n    uVar17 = *unaff_s5 - (int)pmVar13;\n  }\n  if ((uVar17 & uVar11) != 0) {\n    uVar8 = 0;\n    goto LAB_0002514c;\n  }\n  if (uVar8 == 1) {\n    if (iVar16 != 1) {\n      if (((iVar16 != 2) || (unaff_s2 == (mp_limb_t *)0x0)) || (uVar11 < pmVar14[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar8 = (uint)unaff_s2 >> 8;\n        iVar16 = 6;\n        if ((uVar8 & 0xff) == 0) {\n          uVar8 = (uint)unaff_s2 >> 0x10;\n          iVar16 = 0xe;\n          if ((uVar8 & 0xff) == 0) {\n            uVar8 = (uint)unaff_s2 >> 0x18;\n            iVar16 = 0x1e;\n            if (uVar8 != 0) {\n              iVar16 = 0x16;\n            }\n          }\n        }\n        uVar8 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar8 & uVar8] + iVar16;\n      }\n      else {\n        uVar8 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (mp_limb_t *)(pmVar14[1] << (-uVar8 & 0x1f) | (uint)unaff_s2 >> (uVar8 & 0x1f));\n    }\n    if ((int)uVar6 < 0) {\n      if (unaff_s2 < pmVar13) {\n        if (unaff_s2 < (mp_limb_t *)0x10000) {\n          iVar16 = 0;\n          if ((mp_limb_t *)0xff < unaff_s2) {\n            iVar16 = 0x18;\n          }\n          iVar10 = 9;\n          if ((mp_limb_t *)0xff >= unaff_s2) {\n            iVar10 = 1;\n          }\n        }\n        else {\n          iVar16 = 0x10;\n          if ((mp_limb_t *)0xffffff < unaff_s2) {\n            iVar16 = 8;\n          }\n          iVar10 = 0x19;\n          if ((mp_limb_t *)0xffffff >= unaff_s2) {\n            iVar10 = 0x11;\n          }\n        }\n        pmVar14 = (mp_limb_t *)\n                  ((int)unaff_s2 <<\n                  (iVar16 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar10] & 0x1f\n                  ));\n        if (pmVar14 < pmVar13) {\n          pmVar14 = (mp_limb_t *)((int)pmVar14 << 1);\n        }\n        pmVar13 = (mp_limb_t *)((int)pmVar14 - (int)pmVar13);\n      }\n      else {\n        pmVar13 = (mp_limb_t *)((int)unaff_s2 - (int)pmVar13);\n      }\n    }\n    if ((int)unaff_s0 < 10) {\n      uVar8 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar6 = (uint)unaff_s2 >> 8;\n        iVar16 = 6;\n        if ((uVar6 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar6 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }\n    pmVar14 = (mp_limb_t *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);\n    if (pmVar13 < unaff_s2) {\n      uVar8 = (uint)(pmVar13 == pmVar14);\n    }\n    else {\n      if (unaff_s2 == (mp_limb_t *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (mp_limb_t *)((uint)pmVar13 % (uint)unaff_s2 ^ (uint)pmVar14);\n      uVar8 = (uint)(unaff_s2 == (mp_limb_t *)0x0);\n    }\n    goto LAB_0002514c;\n  }\nLAB_00024fe0:\n  uVar11 = unaff_s0 + 1;\n  unaff_s2 = (mp_limb_t *)(uVar11 * 4);\n  __tmp_marker = (tmp_reentrant_t *)0x0;\n  if (unaff_s2 < (mp_limb_t *)0x7f01) {\n    pmVar13 = (mp_limb_t *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));\n  }\n  else {\n    pmVar13 = (mp_limb_t *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&__tmp_marker,unaff_s2)\n    ;\n  }\n  if ((int)uVar6 < 0) {\n    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar13,unaff_s5,pmVar15,uVar8);\n    uVar6 = uVar8;\n    if (iVar10 != 0) {\n      if ((int)unaff_s0 <= (int)uVar8) {\nLAB_00025594:\n        unaff_s2 = pmVar13 + uVar11;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar6 = uVar8 + 1;\n      pmVar15 = unaff_s5 + uVar8;\n      mVar12 = *pmVar15;\n      pmVar13[uVar8] = mVar12 + 1;\n      if (mVar12 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025594;\n        uVar6 = uVar8 + 2;\n        mVar12 = unaff_s5[uVar8 + 1] + 1;\n        pmVar13[uVar8 + 1] = mVar12;\n        pmVar9 = pmVar13 + uVar8;\n        while (mVar12 == 0) {\n          if (unaff_s0 == uVar6) {\n            mVar12 = 1;\n            unaff_s0 = uVar11;\n            goto LAB_000253d0;\n          }\n          pmVar3 = pmVar15 + 2;\n          uVar6 = uVar6 + 1;\n          pmVar15 = pmVar15 + 1;\n          mVar12 = *pmVar3 + 1;\n          pmVar9[2] = mVar12;\n          pmVar9 = pmVar9 + 1;\n        }\n      }\n    }\n    mVar12 = 0;\n    if ((pmVar13 == unaff_s5) || ((int)unaff_s0 <= (int)uVar6)) {\nLAB_000253d0:\n      unaff_s2 = pmVar13 + uVar11;\n      unaff_s2[-1] = mVar12;\n      uVar11 = unaff_s0;\n    }\n    else {\n      pmVar9 = unaff_s5 + uVar6;\n      unaff_s5 = (mp_limb_t *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      pmVar15 = pmVar13 + uVar6;\n      do {\n        mVar12 = *pmVar9;\n        pmVar9 = pmVar9 + 1;\n        *pmVar15 = mVar12;\n        pmVar15 = pmVar15 + 1;\n      } while (unaff_s5 != pmVar9);\n      unaff_s2 = pmVar13 + uVar11;\n      unaff_s2[-1] = 0;\n      uVar11 = unaff_s0;\n    }\n  }\n  else if ((int)uVar8 < (int)unaff_s0) {\n    iVar10 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar13,unaff_s5,pmVar15,uVar8);\n    if (iVar10 == 0) {\n      if (pmVar13 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar8;\n      pmVar15 = pmVar13 + uVar8;\n      do {\n        mVar12 = *unaff_s5;\n        uVar8 = uVar8 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *pmVar15 = mVar12;\n        pmVar15 = pmVar15 + 1;\n      } while ((int)uVar8 < (int)unaff_s0);\n    }\n    else {\n      uVar6 = uVar8 + 1;\n      pmVar15 = unaff_s5 + uVar8;\n      mVar12 = *pmVar15;\n      pmVar13[uVar8] = mVar12 - 1;\n      if (mVar12 == 0) {\n        if ((int)uVar6 < (int)unaff_s0) {\n          uVar6 = uVar8 + 2;\n          mVar12 = unaff_s5[uVar8 + 1];\n          pmVar13[uVar8 + 1] = mVar12 - 1;\n          pmVar9 = pmVar13 + uVar8;\n          while (mVar12 == 0) {\n            if (unaff_s0 == uVar6) goto LAB_0002507c;\n            mVar12 = pmVar15[2];\n            uVar6 = uVar6 + 1;\n            pmVar15 = pmVar15 + 1;\n            pmVar9[2] = mVar12 - 1;\n            pmVar9 = pmVar9 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (pmVar13 != unaff_s5) {\n          uVar8 = uVar6;\n          if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    pmVar15 = pmVar13 + uVar11;\n    uVar11 = unaff_s0;\n    if (pmVar15[-2] == 0) {\n      iVar10 = (int)pmVar13 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar2 = (int *)(iVar10 + -8);\n        iVar10 = iVar10 + -4;\n        uVar11 = unaff_s0;\n      } while (*piVar2 == 0);\n    }\n  }\n  else {\n    iVar10 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar7 = (uint *)((int)pmVar15 + (int)(unaff_s2 + -1));\n    uVar6 = unaff_s0;\n    do {\n      uVar6 = uVar6 - 1;\n      puVar7 = puVar7 + -1;\n      pmVar9 = unaff_s5;\n      if (uVar6 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar10 + -4);\n      iVar10 = iVar10 + -4;\n    } while (*puVar1 == *puVar7);\n    if (*puVar1 <= *puVar7) {\n      pmVar9 = pmVar15;\n      pmVar15 = unaff_s5;\n      uVar8 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar13,pmVar9,pmVar15,uVar8);\nLAB_00025070:\n    if (uVar4 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar11 = 0;\n  }\nLAB_000250b0:\n  uVar8 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(pmVar13,uVar11,pmVar14,iVar16);\n  unaff_s0 = uVar11;\n  if (__tmp_marker != (tmp_reentrant_t *)0x0) {\n    (*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();\n  }\nLAB_0002514c:\n  while (local_2c != *(int *)puVar5) {\n    (*(code *)PTR___stack_chk_fail_0009d4d0)();\nLAB_00025608:\n    uVar6 = (uint)unaff_s2 >> 0x10;\n    iVar16 = 0xe;\n    if ((uVar6 & 0xff) == 0) {\n      uVar6 = (uint)unaff_s2 >> 0x18;\n      iVar16 = 0x1e;\n      if (uVar6 != 0) {\n        iVar16 = 0x16;\n      }\n    }\nLAB_000255b8:\n    uVar6 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar6 & uVar6] + iVar16;\nLAB_0002547c:\n    unaff_s2 = (mp_limb_t *)((uint)unaff_s2 >> (uVar6 & 0x1f));\nLAB_00025484:\n    pmVar14 = (mp_limb_t *)\n              (*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);\n    if (pmVar14 != (mp_limb_t *)0x0) {\n      uVar8 = (uint)(unaff_s2 == pmVar14);\n    }\n  }\n  return uVar8;\n}\n\n" (function_definition "int __gmpz_congruent_p(mpz_srcptr a,mpz_srcptr c,mpz_srcptr d)\n\n{\n  uint *puVar1;\n  int *piVar2;\n  mp_limb_t *pmVar3;\n  uint uVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint *puVar7;\n  uint uVar8;\n  mp_limb_t *pmVar9;\n  int iVar10;\n  uint uVar11;\n  mp_limb_t mVar12;\n  mp_limb_t *pmVar13;\n  mp_limb_t *pmVar14;\n  mp_limb_t *pmVar15;\n  uint unaff_s0;\n  mp_limb_t *unaff_s2;\n  int iVar16;\n  mp_limb_t *unaff_s5;\n  uint uVar17;\n  tmp_reentrant_t *__tmp_marker;\n  int local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_0009d540;\n  iVar16 = d->_mp_size;\n  local_2c = *(int *)PTR___stack_chk_guard_0009d540;\n  if (iVar16 == 0) {\n    iVar16 = (*(code *)PTR___gmpz_cmp_0009d244)();\n    uVar8 = (uint)(iVar16 == 0);\n    goto LAB_0002514c;\n  }\n  if (iVar16 < 0) {\n    iVar16 = -iVar16;\n  }\n  uVar6 = a->_mp_size;\n  pmVar14 = d->_mp_d;\n  uVar8 = uVar6;\n  if ((int)uVar6 < 0) {\n    uVar8 = -uVar6;\n  }\n  uVar17 = c->_mp_size;\n  uVar11 = uVar17;\n  if ((int)uVar17 < 0) {\n    uVar11 = -uVar17;\n  }\n  if ((int)uVar8 < (int)uVar11) {\n    unaff_s5 = c->_mp_d;\n    uVar4 = uVar17;\n    c = a;\n    unaff_s0 = uVar11;\n  }\n  else {\n    unaff_s5 = a->_mp_d;\n    uVar4 = uVar6;\n    uVar6 = uVar17;\n    unaff_s0 = uVar8;\n    uVar8 = uVar11;\n  }\n  if (uVar6 == 0) {\n    uVar8 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,pmVar14,iVar16);\n    goto LAB_0002514c;\n  }\n  unaff_s2 = (mp_limb_t *)*pmVar14;\n  uVar6 = uVar4 ^ uVar6;\n  pmVar15 = c->_mp_d;\n  pmVar13 = (mp_limb_t *)*pmVar15;\n  uVar11 = (-(int)unaff_s2 & (uint)unaff_s2) - 1;\n  if ((int)uVar6 < 0) {\n    uVar17 = -(int)pmVar13 - *unaff_s5;\n  }\n  else {\n    uVar17 = *unaff_s5 - (int)pmVar13;\n  }\n  if ((uVar17 & uVar11) != 0) {\n    uVar8 = 0;\n    goto LAB_0002514c;\n  }\n  if (uVar8 == 1) {\n    if (iVar16 != 1) {\n      if (((iVar16 != 2) || (unaff_s2 == (mp_limb_t *)0x0)) || (uVar11 < pmVar14[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar8 = (uint)unaff_s2 >> 8;\n        iVar16 = 6;\n        if ((uVar8 & 0xff) == 0) {\n          uVar8 = (uint)unaff_s2 >> 0x10;\n          iVar16 = 0xe;\n          if ((uVar8 & 0xff) == 0) {\n            uVar8 = (uint)unaff_s2 >> 0x18;\n            iVar16 = 0x1e;\n            if (uVar8 != 0) {\n              iVar16 = 0x16;\n            }\n          }\n        }\n        uVar8 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar8 & uVar8] + iVar16;\n      }\n      else {\n        uVar8 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (mp_limb_t *)(pmVar14[1] << (-uVar8 & 0x1f) | (uint)unaff_s2 >> (uVar8 & 0x1f));\n    }\n    if ((int)uVar6 < 0) {\n      if (unaff_s2 < pmVar13) {\n        if (unaff_s2 < (mp_limb_t *)0x10000) {\n          iVar16 = 0;\n          if ((mp_limb_t *)0xff < unaff_s2) {\n            iVar16 = 0x18;\n          }\n          iVar10 = 9;\n          if ((mp_limb_t *)0xff >= unaff_s2) {\n            iVar10 = 1;\n          }\n        }\n        else {\n          iVar16 = 0x10;\n          if ((mp_limb_t *)0xffffff < unaff_s2) {\n            iVar16 = 8;\n          }\n          iVar10 = 0x19;\n          if ((mp_limb_t *)0xffffff >= unaff_s2) {\n            iVar10 = 0x11;\n          }\n        }\n        pmVar14 = (mp_limb_t *)\n                  ((int)unaff_s2 <<\n                  (iVar16 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar10] & 0x1f\n                  ));\n        if (pmVar14 < pmVar13) {\n          pmVar14 = (mp_limb_t *)((int)pmVar14 << 1);\n        }\n        pmVar13 = (mp_limb_t *)((int)pmVar14 - (int)pmVar13);\n      }\n      else {\n        pmVar13 = (mp_limb_t *)((int)unaff_s2 - (int)pmVar13);\n      }\n    }\n    if ((int)unaff_s0 < 10) {\n      uVar8 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar6 = (uint)unaff_s2 >> 8;\n        iVar16 = 6;\n        if ((uVar6 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar6 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }\n    pmVar14 = (mp_limb_t *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);\n    if (pmVar13 < unaff_s2) {\n      uVar8 = (uint)(pmVar13 == pmVar14);\n    }\n    else {\n      if (unaff_s2 == (mp_limb_t *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (mp_limb_t *)((uint)pmVar13 % (uint)unaff_s2 ^ (uint)pmVar14);\n      uVar8 = (uint)(unaff_s2 == (mp_limb_t *)0x0);\n    }\n    goto LAB_0002514c;\n  }\nLAB_00024fe0:\n  uVar11 = unaff_s0 + 1;\n  unaff_s2 = (mp_limb_t *)(uVar11 * 4);\n  __tmp_marker = (tmp_reentrant_t *)0x0;\n  if (unaff_s2 < (mp_limb_t *)0x7f01) {\n    pmVar13 = (mp_limb_t *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));\n  }\n  else {\n    pmVar13 = (mp_limb_t *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&__tmp_marker,unaff_s2)\n    ;\n  }\n  if ((int)uVar6 < 0) {\n    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar13,unaff_s5,pmVar15,uVar8);\n    uVar6 = uVar8;\n    if (iVar10 != 0) {\n      if ((int)unaff_s0 <= (int)uVar8) {\nLAB_00025594:\n        unaff_s2 = pmVar13 + uVar11;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar6 = uVar8 + 1;\n      pmVar15 = unaff_s5 + uVar8;\n      mVar12 = *pmVar15;\n      pmVar13[uVar8] = mVar12 + 1;\n      if (mVar12 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025594;\n        uVar6 = uVar8 + 2;\n        mVar12 = unaff_s5[uVar8 + 1] + 1;\n        pmVar13[uVar8 + 1] = mVar12;\n        pmVar9 = pmVar13 + uVar8;\n        while (mVar12 == 0) {\n          if (unaff_s0 == uVar6) {\n            mVar12 = 1;\n            unaff_s0 = uVar11;\n            goto LAB_000253d0;\n          }\n          pmVar3 = pmVar15 + 2;\n          uVar6 = uVar6 + 1;\n          pmVar15 = pmVar15 + 1;\n          mVar12 = *pmVar3 + 1;\n          pmVar9[2] = mVar12;\n          pmVar9 = pmVar9 + 1;\n        }\n      }\n    }\n    mVar12 = 0;\n    if ((pmVar13 == unaff_s5) || ((int)unaff_s0 <= (int)uVar6)) {\nLAB_000253d0:\n      unaff_s2 = pmVar13 + uVar11;\n      unaff_s2[-1] = mVar12;\n      uVar11 = unaff_s0;\n    }\n    else {\n      pmVar9 = unaff_s5 + uVar6;\n      unaff_s5 = (mp_limb_t *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      pmVar15 = pmVar13 + uVar6;\n      do {\n        mVar12 = *pmVar9;\n        pmVar9 = pmVar9 + 1;\n        *pmVar15 = mVar12;\n        pmVar15 = pmVar15 + 1;\n      } while (unaff_s5 != pmVar9);\n      unaff_s2 = pmVar13 + uVar11;\n      unaff_s2[-1] = 0;\n      uVar11 = unaff_s0;\n    }\n  }\n  else if ((int)uVar8 < (int)unaff_s0) {\n    iVar10 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar13,unaff_s5,pmVar15,uVar8);\n    if (iVar10 == 0) {\n      if (pmVar13 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar8;\n      pmVar15 = pmVar13 + uVar8;\n      do {\n        mVar12 = *unaff_s5;\n        uVar8 = uVar8 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *pmVar15 = mVar12;\n        pmVar15 = pmVar15 + 1;\n      } while ((int)uVar8 < (int)unaff_s0);\n    }\n    else {\n      uVar6 = uVar8 + 1;\n      pmVar15 = unaff_s5 + uVar8;\n      mVar12 = *pmVar15;\n      pmVar13[uVar8] = mVar12 - 1;\n      if (mVar12 == 0) {\n        if ((int)uVar6 < (int)unaff_s0) {\n          uVar6 = uVar8 + 2;\n          mVar12 = unaff_s5[uVar8 + 1];\n          pmVar13[uVar8 + 1] = mVar12 - 1;\n          pmVar9 = pmVar13 + uVar8;\n          while (mVar12 == 0) {\n            if (unaff_s0 == uVar6) goto LAB_0002507c;\n            mVar12 = pmVar15[2];\n            uVar6 = uVar6 + 1;\n            pmVar15 = pmVar15 + 1;\n            pmVar9[2] = mVar12 - 1;\n            pmVar9 = pmVar9 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (pmVar13 != unaff_s5) {\n          uVar8 = uVar6;\n          if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    pmVar15 = pmVar13 + uVar11;\n    uVar11 = unaff_s0;\n    if (pmVar15[-2] == 0) {\n      iVar10 = (int)pmVar13 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar2 = (int *)(iVar10 + -8);\n        iVar10 = iVar10 + -4;\n        uVar11 = unaff_s0;\n      } while (*piVar2 == 0);\n    }\n  }\n  else {\n    iVar10 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar7 = (uint *)((int)pmVar15 + (int)(unaff_s2 + -1));\n    uVar6 = unaff_s0;\n    do {\n      uVar6 = uVar6 - 1;\n      puVar7 = puVar7 + -1;\n      pmVar9 = unaff_s5;\n      if (uVar6 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar10 + -4);\n      iVar10 = iVar10 + -4;\n    } while (*puVar1 == *puVar7);\n    if (*puVar1 <= *puVar7) {\n      pmVar9 = pmVar15;\n      pmVar15 = unaff_s5;\n      uVar8 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar13,pmVar9,pmVar15,uVar8);\nLAB_00025070:\n    if (uVar4 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar11 = 0;\n  }\nLAB_000250b0:\n  uVar8 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(pmVar13,uVar11,pmVar14,iVar16);\n  unaff_s0 = uVar11;\n  if (__tmp_marker != (tmp_reentrant_t *)0x0) {\n    (*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();\n  }\nLAB_0002514c:\n  while (local_2c != *(int *)puVar5) {\n    (*(code *)PTR___stack_chk_fail_0009d4d0)();\nLAB_00025608:\n    uVar6 = (uint)unaff_s2 >> 0x10;\n    iVar16 = 0xe;\n    if ((uVar6 & 0xff) == 0) {\n      uVar6 = (uint)unaff_s2 >> 0x18;\n      iVar16 = 0x1e;\n      if (uVar6 != 0) {\n        iVar16 = 0x16;\n      }\n    }\nLAB_000255b8:\n    uVar6 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar6 & uVar6] + iVar16;\nLAB_0002547c:\n    unaff_s2 = (mp_limb_t *)((uint)unaff_s2 >> (uVar6 & 0x1f));\nLAB_00025484:\n    pmVar14 = (mp_limb_t *)\n              (*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);\n    if (pmVar14 != (mp_limb_t *)0x0) {\n      uVar8 = (uint)(unaff_s2 == pmVar14);\n    }\n  }\n  return uVar8;\n}" primitive_type (function_declarator "__gmpz_congruent_p(mpz_srcptr a,mpz_srcptr c,mpz_srcptr d)" identifier (parameter_list "(mpz_srcptr a,mpz_srcptr c,mpz_srcptr d)" ( (parameter_declaration "mpz_srcptr a" type_identifier identifier) , (parameter_declaration "mpz_srcptr c" type_identifier identifier) , (parameter_declaration "mpz_srcptr d" type_identifier identifier) ))) (compound_statement "{\n  uint *puVar1;\n  int *piVar2;\n  mp_limb_t *pmVar3;\n  uint uVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint *puVar7;\n  uint uVar8;\n  mp_limb_t *pmVar9;\n  int iVar10;\n  uint uVar11;\n  mp_limb_t mVar12;\n  mp_limb_t *pmVar13;\n  mp_limb_t *pmVar14;\n  mp_limb_t *pmVar15;\n  uint unaff_s0;\n  mp_limb_t *unaff_s2;\n  int iVar16;\n  mp_limb_t *unaff_s5;\n  uint uVar17;\n  tmp_reentrant_t *__tmp_marker;\n  int local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_0009d540;\n  iVar16 = d->_mp_size;\n  local_2c = *(int *)PTR___stack_chk_guard_0009d540;\n  if (iVar16 == 0) {\n    iVar16 = (*(code *)PTR___gmpz_cmp_0009d244)();\n    uVar8 = (uint)(iVar16 == 0);\n    goto LAB_0002514c;\n  }\n  if (iVar16 < 0) {\n    iVar16 = -iVar16;\n  }\n  uVar6 = a->_mp_size;\n  pmVar14 = d->_mp_d;\n  uVar8 = uVar6;\n  if ((int)uVar6 < 0) {\n    uVar8 = -uVar6;\n  }\n  uVar17 = c->_mp_size;\n  uVar11 = uVar17;\n  if ((int)uVar17 < 0) {\n    uVar11 = -uVar17;\n  }\n  if ((int)uVar8 < (int)uVar11) {\n    unaff_s5 = c->_mp_d;\n    uVar4 = uVar17;\n    c = a;\n    unaff_s0 = uVar11;\n  }\n  else {\n    unaff_s5 = a->_mp_d;\n    uVar4 = uVar6;\n    uVar6 = uVar17;\n    unaff_s0 = uVar8;\n    uVar8 = uVar11;\n  }\n  if (uVar6 == 0) {\n    uVar8 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,pmVar14,iVar16);\n    goto LAB_0002514c;\n  }\n  unaff_s2 = (mp_limb_t *)*pmVar14;\n  uVar6 = uVar4 ^ uVar6;\n  pmVar15 = c->_mp_d;\n  pmVar13 = (mp_limb_t *)*pmVar15;\n  uVar11 = (-(int)unaff_s2 & (uint)unaff_s2) - 1;\n  if ((int)uVar6 < 0) {\n    uVar17 = -(int)pmVar13 - *unaff_s5;\n  }\n  else {\n    uVar17 = *unaff_s5 - (int)pmVar13;\n  }\n  if ((uVar17 & uVar11) != 0) {\n    uVar8 = 0;\n    goto LAB_0002514c;\n  }\n  if (uVar8 == 1) {\n    if (iVar16 != 1) {\n      if (((iVar16 != 2) || (unaff_s2 == (mp_limb_t *)0x0)) || (uVar11 < pmVar14[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar8 = (uint)unaff_s2 >> 8;\n        iVar16 = 6;\n        if ((uVar8 & 0xff) == 0) {\n          uVar8 = (uint)unaff_s2 >> 0x10;\n          iVar16 = 0xe;\n          if ((uVar8 & 0xff) == 0) {\n            uVar8 = (uint)unaff_s2 >> 0x18;\n            iVar16 = 0x1e;\n            if (uVar8 != 0) {\n              iVar16 = 0x16;\n            }\n          }\n        }\n        uVar8 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar8 & uVar8] + iVar16;\n      }\n      else {\n        uVar8 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (mp_limb_t *)(pmVar14[1] << (-uVar8 & 0x1f) | (uint)unaff_s2 >> (uVar8 & 0x1f));\n    }\n    if ((int)uVar6 < 0) {\n      if (unaff_s2 < pmVar13) {\n        if (unaff_s2 < (mp_limb_t *)0x10000) {\n          iVar16 = 0;\n          if ((mp_limb_t *)0xff < unaff_s2) {\n            iVar16 = 0x18;\n          }\n          iVar10 = 9;\n          if ((mp_limb_t *)0xff >= unaff_s2) {\n            iVar10 = 1;\n          }\n        }\n        else {\n          iVar16 = 0x10;\n          if ((mp_limb_t *)0xffffff < unaff_s2) {\n            iVar16 = 8;\n          }\n          iVar10 = 0x19;\n          if ((mp_limb_t *)0xffffff >= unaff_s2) {\n            iVar10 = 0x11;\n          }\n        }\n        pmVar14 = (mp_limb_t *)\n                  ((int)unaff_s2 <<\n                  (iVar16 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar10] & 0x1f\n                  ));\n        if (pmVar14 < pmVar13) {\n          pmVar14 = (mp_limb_t *)((int)pmVar14 << 1);\n        }\n        pmVar13 = (mp_limb_t *)((int)pmVar14 - (int)pmVar13);\n      }\n      else {\n        pmVar13 = (mp_limb_t *)((int)unaff_s2 - (int)pmVar13);\n      }\n    }\n    if ((int)unaff_s0 < 10) {\n      uVar8 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar6 = (uint)unaff_s2 >> 8;\n        iVar16 = 6;\n        if ((uVar6 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar6 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }\n    pmVar14 = (mp_limb_t *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);\n    if (pmVar13 < unaff_s2) {\n      uVar8 = (uint)(pmVar13 == pmVar14);\n    }\n    else {\n      if (unaff_s2 == (mp_limb_t *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (mp_limb_t *)((uint)pmVar13 % (uint)unaff_s2 ^ (uint)pmVar14);\n      uVar8 = (uint)(unaff_s2 == (mp_limb_t *)0x0);\n    }\n    goto LAB_0002514c;\n  }\nLAB_00024fe0:\n  uVar11 = unaff_s0 + 1;\n  unaff_s2 = (mp_limb_t *)(uVar11 * 4);\n  __tmp_marker = (tmp_reentrant_t *)0x0;\n  if (unaff_s2 < (mp_limb_t *)0x7f01) {\n    pmVar13 = (mp_limb_t *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));\n  }\n  else {\n    pmVar13 = (mp_limb_t *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&__tmp_marker,unaff_s2)\n    ;\n  }\n  if ((int)uVar6 < 0) {\n    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar13,unaff_s5,pmVar15,uVar8);\n    uVar6 = uVar8;\n    if (iVar10 != 0) {\n      if ((int)unaff_s0 <= (int)uVar8) {\nLAB_00025594:\n        unaff_s2 = pmVar13 + uVar11;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar6 = uVar8 + 1;\n      pmVar15 = unaff_s5 + uVar8;\n      mVar12 = *pmVar15;\n      pmVar13[uVar8] = mVar12 + 1;\n      if (mVar12 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025594;\n        uVar6 = uVar8 + 2;\n        mVar12 = unaff_s5[uVar8 + 1] + 1;\n        pmVar13[uVar8 + 1] = mVar12;\n        pmVar9 = pmVar13 + uVar8;\n        while (mVar12 == 0) {\n          if (unaff_s0 == uVar6) {\n            mVar12 = 1;\n            unaff_s0 = uVar11;\n            goto LAB_000253d0;\n          }\n          pmVar3 = pmVar15 + 2;\n          uVar6 = uVar6 + 1;\n          pmVar15 = pmVar15 + 1;\n          mVar12 = *pmVar3 + 1;\n          pmVar9[2] = mVar12;\n          pmVar9 = pmVar9 + 1;\n        }\n      }\n    }\n    mVar12 = 0;\n    if ((pmVar13 == unaff_s5) || ((int)unaff_s0 <= (int)uVar6)) {\nLAB_000253d0:\n      unaff_s2 = pmVar13 + uVar11;\n      unaff_s2[-1] = mVar12;\n      uVar11 = unaff_s0;\n    }\n    else {\n      pmVar9 = unaff_s5 + uVar6;\n      unaff_s5 = (mp_limb_t *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      pmVar15 = pmVar13 + uVar6;\n      do {\n        mVar12 = *pmVar9;\n        pmVar9 = pmVar9 + 1;\n        *pmVar15 = mVar12;\n        pmVar15 = pmVar15 + 1;\n      } while (unaff_s5 != pmVar9);\n      unaff_s2 = pmVar13 + uVar11;\n      unaff_s2[-1] = 0;\n      uVar11 = unaff_s0;\n    }\n  }\n  else if ((int)uVar8 < (int)unaff_s0) {\n    iVar10 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar13,unaff_s5,pmVar15,uVar8);\n    if (iVar10 == 0) {\n      if (pmVar13 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar8;\n      pmVar15 = pmVar13 + uVar8;\n      do {\n        mVar12 = *unaff_s5;\n        uVar8 = uVar8 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *pmVar15 = mVar12;\n        pmVar15 = pmVar15 + 1;\n      } while ((int)uVar8 < (int)unaff_s0);\n    }\n    else {\n      uVar6 = uVar8 + 1;\n      pmVar15 = unaff_s5 + uVar8;\n      mVar12 = *pmVar15;\n      pmVar13[uVar8] = mVar12 - 1;\n      if (mVar12 == 0) {\n        if ((int)uVar6 < (int)unaff_s0) {\n          uVar6 = uVar8 + 2;\n          mVar12 = unaff_s5[uVar8 + 1];\n          pmVar13[uVar8 + 1] = mVar12 - 1;\n          pmVar9 = pmVar13 + uVar8;\n          while (mVar12 == 0) {\n            if (unaff_s0 == uVar6) goto LAB_0002507c;\n            mVar12 = pmVar15[2];\n            uVar6 = uVar6 + 1;\n            pmVar15 = pmVar15 + 1;\n            pmVar9[2] = mVar12 - 1;\n            pmVar9 = pmVar9 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (pmVar13 != unaff_s5) {\n          uVar8 = uVar6;\n          if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    pmVar15 = pmVar13 + uVar11;\n    uVar11 = unaff_s0;\n    if (pmVar15[-2] == 0) {\n      iVar10 = (int)pmVar13 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar2 = (int *)(iVar10 + -8);\n        iVar10 = iVar10 + -4;\n        uVar11 = unaff_s0;\n      } while (*piVar2 == 0);\n    }\n  }\n  else {\n    iVar10 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar7 = (uint *)((int)pmVar15 + (int)(unaff_s2 + -1));\n    uVar6 = unaff_s0;\n    do {\n      uVar6 = uVar6 - 1;\n      puVar7 = puVar7 + -1;\n      pmVar9 = unaff_s5;\n      if (uVar6 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar10 + -4);\n      iVar10 = iVar10 + -4;\n    } while (*puVar1 == *puVar7);\n    if (*puVar1 <= *puVar7) {\n      pmVar9 = pmVar15;\n      pmVar15 = unaff_s5;\n      uVar8 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar13,pmVar9,pmVar15,uVar8);\nLAB_00025070:\n    if (uVar4 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar11 = 0;\n  }\nLAB_000250b0:\n  uVar8 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(pmVar13,uVar11,pmVar14,iVar16);\n  unaff_s0 = uVar11;\n  if (__tmp_marker != (tmp_reentrant_t *)0x0) {\n    (*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();\n  }\nLAB_0002514c:\n  while (local_2c != *(int *)puVar5) {\n    (*(code *)PTR___stack_chk_fail_0009d4d0)();\nLAB_00025608:\n    uVar6 = (uint)unaff_s2 >> 0x10;\n    iVar16 = 0xe;\n    if ((uVar6 & 0xff) == 0) {\n      uVar6 = (uint)unaff_s2 >> 0x18;\n      iVar16 = 0x1e;\n      if (uVar6 != 0) {\n        iVar16 = 0x16;\n      }\n    }\nLAB_000255b8:\n    uVar6 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar6 & uVar6] + iVar16;\nLAB_0002547c:\n    unaff_s2 = (mp_limb_t *)((uint)unaff_s2 >> (uVar6 & 0x1f));\nLAB_00025484:\n    pmVar14 = (mp_limb_t *)\n              (*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);\n    if (pmVar14 != (mp_limb_t *)0x0) {\n      uVar8 = (uint)(unaff_s2 == pmVar14);\n    }\n  }\n  return uVar8;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "mp_limb_t *pmVar3;" type_identifier (pointer_declarator "*pmVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "mp_limb_t *pmVar9;" type_identifier (pointer_declarator "*pmVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "mp_limb_t mVar12;" type_identifier identifier ;) (declaration "mp_limb_t *pmVar13;" type_identifier (pointer_declarator "*pmVar13" * identifier) ;) (declaration "mp_limb_t *pmVar14;" type_identifier (pointer_declarator "*pmVar14" * identifier) ;) (declaration "mp_limb_t *pmVar15;" type_identifier (pointer_declarator "*pmVar15" * identifier) ;) (declaration "uint unaff_s0;" type_identifier identifier ;) (declaration "mp_limb_t *unaff_s2;" type_identifier (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "mp_limb_t *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "tmp_reentrant_t *__tmp_marker;" type_identifier (pointer_declarator "*__tmp_marker" * identifier) ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar5 = PTR___stack_chk_guard_0009d540;" (assignment_expression "puVar5 = PTR___stack_chk_guard_0009d540" identifier = identifier) ;) (expression_statement "iVar16 = d->_mp_size;" (assignment_expression "iVar16 = d->_mp_size" identifier = (field_expression "d->_mp_size" identifier -> field_identifier)) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0009d540;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0009d540" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0009d540" * (cast_expression "(int *)PTR___stack_chk_guard_0009d540" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar16 == 0) {\n    iVar16 = (*(code *)PTR___gmpz_cmp_0009d244)();\n    uVar8 = (uint)(iVar16 == 0);\n    goto LAB_0002514c;\n  }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar16 = (*(code *)PTR___gmpz_cmp_0009d244)();\n    uVar8 = (uint)(iVar16 == 0);\n    goto LAB_0002514c;\n  }" { (expression_statement "iVar16 = (*(code *)PTR___gmpz_cmp_0009d244)();" (assignment_expression "iVar16 = (*(code *)PTR___gmpz_cmp_0009d244)()" identifier = (call_expression "(*(code *)PTR___gmpz_cmp_0009d244)()" (parenthesized_expression "(*(code *)PTR___gmpz_cmp_0009d244)" ( (pointer_expression "*(code *)PTR___gmpz_cmp_0009d244" * (cast_expression "(code *)PTR___gmpz_cmp_0009d244" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "uVar8 = (uint)(iVar16 == 0);" (assignment_expression "uVar8 = (uint)(iVar16 == 0)" identifier = (call_expression "(uint)(iVar16 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )))) ;) (goto_statement "goto LAB_0002514c;" goto statement_identifier ;) })) (if_statement "if (iVar16 < 0) {\n    iVar16 = -iVar16;\n  }" if (parenthesized_expression "(iVar16 < 0)" ( (binary_expression "iVar16 < 0" identifier < number_literal) )) (compound_statement "{\n    iVar16 = -iVar16;\n  }" { (expression_statement "iVar16 = -iVar16;" (assignment_expression "iVar16 = -iVar16" identifier = (unary_expression "-iVar16" - identifier)) ;) })) (expression_statement "uVar6 = a->_mp_size;" (assignment_expression "uVar6 = a->_mp_size" identifier = (field_expression "a->_mp_size" identifier -> field_identifier)) ;) (expression_statement "pmVar14 = d->_mp_d;" (assignment_expression "pmVar14 = d->_mp_d" identifier = (field_expression "d->_mp_d" identifier -> field_identifier)) ;) (expression_statement "uVar8 = uVar6;" (assignment_expression "uVar8 = uVar6" identifier = identifier) ;) (if_statement "if ((int)uVar6 < 0) {\n    uVar8 = -uVar6;\n  }" if (parenthesized_expression "((int)uVar6 < 0)" ( (binary_expression "(int)uVar6 < 0" (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    uVar8 = -uVar6;\n  }" { (expression_statement "uVar8 = -uVar6;" (assignment_expression "uVar8 = -uVar6" identifier = (unary_expression "-uVar6" - identifier)) ;) })) (expression_statement "uVar17 = c->_mp_size;" (assignment_expression "uVar17 = c->_mp_size" identifier = (field_expression "c->_mp_size" identifier -> field_identifier)) ;) (expression_statement "uVar11 = uVar17;" (assignment_expression "uVar11 = uVar17" identifier = identifier) ;) (if_statement "if ((int)uVar17 < 0) {\n    uVar11 = -uVar17;\n  }" if (parenthesized_expression "((int)uVar17 < 0)" ( (binary_expression "(int)uVar17 < 0" (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    uVar11 = -uVar17;\n  }" { (expression_statement "uVar11 = -uVar17;" (assignment_expression "uVar11 = -uVar17" identifier = (unary_expression "-uVar17" - identifier)) ;) })) (if_statement "if ((int)uVar8 < (int)uVar11) {\n    unaff_s5 = c->_mp_d;\n    uVar4 = uVar17;\n    c = a;\n    unaff_s0 = uVar11;\n  }\n  else {\n    unaff_s5 = a->_mp_d;\n    uVar4 = uVar6;\n    uVar6 = uVar17;\n    unaff_s0 = uVar8;\n    uVar8 = uVar11;\n  }" if (parenthesized_expression "((int)uVar8 < (int)uVar11)" ( (binary_expression "(int)uVar8 < (int)uVar11" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    unaff_s5 = c->_mp_d;\n    uVar4 = uVar17;\n    c = a;\n    unaff_s0 = uVar11;\n  }" { (expression_statement "unaff_s5 = c->_mp_d;" (assignment_expression "unaff_s5 = c->_mp_d" identifier = (field_expression "c->_mp_d" identifier -> field_identifier)) ;) (expression_statement "uVar4 = uVar17;" (assignment_expression "uVar4 = uVar17" identifier = identifier) ;) (expression_statement "c = a;" (assignment_expression "c = a" identifier = identifier) ;) (expression_statement "unaff_s0 = uVar11;" (assignment_expression "unaff_s0 = uVar11" identifier = identifier) ;) }) (else_clause "else {\n    unaff_s5 = a->_mp_d;\n    uVar4 = uVar6;\n    uVar6 = uVar17;\n    unaff_s0 = uVar8;\n    uVar8 = uVar11;\n  }" else (compound_statement "{\n    unaff_s5 = a->_mp_d;\n    uVar4 = uVar6;\n    uVar6 = uVar17;\n    unaff_s0 = uVar8;\n    uVar8 = uVar11;\n  }" { (expression_statement "unaff_s5 = a->_mp_d;" (assignment_expression "unaff_s5 = a->_mp_d" identifier = (field_expression "a->_mp_d" identifier -> field_identifier)) ;) (expression_statement "uVar4 = uVar6;" (assignment_expression "uVar4 = uVar6" identifier = identifier) ;) (expression_statement "uVar6 = uVar17;" (assignment_expression "uVar6 = uVar17" identifier = identifier) ;) (expression_statement "unaff_s0 = uVar8;" (assignment_expression "unaff_s0 = uVar8" identifier = identifier) ;) (expression_statement "uVar8 = uVar11;" (assignment_expression "uVar8 = uVar11" identifier = identifier) ;) }))) (if_statement "if (uVar6 == 0) {\n    uVar8 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,pmVar14,iVar16);\n    goto LAB_0002514c;\n  }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar8 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,pmVar14,iVar16);\n    goto LAB_0002514c;\n  }" { (expression_statement "uVar8 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,pmVar14,iVar16);" (assignment_expression "uVar8 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,pmVar14,iVar16)" identifier = (call_expression "(*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,pmVar14,iVar16)" (parenthesized_expression "(*(code *)PTR___gmpn_divisible_p_0009d0f8)" ( (pointer_expression "*(code *)PTR___gmpn_divisible_p_0009d0f8" * (cast_expression "(code *)PTR___gmpn_divisible_p_0009d0f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s5,unaff_s0,pmVar14,iVar16)" ( identifier , identifier , identifier , identifier )))) ;) (goto_statement "goto LAB_0002514c;" goto statement_identifier ;) })) (expression_statement "unaff_s2 = (mp_limb_t *)*pmVar14;" (assignment_expression "unaff_s2 = (mp_limb_t *)*pmVar14" identifier = (cast_expression "(mp_limb_t *)*pmVar14" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*pmVar14" * identifier))) ;) (expression_statement "uVar6 = uVar4 ^ uVar6;" (assignment_expression "uVar6 = uVar4 ^ uVar6" identifier = (binary_expression "uVar4 ^ uVar6" identifier ^ identifier)) ;) (expression_statement "pmVar15 = c->_mp_d;" (assignment_expression "pmVar15 = c->_mp_d" identifier = (field_expression "c->_mp_d" identifier -> field_identifier)) ;) (expression_statement "pmVar13 = (mp_limb_t *)*pmVar15;" (assignment_expression "pmVar13 = (mp_limb_t *)*pmVar15" identifier = (cast_expression "(mp_limb_t *)*pmVar15" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*pmVar15" * identifier))) ;) (expression_statement "uVar11 = (-(int)unaff_s2 & (uint)unaff_s2) - 1;" (assignment_expression "uVar11 = (-(int)unaff_s2 & (uint)unaff_s2) - 1" identifier = (binary_expression "(-(int)unaff_s2 & (uint)unaff_s2) - 1" (parenthesized_expression "(-(int)unaff_s2 & (uint)unaff_s2)" ( (binary_expression "-(int)unaff_s2 & (uint)unaff_s2" (unary_expression "-(int)unaff_s2" - (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier)) & (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier)) )) - number_literal)) ;) (if_statement "if ((int)uVar6 < 0) {\n    uVar17 = -(int)pmVar13 - *unaff_s5;\n  }\n  else {\n    uVar17 = *unaff_s5 - (int)pmVar13;\n  }" if (parenthesized_expression "((int)uVar6 < 0)" ( (binary_expression "(int)uVar6 < 0" (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    uVar17 = -(int)pmVar13 - *unaff_s5;\n  }" { (expression_statement "uVar17 = -(int)pmVar13 - *unaff_s5;" (assignment_expression "uVar17 = -(int)pmVar13 - *unaff_s5" identifier = (binary_expression "-(int)pmVar13 - *unaff_s5" (unary_expression "-(int)pmVar13" - (cast_expression "(int)pmVar13" ( (type_descriptor "int" primitive_type) ) identifier)) - (pointer_expression "*unaff_s5" * identifier))) ;) }) (else_clause "else {\n    uVar17 = *unaff_s5 - (int)pmVar13;\n  }" else (compound_statement "{\n    uVar17 = *unaff_s5 - (int)pmVar13;\n  }" { (expression_statement "uVar17 = *unaff_s5 - (int)pmVar13;" (assignment_expression "uVar17 = *unaff_s5 - (int)pmVar13" identifier = (binary_expression "*unaff_s5 - (int)pmVar13" (pointer_expression "*unaff_s5" * identifier) - (cast_expression "(int)pmVar13" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }))) (if_statement "if ((uVar17 & uVar11) != 0) {\n    uVar8 = 0;\n    goto LAB_0002514c;\n  }" if (parenthesized_expression "((uVar17 & uVar11) != 0)" ( (binary_expression "(uVar17 & uVar11) != 0" (parenthesized_expression "(uVar17 & uVar11)" ( (binary_expression "uVar17 & uVar11" identifier & identifier) )) != number_literal) )) (compound_statement "{\n    uVar8 = 0;\n    goto LAB_0002514c;\n  }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0002514c;" goto statement_identifier ;) })) (if_statement "if (uVar8 == 1) {\n    if (iVar16 != 1) {\n      if (((iVar16 != 2) || (unaff_s2 == (mp_limb_t *)0x0)) || (uVar11 < pmVar14[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar8 = (uint)unaff_s2 >> 8;\n        iVar16 = 6;\n        if ((uVar8 & 0xff) == 0) {\n          uVar8 = (uint)unaff_s2 >> 0x10;\n          iVar16 = 0xe;\n          if ((uVar8 & 0xff) == 0) {\n            uVar8 = (uint)unaff_s2 >> 0x18;\n            iVar16 = 0x1e;\n            if (uVar8 != 0) {\n              iVar16 = 0x16;\n            }\n          }\n        }\n        uVar8 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar8 & uVar8] + iVar16;\n      }\n      else {\n        uVar8 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (mp_limb_t *)(pmVar14[1] << (-uVar8 & 0x1f) | (uint)unaff_s2 >> (uVar8 & 0x1f));\n    }\n    if ((int)uVar6 < 0) {\n      if (unaff_s2 < pmVar13) {\n        if (unaff_s2 < (mp_limb_t *)0x10000) {\n          iVar16 = 0;\n          if ((mp_limb_t *)0xff < unaff_s2) {\n            iVar16 = 0x18;\n          }\n          iVar10 = 9;\n          if ((mp_limb_t *)0xff >= unaff_s2) {\n            iVar10 = 1;\n          }\n        }\n        else {\n          iVar16 = 0x10;\n          if ((mp_limb_t *)0xffffff < unaff_s2) {\n            iVar16 = 8;\n          }\n          iVar10 = 0x19;\n          if ((mp_limb_t *)0xffffff >= unaff_s2) {\n            iVar10 = 0x11;\n          }\n        }\n        pmVar14 = (mp_limb_t *)\n                  ((int)unaff_s2 <<\n                  (iVar16 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar10] & 0x1f\n                  ));\n        if (pmVar14 < pmVar13) {\n          pmVar14 = (mp_limb_t *)((int)pmVar14 << 1);\n        }\n        pmVar13 = (mp_limb_t *)((int)pmVar14 - (int)pmVar13);\n      }\n      else {\n        pmVar13 = (mp_limb_t *)((int)unaff_s2 - (int)pmVar13);\n      }\n    }\n    if ((int)unaff_s0 < 10) {\n      uVar8 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar6 = (uint)unaff_s2 >> 8;\n        iVar16 = 6;\n        if ((uVar6 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar6 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }\n    pmVar14 = (mp_limb_t *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);\n    if (pmVar13 < unaff_s2) {\n      uVar8 = (uint)(pmVar13 == pmVar14);\n    }\n    else {\n      if (unaff_s2 == (mp_limb_t *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (mp_limb_t *)((uint)pmVar13 % (uint)unaff_s2 ^ (uint)pmVar14);\n      uVar8 = (uint)(unaff_s2 == (mp_limb_t *)0x0);\n    }\n    goto LAB_0002514c;\n  }" if (parenthesized_expression "(uVar8 == 1)" ( (binary_expression "uVar8 == 1" identifier == number_literal) )) (compound_statement "{\n    if (iVar16 != 1) {\n      if (((iVar16 != 2) || (unaff_s2 == (mp_limb_t *)0x0)) || (uVar11 < pmVar14[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar8 = (uint)unaff_s2 >> 8;\n        iVar16 = 6;\n        if ((uVar8 & 0xff) == 0) {\n          uVar8 = (uint)unaff_s2 >> 0x10;\n          iVar16 = 0xe;\n          if ((uVar8 & 0xff) == 0) {\n            uVar8 = (uint)unaff_s2 >> 0x18;\n            iVar16 = 0x1e;\n            if (uVar8 != 0) {\n              iVar16 = 0x16;\n            }\n          }\n        }\n        uVar8 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar8 & uVar8] + iVar16;\n      }\n      else {\n        uVar8 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (mp_limb_t *)(pmVar14[1] << (-uVar8 & 0x1f) | (uint)unaff_s2 >> (uVar8 & 0x1f));\n    }\n    if ((int)uVar6 < 0) {\n      if (unaff_s2 < pmVar13) {\n        if (unaff_s2 < (mp_limb_t *)0x10000) {\n          iVar16 = 0;\n          if ((mp_limb_t *)0xff < unaff_s2) {\n            iVar16 = 0x18;\n          }\n          iVar10 = 9;\n          if ((mp_limb_t *)0xff >= unaff_s2) {\n            iVar10 = 1;\n          }\n        }\n        else {\n          iVar16 = 0x10;\n          if ((mp_limb_t *)0xffffff < unaff_s2) {\n            iVar16 = 8;\n          }\n          iVar10 = 0x19;\n          if ((mp_limb_t *)0xffffff >= unaff_s2) {\n            iVar10 = 0x11;\n          }\n        }\n        pmVar14 = (mp_limb_t *)\n                  ((int)unaff_s2 <<\n                  (iVar16 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar10] & 0x1f\n                  ));\n        if (pmVar14 < pmVar13) {\n          pmVar14 = (mp_limb_t *)((int)pmVar14 << 1);\n        }\n        pmVar13 = (mp_limb_t *)((int)pmVar14 - (int)pmVar13);\n      }\n      else {\n        pmVar13 = (mp_limb_t *)((int)unaff_s2 - (int)pmVar13);\n      }\n    }\n    if ((int)unaff_s0 < 10) {\n      uVar8 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar6 = (uint)unaff_s2 >> 8;\n        iVar16 = 6;\n        if ((uVar6 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar6 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }\n    pmVar14 = (mp_limb_t *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);\n    if (pmVar13 < unaff_s2) {\n      uVar8 = (uint)(pmVar13 == pmVar14);\n    }\n    else {\n      if (unaff_s2 == (mp_limb_t *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (mp_limb_t *)((uint)pmVar13 % (uint)unaff_s2 ^ (uint)pmVar14);\n      uVar8 = (uint)(unaff_s2 == (mp_limb_t *)0x0);\n    }\n    goto LAB_0002514c;\n  }" { (if_statement "if (iVar16 != 1) {\n      if (((iVar16 != 2) || (unaff_s2 == (mp_limb_t *)0x0)) || (uVar11 < pmVar14[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar8 = (uint)unaff_s2 >> 8;\n        iVar16 = 6;\n        if ((uVar8 & 0xff) == 0) {\n          uVar8 = (uint)unaff_s2 >> 0x10;\n          iVar16 = 0xe;\n          if ((uVar8 & 0xff) == 0) {\n            uVar8 = (uint)unaff_s2 >> 0x18;\n            iVar16 = 0x1e;\n            if (uVar8 != 0) {\n              iVar16 = 0x16;\n            }\n          }\n        }\n        uVar8 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar8 & uVar8] + iVar16;\n      }\n      else {\n        uVar8 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (mp_limb_t *)(pmVar14[1] << (-uVar8 & 0x1f) | (uint)unaff_s2 >> (uVar8 & 0x1f));\n    }" if (parenthesized_expression "(iVar16 != 1)" ( (binary_expression "iVar16 != 1" identifier != number_literal) )) (compound_statement "{\n      if (((iVar16 != 2) || (unaff_s2 == (mp_limb_t *)0x0)) || (uVar11 < pmVar14[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar8 = (uint)unaff_s2 >> 8;\n        iVar16 = 6;\n        if ((uVar8 & 0xff) == 0) {\n          uVar8 = (uint)unaff_s2 >> 0x10;\n          iVar16 = 0xe;\n          if ((uVar8 & 0xff) == 0) {\n            uVar8 = (uint)unaff_s2 >> 0x18;\n            iVar16 = 0x1e;\n            if (uVar8 != 0) {\n              iVar16 = 0x16;\n            }\n          }\n        }\n        uVar8 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar8 & uVar8] + iVar16;\n      }\n      else {\n        uVar8 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (mp_limb_t *)(pmVar14[1] << (-uVar8 & 0x1f) | (uint)unaff_s2 >> (uVar8 & 0x1f));\n    }" { (if_statement "if (((iVar16 != 2) || (unaff_s2 == (mp_limb_t *)0x0)) || (uVar11 < pmVar14[1]))\n      goto LAB_00024fe0;" if (parenthesized_expression "(((iVar16 != 2) || (unaff_s2 == (mp_limb_t *)0x0)) || (uVar11 < pmVar14[1]))" ( (binary_expression "((iVar16 != 2) || (unaff_s2 == (mp_limb_t *)0x0)) || (uVar11 < pmVar14[1])" (parenthesized_expression "((iVar16 != 2) || (unaff_s2 == (mp_limb_t *)0x0))" ( (binary_expression "(iVar16 != 2) || (unaff_s2 == (mp_limb_t *)0x0)" (parenthesized_expression "(iVar16 != 2)" ( (binary_expression "iVar16 != 2" identifier != number_literal) )) || (parenthesized_expression "(unaff_s2 == (mp_limb_t *)0x0)" ( (binary_expression "unaff_s2 == (mp_limb_t *)0x0" identifier == (cast_expression "(mp_limb_t *)0x0" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) || (parenthesized_expression "(uVar11 < pmVar14[1])" ( (binary_expression "uVar11 < pmVar14[1]" identifier < (subscript_expression "pmVar14[1]" identifier [ number_literal ])) ))) )) (goto_statement "goto LAB_00024fe0;" goto statement_identifier ;)) (if_statement "if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar8 = (uint)unaff_s2 >> 8;\n        iVar16 = 6;\n        if ((uVar8 & 0xff) == 0) {\n          uVar8 = (uint)unaff_s2 >> 0x10;\n          iVar16 = 0xe;\n          if ((uVar8 & 0xff) == 0) {\n            uVar8 = (uint)unaff_s2 >> 0x18;\n            iVar16 = 0x1e;\n            if (uVar8 != 0) {\n              iVar16 = 0x16;\n            }\n          }\n        }\n        uVar8 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar8 & uVar8] + iVar16;\n      }\n      else {\n        uVar8 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }" if (parenthesized_expression "(((uint)unaff_s2 & 0xff) == 0)" ( (binary_expression "((uint)unaff_s2 & 0xff) == 0" (parenthesized_expression "((uint)unaff_s2 & 0xff)" ( (binary_expression "(uint)unaff_s2 & 0xff" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar8 = (uint)unaff_s2 >> 8;\n        iVar16 = 6;\n        if ((uVar8 & 0xff) == 0) {\n          uVar8 = (uint)unaff_s2 >> 0x10;\n          iVar16 = 0xe;\n          if ((uVar8 & 0xff) == 0) {\n            uVar8 = (uint)unaff_s2 >> 0x18;\n            iVar16 = 0x1e;\n            if (uVar8 != 0) {\n              iVar16 = 0x16;\n            }\n          }\n        }\n        uVar8 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar8 & uVar8] + iVar16;\n      }" { (expression_statement "uVar8 = (uint)unaff_s2 >> 8;" (assignment_expression "uVar8 = (uint)unaff_s2 >> 8" identifier = (binary_expression "(uint)unaff_s2 >> 8" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;) (expression_statement "iVar16 = 6;" (assignment_expression "iVar16 = 6" identifier = number_literal) ;) (if_statement "if ((uVar8 & 0xff) == 0) {\n          uVar8 = (uint)unaff_s2 >> 0x10;\n          iVar16 = 0xe;\n          if ((uVar8 & 0xff) == 0) {\n            uVar8 = (uint)unaff_s2 >> 0x18;\n            iVar16 = 0x1e;\n            if (uVar8 != 0) {\n              iVar16 = 0x16;\n            }\n          }\n        }" if (parenthesized_expression "((uVar8 & 0xff) == 0)" ( (binary_expression "(uVar8 & 0xff) == 0" (parenthesized_expression "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          uVar8 = (uint)unaff_s2 >> 0x10;\n          iVar16 = 0xe;\n          if ((uVar8 & 0xff) == 0) {\n            uVar8 = (uint)unaff_s2 >> 0x18;\n            iVar16 = 0x1e;\n            if (uVar8 != 0) {\n              iVar16 = 0x16;\n            }\n          }\n        }" { (expression_statement "uVar8 = (uint)unaff_s2 >> 0x10;" (assignment_expression "uVar8 = (uint)unaff_s2 >> 0x10" identifier = (binary_expression "(uint)unaff_s2 >> 0x10" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;) (expression_statement "iVar16 = 0xe;" (assignment_expression "iVar16 = 0xe" identifier = number_literal) ;) (if_statement "if ((uVar8 & 0xff) == 0) {\n            uVar8 = (uint)unaff_s2 >> 0x18;\n            iVar16 = 0x1e;\n            if (uVar8 != 0) {\n              iVar16 = 0x16;\n            }\n          }" if (parenthesized_expression "((uVar8 & 0xff) == 0)" ( (binary_expression "(uVar8 & 0xff) == 0" (parenthesized_expression "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar8 = (uint)unaff_s2 >> 0x18;\n            iVar16 = 0x1e;\n            if (uVar8 != 0) {\n              iVar16 = 0x16;\n            }\n          }" { (expression_statement "uVar8 = (uint)unaff_s2 >> 0x18;" (assignment_expression "uVar8 = (uint)unaff_s2 >> 0x18" identifier = (binary_expression "(uint)unaff_s2 >> 0x18" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;) (expression_statement "iVar16 = 0x1e;" (assignment_expression "iVar16 = 0x1e" identifier = number_literal) ;) (if_statement "if (uVar8 != 0) {\n              iVar16 = 0x16;\n            }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar16 = 0x16;\n            }" { (expression_statement "iVar16 = 0x16;" (assignment_expression "iVar16 = 0x16" identifier = number_literal) ;) })) })) })) (expression_statement "uVar8 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar8 & uVar8] + iVar16;" (assignment_expression "uVar8 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar8 & uVar8] + iVar16" identifier = (binary_expression "(uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar8 & uVar8] + iVar16" (cast_expression "(uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar8 & uVar8]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)PTR___gmpn_clz_tab_0009d18c[-uVar8 & uVar8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "PTR___gmpn_clz_tab_0009d18c[-uVar8 & uVar8]" identifier [ (binary_expression "-uVar8 & uVar8" (unary_expression "-uVar8" - identifier) & identifier) ]))) + identifier)) ;) }) (else_clause "else {\n        uVar8 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }" else (compound_statement "{\n        uVar8 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }" { (expression_statement "uVar8 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;" (assignment_expression "uVar8 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2" identifier = (binary_expression "(byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2" (cast_expression "(byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2]" identifier [ (binary_expression "-(int)unaff_s2 & (uint)unaff_s2" (unary_expression "-(int)unaff_s2" - (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier)) & (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier)) ])) - number_literal)) ;) }))) (expression_statement "unaff_s2 = (mp_limb_t *)(pmVar14[1] << (-uVar8 & 0x1f) | (uint)unaff_s2 >> (uVar8 & 0x1f));" (assignment_expression "unaff_s2 = (mp_limb_t *)(pmVar14[1] << (-uVar8 & 0x1f) | (uint)unaff_s2 >> (uVar8 & 0x1f))" identifier = (cast_expression "(mp_limb_t *)(pmVar14[1] << (-uVar8 & 0x1f) | (uint)unaff_s2 >> (uVar8 & 0x1f))" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pmVar14[1] << (-uVar8 & 0x1f) | (uint)unaff_s2 >> (uVar8 & 0x1f))" ( (binary_expression "pmVar14[1] << (-uVar8 & 0x1f) | (uint)unaff_s2 >> (uVar8 & 0x1f)" (binary_expression "pmVar14[1] << (-uVar8 & 0x1f)" (subscript_expression "pmVar14[1]" identifier [ number_literal ]) << (parenthesized_expression "(-uVar8 & 0x1f)" ( (binary_expression "-uVar8 & 0x1f" (unary_expression "-uVar8" - identifier) & number_literal) ))) | (binary_expression "(uint)unaff_s2 >> (uVar8 & 0x1f)" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "(uVar8 & 0x1f)" ( (binary_expression "uVar8 & 0x1f" identifier & number_literal) )))) )))) ;) })) (if_statement "if ((int)uVar6 < 0) {\n      if (unaff_s2 < pmVar13) {\n        if (unaff_s2 < (mp_limb_t *)0x10000) {\n          iVar16 = 0;\n          if ((mp_limb_t *)0xff < unaff_s2) {\n            iVar16 = 0x18;\n          }\n          iVar10 = 9;\n          if ((mp_limb_t *)0xff >= unaff_s2) {\n            iVar10 = 1;\n          }\n        }\n        else {\n          iVar16 = 0x10;\n          if ((mp_limb_t *)0xffffff < unaff_s2) {\n            iVar16 = 8;\n          }\n          iVar10 = 0x19;\n          if ((mp_limb_t *)0xffffff >= unaff_s2) {\n            iVar10 = 0x11;\n          }\n        }\n        pmVar14 = (mp_limb_t *)\n                  ((int)unaff_s2 <<\n                  (iVar16 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar10] & 0x1f\n                  ));\n        if (pmVar14 < pmVar13) {\n          pmVar14 = (mp_limb_t *)((int)pmVar14 << 1);\n        }\n        pmVar13 = (mp_limb_t *)((int)pmVar14 - (int)pmVar13);\n      }\n      else {\n        pmVar13 = (mp_limb_t *)((int)unaff_s2 - (int)pmVar13);\n      }\n    }" if (parenthesized_expression "((int)uVar6 < 0)" ( (binary_expression "(int)uVar6 < 0" (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      if (unaff_s2 < pmVar13) {\n        if (unaff_s2 < (mp_limb_t *)0x10000) {\n          iVar16 = 0;\n          if ((mp_limb_t *)0xff < unaff_s2) {\n            iVar16 = 0x18;\n          }\n          iVar10 = 9;\n          if ((mp_limb_t *)0xff >= unaff_s2) {\n            iVar10 = 1;\n          }\n        }\n        else {\n          iVar16 = 0x10;\n          if ((mp_limb_t *)0xffffff < unaff_s2) {\n            iVar16 = 8;\n          }\n          iVar10 = 0x19;\n          if ((mp_limb_t *)0xffffff >= unaff_s2) {\n            iVar10 = 0x11;\n          }\n        }\n        pmVar14 = (mp_limb_t *)\n                  ((int)unaff_s2 <<\n                  (iVar16 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar10] & 0x1f\n                  ));\n        if (pmVar14 < pmVar13) {\n          pmVar14 = (mp_limb_t *)((int)pmVar14 << 1);\n        }\n        pmVar13 = (mp_limb_t *)((int)pmVar14 - (int)pmVar13);\n      }\n      else {\n        pmVar13 = (mp_limb_t *)((int)unaff_s2 - (int)pmVar13);\n      }\n    }" { (if_statement "if (unaff_s2 < pmVar13) {\n        if (unaff_s2 < (mp_limb_t *)0x10000) {\n          iVar16 = 0;\n          if ((mp_limb_t *)0xff < unaff_s2) {\n            iVar16 = 0x18;\n          }\n          iVar10 = 9;\n          if ((mp_limb_t *)0xff >= unaff_s2) {\n            iVar10 = 1;\n          }\n        }\n        else {\n          iVar16 = 0x10;\n          if ((mp_limb_t *)0xffffff < unaff_s2) {\n            iVar16 = 8;\n          }\n          iVar10 = 0x19;\n          if ((mp_limb_t *)0xffffff >= unaff_s2) {\n            iVar10 = 0x11;\n          }\n        }\n        pmVar14 = (mp_limb_t *)\n                  ((int)unaff_s2 <<\n                  (iVar16 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar10] & 0x1f\n                  ));\n        if (pmVar14 < pmVar13) {\n          pmVar14 = (mp_limb_t *)((int)pmVar14 << 1);\n        }\n        pmVar13 = (mp_limb_t *)((int)pmVar14 - (int)pmVar13);\n      }\n      else {\n        pmVar13 = (mp_limb_t *)((int)unaff_s2 - (int)pmVar13);\n      }" if (parenthesized_expression "(unaff_s2 < pmVar13)" ( (binary_expression "unaff_s2 < pmVar13" identifier < identifier) )) (compound_statement "{\n        if (unaff_s2 < (mp_limb_t *)0x10000) {\n          iVar16 = 0;\n          if ((mp_limb_t *)0xff < unaff_s2) {\n            iVar16 = 0x18;\n          }\n          iVar10 = 9;\n          if ((mp_limb_t *)0xff >= unaff_s2) {\n            iVar10 = 1;\n          }\n        }\n        else {\n          iVar16 = 0x10;\n          if ((mp_limb_t *)0xffffff < unaff_s2) {\n            iVar16 = 8;\n          }\n          iVar10 = 0x19;\n          if ((mp_limb_t *)0xffffff >= unaff_s2) {\n            iVar10 = 0x11;\n          }\n        }\n        pmVar14 = (mp_limb_t *)\n                  ((int)unaff_s2 <<\n                  (iVar16 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar10] & 0x1f\n                  ));\n        if (pmVar14 < pmVar13) {\n          pmVar14 = (mp_limb_t *)((int)pmVar14 << 1);\n        }\n        pmVar13 = (mp_limb_t *)((int)pmVar14 - (int)pmVar13);\n      }" { (if_statement "if (unaff_s2 < (mp_limb_t *)0x10000) {\n          iVar16 = 0;\n          if ((mp_limb_t *)0xff < unaff_s2) {\n            iVar16 = 0x18;\n          }\n          iVar10 = 9;\n          if ((mp_limb_t *)0xff >= unaff_s2) {\n            iVar10 = 1;\n          }\n        }\n        else {\n          iVar16 = 0x10;\n          if ((mp_limb_t *)0xffffff < unaff_s2) {\n            iVar16 = 8;\n          }\n          iVar10 = 0x19;\n          if ((mp_limb_t *)0xffffff >= unaff_s2) {\n            iVar10 = 0x11;\n          }\n        }" if (parenthesized_expression "(unaff_s2 < (mp_limb_t *)0x10000)" ( (binary_expression "unaff_s2 < (mp_limb_t *)0x10000" identifier < (cast_expression "(mp_limb_t *)0x10000" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar16 = 0;\n          if ((mp_limb_t *)0xff < unaff_s2) {\n            iVar16 = 0x18;\n          }\n          iVar10 = 9;\n          if ((mp_limb_t *)0xff >= unaff_s2) {\n            iVar10 = 1;\n          }\n        }" { (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (if_statement "if ((mp_limb_t *)0xff < unaff_s2) {\n            iVar16 = 0x18;\n          }" if (parenthesized_expression "((mp_limb_t *)0xff < unaff_s2)" ( (binary_expression "(mp_limb_t *)0xff < unaff_s2" (cast_expression "(mp_limb_t *)0xff" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n            iVar16 = 0x18;\n          }" { (expression_statement "iVar16 = 0x18;" (assignment_expression "iVar16 = 0x18" identifier = number_literal) ;) })) (expression_statement "iVar10 = 9;" (assignment_expression "iVar10 = 9" identifier = number_literal) ;) (if_statement "if ((mp_limb_t *)0xff >= unaff_s2) {\n            iVar10 = 1;\n          }" if (parenthesized_expression "((mp_limb_t *)0xff >= unaff_s2)" ( (binary_expression "(mp_limb_t *)0xff >= unaff_s2" (cast_expression "(mp_limb_t *)0xff" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) >= identifier) )) (compound_statement "{\n            iVar10 = 1;\n          }" { (expression_statement "iVar10 = 1;" (assignment_expression "iVar10 = 1" identifier = number_literal) ;) })) }) (else_clause "else {\n          iVar16 = 0x10;\n          if ((mp_limb_t *)0xffffff < unaff_s2) {\n            iVar16 = 8;\n          }\n          iVar10 = 0x19;\n          if ((mp_limb_t *)0xffffff >= unaff_s2) {\n            iVar10 = 0x11;\n          }\n        }" else (compound_statement "{\n          iVar16 = 0x10;\n          if ((mp_limb_t *)0xffffff < unaff_s2) {\n            iVar16 = 8;\n          }\n          iVar10 = 0x19;\n          if ((mp_limb_t *)0xffffff >= unaff_s2) {\n            iVar10 = 0x11;\n          }\n        }" { (expression_statement "iVar16 = 0x10;" (assignment_expression "iVar16 = 0x10" identifier = number_literal) ;) (if_statement "if ((mp_limb_t *)0xffffff < unaff_s2) {\n            iVar16 = 8;\n          }" if (parenthesized_expression "((mp_limb_t *)0xffffff < unaff_s2)" ( (binary_expression "(mp_limb_t *)0xffffff < unaff_s2" (cast_expression "(mp_limb_t *)0xffffff" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n            iVar16 = 8;\n          }" { (expression_statement "iVar16 = 8;" (assignment_expression "iVar16 = 8" identifier = number_literal) ;) })) (expression_statement "iVar10 = 0x19;" (assignment_expression "iVar10 = 0x19" identifier = number_literal) ;) (if_statement "if ((mp_limb_t *)0xffffff >= unaff_s2) {\n            iVar10 = 0x11;\n          }" if (parenthesized_expression "((mp_limb_t *)0xffffff >= unaff_s2)" ( (binary_expression "(mp_limb_t *)0xffffff >= unaff_s2" (cast_expression "(mp_limb_t *)0xffffff" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) >= identifier) )) (compound_statement "{\n            iVar10 = 0x11;\n          }" { (expression_statement "iVar10 = 0x11;" (assignment_expression "iVar10 = 0x11" identifier = number_literal) ;) })) }))) (expression_statement "pmVar14 = (mp_limb_t *)\n                  ((int)unaff_s2 <<\n                  (iVar16 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar10] & 0x1f\n                  ));" (assignment_expression "pmVar14 = (mp_limb_t *)\n                  ((int)unaff_s2 <<\n                  (iVar16 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar10] & 0x1f\n                  ))" identifier = (cast_expression "(mp_limb_t *)\n                  ((int)unaff_s2 <<\n                  (iVar16 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar10] & 0x1f\n                  ))" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s2 <<\n                  (iVar16 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar10] & 0x1f\n                  ))" ( (binary_expression "(int)unaff_s2 <<\n                  (iVar16 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar10] & 0x1f\n                  )" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) << (parenthesized_expression "(iVar16 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar10] & 0x1f\n                  )" ( (binary_expression "iVar16 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar10] & 0x1f" (binary_expression "iVar16 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar10]" identifier - (cast_expression "(uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar10]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar10]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar10]" identifier [ (binary_expression "(uint)unaff_s2 >> iVar10" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> identifier) ])))) & number_literal) ))) )))) ;) (if_statement "if (pmVar14 < pmVar13) {\n          pmVar14 = (mp_limb_t *)((int)pmVar14 << 1);\n        }" if (parenthesized_expression "(pmVar14 < pmVar13)" ( (binary_expression "pmVar14 < pmVar13" identifier < identifier) )) (compound_statement "{\n          pmVar14 = (mp_limb_t *)((int)pmVar14 << 1);\n        }" { (expression_statement "pmVar14 = (mp_limb_t *)((int)pmVar14 << 1);" (assignment_expression "pmVar14 = (mp_limb_t *)((int)pmVar14 << 1)" identifier = (cast_expression "(mp_limb_t *)((int)pmVar14 << 1)" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pmVar14 << 1)" ( (binary_expression "(int)pmVar14 << 1" (cast_expression "(int)pmVar14" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) })) (expression_statement "pmVar13 = (mp_limb_t *)((int)pmVar14 - (int)pmVar13);" (assignment_expression "pmVar13 = (mp_limb_t *)((int)pmVar14 - (int)pmVar13)" identifier = (cast_expression "(mp_limb_t *)((int)pmVar14 - (int)pmVar13)" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pmVar14 - (int)pmVar13)" ( (binary_expression "(int)pmVar14 - (int)pmVar13" (cast_expression "(int)pmVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pmVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }) (else_clause "else {\n        pmVar13 = (mp_limb_t *)((int)unaff_s2 - (int)pmVar13);\n      }" else (compound_statement "{\n        pmVar13 = (mp_limb_t *)((int)unaff_s2 - (int)pmVar13);\n      }" { (expression_statement "pmVar13 = (mp_limb_t *)((int)unaff_s2 - (int)pmVar13);" (assignment_expression "pmVar13 = (mp_limb_t *)((int)unaff_s2 - (int)pmVar13)" identifier = (cast_expression "(mp_limb_t *)((int)unaff_s2 - (int)pmVar13)" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s2 - (int)pmVar13)" ( (binary_expression "(int)unaff_s2 - (int)pmVar13" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pmVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }))) })) (if_statement "if ((int)unaff_s0 < 10) {\n      uVar8 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar6 = (uint)unaff_s2 >> 8;\n        iVar16 = 6;\n        if ((uVar6 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar6 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }" if (parenthesized_expression "((int)unaff_s0 < 10)" ( (binary_expression "(int)unaff_s0 < 10" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      uVar8 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar6 = (uint)unaff_s2 >> 8;\n        iVar16 = 6;\n        if ((uVar6 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar6 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }" { (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (if_statement "if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;" if (parenthesized_expression "(((uint)unaff_s2 & 1) != 0)" ( (binary_expression "((uint)unaff_s2 & 1) != 0" (parenthesized_expression "((uint)unaff_s2 & 1)" ( (binary_expression "(uint)unaff_s2 & 1" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00025484;" goto statement_identifier ;)) (if_statement "if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar6 = (uint)unaff_s2 >> 8;\n        iVar16 = 6;\n        if ((uVar6 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }" if (parenthesized_expression "(((uint)unaff_s2 & 0xff) == 0)" ( (binary_expression "((uint)unaff_s2 & 0xff) == 0" (parenthesized_expression "((uint)unaff_s2 & 0xff)" ( (binary_expression "(uint)unaff_s2 & 0xff" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar6 = (uint)unaff_s2 >> 8;\n        iVar16 = 6;\n        if ((uVar6 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }" { (expression_statement "uVar6 = (uint)unaff_s2 >> 8;" (assignment_expression "uVar6 = (uint)unaff_s2 >> 8" identifier = (binary_expression "(uint)unaff_s2 >> 8" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;) (expression_statement "iVar16 = 6;" (assignment_expression "iVar16 = 6" identifier = number_literal) ;) (if_statement "if ((uVar6 & 0xff) == 0) goto LAB_00025608;" if (parenthesized_expression "((uVar6 & 0xff) == 0)" ( (binary_expression "(uVar6 & 0xff) == 0" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00025608;" goto statement_identifier ;)) (goto_statement "goto LAB_000255b8;" goto statement_identifier ;) })) (expression_statement "uVar6 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;" (assignment_expression "uVar6 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2" identifier = (binary_expression "(byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2" (cast_expression "(byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2]" identifier [ (binary_expression "-(int)unaff_s2 & (uint)unaff_s2" (unary_expression "-(int)unaff_s2" - (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier)) & (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier)) ])) - number_literal)) ;) (goto_statement "goto LAB_0002547c;" goto statement_identifier ;) })) (expression_statement "pmVar14 = (mp_limb_t *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);" (assignment_expression "pmVar14 = (mp_limb_t *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2)" identifier = (cast_expression "(mp_limb_t *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2)" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2)" (parenthesized_expression "(*(code *)PTR___gmpn_mod_1_0009d4c0)" ( (pointer_expression "*(code *)PTR___gmpn_mod_1_0009d4c0" * (cast_expression "(code *)PTR___gmpn_mod_1_0009d4c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s5,unaff_s0,unaff_s2)" ( identifier , identifier , identifier ))))) ;) (if_statement "if (pmVar13 < unaff_s2) {\n      uVar8 = (uint)(pmVar13 == pmVar14);\n    }\n    else {\n      if (unaff_s2 == (mp_limb_t *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (mp_limb_t *)((uint)pmVar13 % (uint)unaff_s2 ^ (uint)pmVar14);\n      uVar8 = (uint)(unaff_s2 == (mp_limb_t *)0x0);\n    }" if (parenthesized_expression "(pmVar13 < unaff_s2)" ( (binary_expression "pmVar13 < unaff_s2" identifier < identifier) )) (compound_statement "{\n      uVar8 = (uint)(pmVar13 == pmVar14);\n    }" { (expression_statement "uVar8 = (uint)(pmVar13 == pmVar14);" (assignment_expression "uVar8 = (uint)(pmVar13 == pmVar14)" identifier = (call_expression "(uint)(pmVar13 == pmVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pmVar13 == pmVar14)" ( (binary_expression "pmVar13 == pmVar14" identifier == identifier) )))) ;) }) (else_clause "else {\n      if (unaff_s2 == (mp_limb_t *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (mp_limb_t *)((uint)pmVar13 % (uint)unaff_s2 ^ (uint)pmVar14);\n      uVar8 = (uint)(unaff_s2 == (mp_limb_t *)0x0);\n    }" else (compound_statement "{\n      if (unaff_s2 == (mp_limb_t *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (mp_limb_t *)((uint)pmVar13 % (uint)unaff_s2 ^ (uint)pmVar14);\n      uVar8 = (uint)(unaff_s2 == (mp_limb_t *)0x0);\n    }" { (if_statement "if (unaff_s2 == (mp_limb_t *)0x0) {\n        trap(7);\n      }" if (parenthesized_expression "(unaff_s2 == (mp_limb_t *)0x0)" ( (binary_expression "unaff_s2 == (mp_limb_t *)0x0" identifier == (cast_expression "(mp_limb_t *)0x0" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        trap(7);\n      }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "unaff_s2 = (mp_limb_t *)((uint)pmVar13 % (uint)unaff_s2 ^ (uint)pmVar14);" (assignment_expression "unaff_s2 = (mp_limb_t *)((uint)pmVar13 % (uint)unaff_s2 ^ (uint)pmVar14)" identifier = (cast_expression "(mp_limb_t *)((uint)pmVar13 % (uint)unaff_s2 ^ (uint)pmVar14)" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pmVar13 % (uint)unaff_s2 ^ (uint)pmVar14)" ( (binary_expression "(uint)pmVar13 % (uint)unaff_s2 ^ (uint)pmVar14" (binary_expression "(uint)pmVar13 % (uint)unaff_s2" (cast_expression "(uint)pmVar13" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier)) ^ (cast_expression "(uint)pmVar14" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "uVar8 = (uint)(unaff_s2 == (mp_limb_t *)0x0);" (assignment_expression "uVar8 = (uint)(unaff_s2 == (mp_limb_t *)0x0)" identifier = (call_expression "(uint)(unaff_s2 == (mp_limb_t *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(unaff_s2 == (mp_limb_t *)0x0)" ( (binary_expression "unaff_s2 == (mp_limb_t *)0x0" identifier == (cast_expression "(mp_limb_t *)0x0" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )))) ;) }))) (goto_statement "goto LAB_0002514c;" goto statement_identifier ;) })) (labeled_statement "LAB_00024fe0:\n  uVar11 = unaff_s0 + 1;" statement_identifier : (expression_statement "uVar11 = unaff_s0 + 1;" (assignment_expression "uVar11 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;)) (expression_statement "unaff_s2 = (mp_limb_t *)(uVar11 * 4);" (assignment_expression "unaff_s2 = (mp_limb_t *)(uVar11 * 4)" identifier = (cast_expression "(mp_limb_t *)(uVar11 * 4)" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 * 4)" ( (binary_expression "uVar11 * 4" identifier * number_literal) )))) ;) (expression_statement "__tmp_marker = (tmp_reentrant_t *)0x0;" (assignment_expression "__tmp_marker = (tmp_reentrant_t *)0x0" identifier = (cast_expression "(tmp_reentrant_t *)0x0" ( (type_descriptor "tmp_reentrant_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (unaff_s2 < (mp_limb_t *)0x7f01) {\n    pmVar13 = (mp_limb_t *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));\n  }\n  else {\n    pmVar13 = (mp_limb_t *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&__tmp_marker,unaff_s2)\n    ;\n  }" if (parenthesized_expression "(unaff_s2 < (mp_limb_t *)0x7f01)" ( (binary_expression "unaff_s2 < (mp_limb_t *)0x7f01" identifier < (cast_expression "(mp_limb_t *)0x7f01" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pmVar13 = (mp_limb_t *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));\n  }" { (expression_statement "pmVar13 = (mp_limb_t *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));" (assignment_expression "pmVar13 = (mp_limb_t *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8))" identifier = (cast_expression "(mp_limb_t *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8))" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8))" ( (binary_expression "&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8)" (pointer_expression "&stack0xffffffb8" & identifier) + (unary_expression "-((int)unaff_s2 + 7U & 0xfffffff8)" - (parenthesized_expression "((int)unaff_s2 + 7U & 0xfffffff8)" ( (binary_expression "(int)unaff_s2 + 7U & 0xfffffff8" (binary_expression "(int)unaff_s2 + 7U" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) & number_literal) )))) )))) ;) }) (else_clause "else {\n    pmVar13 = (mp_limb_t *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&__tmp_marker,unaff_s2)\n    ;\n  }" else (compound_statement "{\n    pmVar13 = (mp_limb_t *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&__tmp_marker,unaff_s2)\n    ;\n  }" { (expression_statement "pmVar13 = (mp_limb_t *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&__tmp_marker,unaff_s2)\n    ;" (assignment_expression "pmVar13 = (mp_limb_t *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&__tmp_marker,unaff_s2)" identifier = (cast_expression "(mp_limb_t *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&__tmp_marker,unaff_s2)" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&__tmp_marker,unaff_s2)" (parenthesized_expression "(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)" ( (pointer_expression "*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0" * (cast_expression "(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&__tmp_marker,unaff_s2)" ( (pointer_expression "&__tmp_marker" & identifier) , identifier ))))) ;) }))) (if_statement "if ((int)uVar6 < 0) {\n    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar13,unaff_s5,pmVar15,uVar8);\n    uVar6 = uVar8;\n    if (iVar10 != 0) {\n      if ((int)unaff_s0 <= (int)uVar8) {\nLAB_00025594:\n        unaff_s2 = pmVar13 + uVar11;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar6 = uVar8 + 1;\n      pmVar15 = unaff_s5 + uVar8;\n      mVar12 = *pmVar15;\n      pmVar13[uVar8] = mVar12 + 1;\n      if (mVar12 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025594;\n        uVar6 = uVar8 + 2;\n        mVar12 = unaff_s5[uVar8 + 1] + 1;\n        pmVar13[uVar8 + 1] = mVar12;\n        pmVar9 = pmVar13 + uVar8;\n        while (mVar12 == 0) {\n          if (unaff_s0 == uVar6) {\n            mVar12 = 1;\n            unaff_s0 = uVar11;\n            goto LAB_000253d0;\n          }\n          pmVar3 = pmVar15 + 2;\n          uVar6 = uVar6 + 1;\n          pmVar15 = pmVar15 + 1;\n          mVar12 = *pmVar3 + 1;\n          pmVar9[2] = mVar12;\n          pmVar9 = pmVar9 + 1;\n        }\n      }\n    }\n    mVar12 = 0;\n    if ((pmVar13 == unaff_s5) || ((int)unaff_s0 <= (int)uVar6)) {\nLAB_000253d0:\n      unaff_s2 = pmVar13 + uVar11;\n      unaff_s2[-1] = mVar12;\n      uVar11 = unaff_s0;\n    }\n    else {\n      pmVar9 = unaff_s5 + uVar6;\n      unaff_s5 = (mp_limb_t *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      pmVar15 = pmVar13 + uVar6;\n      do {\n        mVar12 = *pmVar9;\n        pmVar9 = pmVar9 + 1;\n        *pmVar15 = mVar12;\n        pmVar15 = pmVar15 + 1;\n      } while (unaff_s5 != pmVar9);\n      unaff_s2 = pmVar13 + uVar11;\n      unaff_s2[-1] = 0;\n      uVar11 = unaff_s0;\n    }\n  }\n  else if ((int)uVar8 < (int)unaff_s0) {\n    iVar10 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar13,unaff_s5,pmVar15,uVar8);\n    if (iVar10 == 0) {\n      if (pmVar13 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar8;\n      pmVar15 = pmVar13 + uVar8;\n      do {\n        mVar12 = *unaff_s5;\n        uVar8 = uVar8 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *pmVar15 = mVar12;\n        pmVar15 = pmVar15 + 1;\n      } while ((int)uVar8 < (int)unaff_s0);\n    }\n    else {\n      uVar6 = uVar8 + 1;\n      pmVar15 = unaff_s5 + uVar8;\n      mVar12 = *pmVar15;\n      pmVar13[uVar8] = mVar12 - 1;\n      if (mVar12 == 0) {\n        if ((int)uVar6 < (int)unaff_s0) {\n          uVar6 = uVar8 + 2;\n          mVar12 = unaff_s5[uVar8 + 1];\n          pmVar13[uVar8 + 1] = mVar12 - 1;\n          pmVar9 = pmVar13 + uVar8;\n          while (mVar12 == 0) {\n            if (unaff_s0 == uVar6) goto LAB_0002507c;\n            mVar12 = pmVar15[2];\n            uVar6 = uVar6 + 1;\n            pmVar15 = pmVar15 + 1;\n            pmVar9[2] = mVar12 - 1;\n            pmVar9 = pmVar9 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (pmVar13 != unaff_s5) {\n          uVar8 = uVar6;\n          if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    pmVar15 = pmVar13 + uVar11;\n    uVar11 = unaff_s0;\n    if (pmVar15[-2] == 0) {\n      iVar10 = (int)pmVar13 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar2 = (int *)(iVar10 + -8);\n        iVar10 = iVar10 + -4;\n        uVar11 = unaff_s0;\n      } while (*piVar2 == 0);\n    }\n  }\n  else {\n    iVar10 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar7 = (uint *)((int)pmVar15 + (int)(unaff_s2 + -1));\n    uVar6 = unaff_s0;\n    do {\n      uVar6 = uVar6 - 1;\n      puVar7 = puVar7 + -1;\n      pmVar9 = unaff_s5;\n      if (uVar6 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar10 + -4);\n      iVar10 = iVar10 + -4;\n    } while (*puVar1 == *puVar7);\n    if (*puVar1 <= *puVar7) {\n      pmVar9 = pmVar15;\n      pmVar15 = unaff_s5;\n      uVar8 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar13,pmVar9,pmVar15,uVar8);\nLAB_00025070:\n    if (uVar4 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar11 = 0;\n  }" if (parenthesized_expression "((int)uVar6 < 0)" ( (binary_expression "(int)uVar6 < 0" (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar13,unaff_s5,pmVar15,uVar8);\n    uVar6 = uVar8;\n    if (iVar10 != 0) {\n      if ((int)unaff_s0 <= (int)uVar8) {\nLAB_00025594:\n        unaff_s2 = pmVar13 + uVar11;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar6 = uVar8 + 1;\n      pmVar15 = unaff_s5 + uVar8;\n      mVar12 = *pmVar15;\n      pmVar13[uVar8] = mVar12 + 1;\n      if (mVar12 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025594;\n        uVar6 = uVar8 + 2;\n        mVar12 = unaff_s5[uVar8 + 1] + 1;\n        pmVar13[uVar8 + 1] = mVar12;\n        pmVar9 = pmVar13 + uVar8;\n        while (mVar12 == 0) {\n          if (unaff_s0 == uVar6) {\n            mVar12 = 1;\n            unaff_s0 = uVar11;\n            goto LAB_000253d0;\n          }\n          pmVar3 = pmVar15 + 2;\n          uVar6 = uVar6 + 1;\n          pmVar15 = pmVar15 + 1;\n          mVar12 = *pmVar3 + 1;\n          pmVar9[2] = mVar12;\n          pmVar9 = pmVar9 + 1;\n        }\n      }\n    }\n    mVar12 = 0;\n    if ((pmVar13 == unaff_s5) || ((int)unaff_s0 <= (int)uVar6)) {\nLAB_000253d0:\n      unaff_s2 = pmVar13 + uVar11;\n      unaff_s2[-1] = mVar12;\n      uVar11 = unaff_s0;\n    }\n    else {\n      pmVar9 = unaff_s5 + uVar6;\n      unaff_s5 = (mp_limb_t *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      pmVar15 = pmVar13 + uVar6;\n      do {\n        mVar12 = *pmVar9;\n        pmVar9 = pmVar9 + 1;\n        *pmVar15 = mVar12;\n        pmVar15 = pmVar15 + 1;\n      } while (unaff_s5 != pmVar9);\n      unaff_s2 = pmVar13 + uVar11;\n      unaff_s2[-1] = 0;\n      uVar11 = unaff_s0;\n    }\n  }" { (expression_statement "iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar13,unaff_s5,pmVar15,uVar8);" (assignment_expression "iVar10 = (*(code *)PTR___gmpn_add_n_0009d334)(pmVar13,unaff_s5,pmVar15,uVar8)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(pmVar13,unaff_s5,pmVar15,uVar8)" (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 "(pmVar13,unaff_s5,pmVar15,uVar8)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "uVar6 = uVar8;" (assignment_expression "uVar6 = uVar8" identifier = identifier) ;) (if_statement "if (iVar10 != 0) {\n      if ((int)unaff_s0 <= (int)uVar8) {\nLAB_00025594:\n        unaff_s2 = pmVar13 + uVar11;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar6 = uVar8 + 1;\n      pmVar15 = unaff_s5 + uVar8;\n      mVar12 = *pmVar15;\n      pmVar13[uVar8] = mVar12 + 1;\n      if (mVar12 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025594;\n        uVar6 = uVar8 + 2;\n        mVar12 = unaff_s5[uVar8 + 1] + 1;\n        pmVar13[uVar8 + 1] = mVar12;\n        pmVar9 = pmVar13 + uVar8;\n        while (mVar12 == 0) {\n          if (unaff_s0 == uVar6) {\n            mVar12 = 1;\n            unaff_s0 = uVar11;\n            goto LAB_000253d0;\n          }\n          pmVar3 = pmVar15 + 2;\n          uVar6 = uVar6 + 1;\n          pmVar15 = pmVar15 + 1;\n          mVar12 = *pmVar3 + 1;\n          pmVar9[2] = mVar12;\n          pmVar9 = pmVar9 + 1;\n        }\n      }\n    }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n      if ((int)unaff_s0 <= (int)uVar8) {\nLAB_00025594:\n        unaff_s2 = pmVar13 + uVar11;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar6 = uVar8 + 1;\n      pmVar15 = unaff_s5 + uVar8;\n      mVar12 = *pmVar15;\n      pmVar13[uVar8] = mVar12 + 1;\n      if (mVar12 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025594;\n        uVar6 = uVar8 + 2;\n        mVar12 = unaff_s5[uVar8 + 1] + 1;\n        pmVar13[uVar8 + 1] = mVar12;\n        pmVar9 = pmVar13 + uVar8;\n        while (mVar12 == 0) {\n          if (unaff_s0 == uVar6) {\n            mVar12 = 1;\n            unaff_s0 = uVar11;\n            goto LAB_000253d0;\n          }\n          pmVar3 = pmVar15 + 2;\n          uVar6 = uVar6 + 1;\n          pmVar15 = pmVar15 + 1;\n          mVar12 = *pmVar3 + 1;\n          pmVar9[2] = mVar12;\n          pmVar9 = pmVar9 + 1;\n        }\n      }\n    }" { (if_statement "if ((int)unaff_s0 <= (int)uVar8) {\nLAB_00025594:\n        unaff_s2 = pmVar13 + uVar11;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }" if (parenthesized_expression "((int)unaff_s0 <= (int)uVar8)" ( (binary_expression "(int)unaff_s0 <= (int)uVar8" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\nLAB_00025594:\n        unaff_s2 = pmVar13 + uVar11;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }" { (labeled_statement "LAB_00025594:\n        unaff_s2 = pmVar13 + uVar11;" statement_identifier : (expression_statement "unaff_s2 = pmVar13 + uVar11;" (assignment_expression "unaff_s2 = pmVar13 + uVar11" identifier = (binary_expression "pmVar13 + uVar11" identifier + identifier)) ;)) (expression_statement "unaff_s2[-1] = 1;" (assignment_expression "unaff_s2[-1] = 1" (subscript_expression "unaff_s2[-1]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_000250b0;" goto statement_identifier ;) })) (expression_statement "uVar6 = uVar8 + 1;" (assignment_expression "uVar6 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (expression_statement "pmVar15 = unaff_s5 + uVar8;" (assignment_expression "pmVar15 = unaff_s5 + uVar8" identifier = (binary_expression "unaff_s5 + uVar8" identifier + identifier)) ;) (expression_statement "mVar12 = *pmVar15;" (assignment_expression "mVar12 = *pmVar15" identifier = (pointer_expression "*pmVar15" * identifier)) ;) (expression_statement "pmVar13[uVar8] = mVar12 + 1;" (assignment_expression "pmVar13[uVar8] = mVar12 + 1" (subscript_expression "pmVar13[uVar8]" identifier [ identifier ]) = (binary_expression "mVar12 + 1" identifier + number_literal)) ;) (if_statement "if (mVar12 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025594;\n        uVar6 = uVar8 + 2;\n        mVar12 = unaff_s5[uVar8 + 1] + 1;\n        pmVar13[uVar8 + 1] = mVar12;\n        pmVar9 = pmVar13 + uVar8;\n        while (mVar12 == 0) {\n          if (unaff_s0 == uVar6) {\n            mVar12 = 1;\n            unaff_s0 = uVar11;\n            goto LAB_000253d0;\n          }\n          pmVar3 = pmVar15 + 2;\n          uVar6 = uVar6 + 1;\n          pmVar15 = pmVar15 + 1;\n          mVar12 = *pmVar3 + 1;\n          pmVar9[2] = mVar12;\n          pmVar9 = pmVar9 + 1;\n        }\n      }" if (parenthesized_expression "(mVar12 + 1 == 0)" ( (binary_expression "mVar12 + 1 == 0" (binary_expression "mVar12 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n        if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025594;\n        uVar6 = uVar8 + 2;\n        mVar12 = unaff_s5[uVar8 + 1] + 1;\n        pmVar13[uVar8 + 1] = mVar12;\n        pmVar9 = pmVar13 + uVar8;\n        while (mVar12 == 0) {\n          if (unaff_s0 == uVar6) {\n            mVar12 = 1;\n            unaff_s0 = uVar11;\n            goto LAB_000253d0;\n          }\n          pmVar3 = pmVar15 + 2;\n          uVar6 = uVar6 + 1;\n          pmVar15 = pmVar15 + 1;\n          mVar12 = *pmVar3 + 1;\n          pmVar9[2] = mVar12;\n          pmVar9 = pmVar9 + 1;\n        }\n      }" { (if_statement "if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025594;" if (parenthesized_expression "((int)unaff_s0 <= (int)uVar6)" ( (binary_expression "(int)unaff_s0 <= (int)uVar6" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00025594;" goto statement_identifier ;)) (expression_statement "uVar6 = uVar8 + 2;" (assignment_expression "uVar6 = uVar8 + 2" identifier = (binary_expression "uVar8 + 2" identifier + number_literal)) ;) (expression_statement "mVar12 = unaff_s5[uVar8 + 1] + 1;" (assignment_expression "mVar12 = unaff_s5[uVar8 + 1] + 1" identifier = (binary_expression "unaff_s5[uVar8 + 1] + 1" (subscript_expression "unaff_s5[uVar8 + 1]" identifier [ (binary_expression "uVar8 + 1" identifier + number_literal) ]) + number_literal)) ;) (expression_statement "pmVar13[uVar8 + 1] = mVar12;" (assignment_expression "pmVar13[uVar8 + 1] = mVar12" (subscript_expression "pmVar13[uVar8 + 1]" identifier [ (binary_expression "uVar8 + 1" identifier + number_literal) ]) = identifier) ;) (expression_statement "pmVar9 = pmVar13 + uVar8;" (assignment_expression "pmVar9 = pmVar13 + uVar8" identifier = (binary_expression "pmVar13 + uVar8" identifier + identifier)) ;) (while_statement "while (mVar12 == 0) {\n          if (unaff_s0 == uVar6) {\n            mVar12 = 1;\n            unaff_s0 = uVar11;\n            goto LAB_000253d0;\n          }\n          pmVar3 = pmVar15 + 2;\n          uVar6 = uVar6 + 1;\n          pmVar15 = pmVar15 + 1;\n          mVar12 = *pmVar3 + 1;\n          pmVar9[2] = mVar12;\n          pmVar9 = pmVar9 + 1;\n        }" while (parenthesized_expression "(mVar12 == 0)" ( (binary_expression "mVar12 == 0" identifier == number_literal) )) (compound_statement "{\n          if (unaff_s0 == uVar6) {\n            mVar12 = 1;\n            unaff_s0 = uVar11;\n            goto LAB_000253d0;\n          }\n          pmVar3 = pmVar15 + 2;\n          uVar6 = uVar6 + 1;\n          pmVar15 = pmVar15 + 1;\n          mVar12 = *pmVar3 + 1;\n          pmVar9[2] = mVar12;\n          pmVar9 = pmVar9 + 1;\n        }" { (if_statement "if (unaff_s0 == uVar6) {\n            mVar12 = 1;\n            unaff_s0 = uVar11;\n            goto LAB_000253d0;\n          }" if (parenthesized_expression "(unaff_s0 == uVar6)" ( (binary_expression "unaff_s0 == uVar6" identifier == identifier) )) (compound_statement "{\n            mVar12 = 1;\n            unaff_s0 = uVar11;\n            goto LAB_000253d0;\n          }" { (expression_statement "mVar12 = 1;" (assignment_expression "mVar12 = 1" identifier = number_literal) ;) (expression_statement "unaff_s0 = uVar11;" (assignment_expression "unaff_s0 = uVar11" identifier = identifier) ;) (goto_statement "goto LAB_000253d0;" goto statement_identifier ;) })) (expression_statement "pmVar3 = pmVar15 + 2;" (assignment_expression "pmVar3 = pmVar15 + 2" identifier = (binary_expression "pmVar15 + 2" identifier + number_literal)) ;) (expression_statement "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "pmVar15 = pmVar15 + 1;" (assignment_expression "pmVar15 = pmVar15 + 1" identifier = (binary_expression "pmVar15 + 1" identifier + number_literal)) ;) (expression_statement "mVar12 = *pmVar3 + 1;" (assignment_expression "mVar12 = *pmVar3 + 1" identifier = (binary_expression "*pmVar3 + 1" (pointer_expression "*pmVar3" * identifier) + number_literal)) ;) (expression_statement "pmVar9[2] = mVar12;" (assignment_expression "pmVar9[2] = mVar12" (subscript_expression "pmVar9[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pmVar9 = pmVar9 + 1;" (assignment_expression "pmVar9 = pmVar9 + 1" identifier = (binary_expression "pmVar9 + 1" identifier + number_literal)) ;) })) })) })) (expression_statement "mVar12 = 0;" (assignment_expression "mVar12 = 0" identifier = number_literal) ;) (if_statement "if ((pmVar13 == unaff_s5) || ((int)unaff_s0 <= (int)uVar6)) {\nLAB_000253d0:\n      unaff_s2 = pmVar13 + uVar11;\n      unaff_s2[-1] = mVar12;\n      uVar11 = unaff_s0;\n    }\n    else {\n      pmVar9 = unaff_s5 + uVar6;\n      unaff_s5 = (mp_limb_t *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      pmVar15 = pmVar13 + uVar6;\n      do {\n        mVar12 = *pmVar9;\n        pmVar9 = pmVar9 + 1;\n        *pmVar15 = mVar12;\n        pmVar15 = pmVar15 + 1;\n      } while (unaff_s5 != pmVar9);\n      unaff_s2 = pmVar13 + uVar11;\n      unaff_s2[-1] = 0;\n      uVar11 = unaff_s0;\n    }" if (parenthesized_expression "((pmVar13 == unaff_s5) || ((int)unaff_s0 <= (int)uVar6))" ( (binary_expression "(pmVar13 == unaff_s5) || ((int)unaff_s0 <= (int)uVar6)" (parenthesized_expression "(pmVar13 == unaff_s5)" ( (binary_expression "pmVar13 == unaff_s5" identifier == identifier) )) || (parenthesized_expression "((int)unaff_s0 <= (int)uVar6)" ( (binary_expression "(int)unaff_s0 <= (int)uVar6" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\nLAB_000253d0:\n      unaff_s2 = pmVar13 + uVar11;\n      unaff_s2[-1] = mVar12;\n      uVar11 = unaff_s0;\n    }" { (labeled_statement "LAB_000253d0:\n      unaff_s2 = pmVar13 + uVar11;" statement_identifier : (expression_statement "unaff_s2 = pmVar13 + uVar11;" (assignment_expression "unaff_s2 = pmVar13 + uVar11" identifier = (binary_expression "pmVar13 + uVar11" identifier + identifier)) ;)) (expression_statement "unaff_s2[-1] = mVar12;" (assignment_expression "unaff_s2[-1] = mVar12" (subscript_expression "unaff_s2[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar11 = unaff_s0;" (assignment_expression "uVar11 = unaff_s0" identifier = identifier) ;) }) (else_clause "else {\n      pmVar9 = unaff_s5 + uVar6;\n      unaff_s5 = (mp_limb_t *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      pmVar15 = pmVar13 + uVar6;\n      do {\n        mVar12 = *pmVar9;\n        pmVar9 = pmVar9 + 1;\n        *pmVar15 = mVar12;\n        pmVar15 = pmVar15 + 1;\n      } while (unaff_s5 != pmVar9);\n      unaff_s2 = pmVar13 + uVar11;\n      unaff_s2[-1] = 0;\n      uVar11 = unaff_s0;\n    }" else (compound_statement "{\n      pmVar9 = unaff_s5 + uVar6;\n      unaff_s5 = (mp_limb_t *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      pmVar15 = pmVar13 + uVar6;\n      do {\n        mVar12 = *pmVar9;\n        pmVar9 = pmVar9 + 1;\n        *pmVar15 = mVar12;\n        pmVar15 = pmVar15 + 1;\n      } while (unaff_s5 != pmVar9);\n      unaff_s2 = pmVar13 + uVar11;\n      unaff_s2[-1] = 0;\n      uVar11 = unaff_s0;\n    }" { (expression_statement "pmVar9 = unaff_s5 + uVar6;" (assignment_expression "pmVar9 = unaff_s5 + uVar6" identifier = (binary_expression "unaff_s5 + uVar6" identifier + identifier)) ;) (expression_statement "unaff_s5 = (mp_limb_t *)((int)unaff_s5 + (int)(unaff_s2 + -1));" (assignment_expression "unaff_s5 = (mp_limb_t *)((int)unaff_s5 + (int)(unaff_s2 + -1))" identifier = (cast_expression "(mp_limb_t *)((int)unaff_s5 + (int)(unaff_s2 + -1))" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s5 + (int)(unaff_s2 + -1))" ( (binary_expression "(int)unaff_s5 + (int)(unaff_s2 + -1)" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(unaff_s2 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s2 + -1)" ( (binary_expression "unaff_s2 + -1" identifier + number_literal) )))) )))) ;) (expression_statement "pmVar15 = pmVar13 + uVar6;" (assignment_expression "pmVar15 = pmVar13 + uVar6" identifier = (binary_expression "pmVar13 + uVar6" identifier + identifier)) ;) (do_statement "do {\n        mVar12 = *pmVar9;\n        pmVar9 = pmVar9 + 1;\n        *pmVar15 = mVar12;\n        pmVar15 = pmVar15 + 1;\n      } while (unaff_s5 != pmVar9);" do (compound_statement "{\n        mVar12 = *pmVar9;\n        pmVar9 = pmVar9 + 1;\n        *pmVar15 = mVar12;\n        pmVar15 = pmVar15 + 1;\n      }" { (expression_statement "mVar12 = *pmVar9;" (assignment_expression "mVar12 = *pmVar9" identifier = (pointer_expression "*pmVar9" * identifier)) ;) (expression_statement "pmVar9 = pmVar9 + 1;" (assignment_expression "pmVar9 = pmVar9 + 1" identifier = (binary_expression "pmVar9 + 1" identifier + number_literal)) ;) (expression_statement "*pmVar15 = mVar12;" (assignment_expression "*pmVar15 = mVar12" (pointer_expression "*pmVar15" * identifier) = identifier) ;) (expression_statement "pmVar15 = pmVar15 + 1;" (assignment_expression "pmVar15 = pmVar15 + 1" identifier = (binary_expression "pmVar15 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(unaff_s5 != pmVar9)" ( (binary_expression "unaff_s5 != pmVar9" identifier != identifier) )) ;) (expression_statement "unaff_s2 = pmVar13 + uVar11;" (assignment_expression "unaff_s2 = pmVar13 + uVar11" identifier = (binary_expression "pmVar13 + uVar11" identifier + identifier)) ;) (expression_statement "unaff_s2[-1] = 0;" (assignment_expression "unaff_s2[-1] = 0" (subscript_expression "unaff_s2[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar11 = unaff_s0;" (assignment_expression "uVar11 = unaff_s0" identifier = identifier) ;) }))) }) (else_clause "else if ((int)uVar8 < (int)unaff_s0) {\n    iVar10 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar13,unaff_s5,pmVar15,uVar8);\n    if (iVar10 == 0) {\n      if (pmVar13 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar8;\n      pmVar15 = pmVar13 + uVar8;\n      do {\n        mVar12 = *unaff_s5;\n        uVar8 = uVar8 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *pmVar15 = mVar12;\n        pmVar15 = pmVar15 + 1;\n      } while ((int)uVar8 < (int)unaff_s0);\n    }\n    else {\n      uVar6 = uVar8 + 1;\n      pmVar15 = unaff_s5 + uVar8;\n      mVar12 = *pmVar15;\n      pmVar13[uVar8] = mVar12 - 1;\n      if (mVar12 == 0) {\n        if ((int)uVar6 < (int)unaff_s0) {\n          uVar6 = uVar8 + 2;\n          mVar12 = unaff_s5[uVar8 + 1];\n          pmVar13[uVar8 + 1] = mVar12 - 1;\n          pmVar9 = pmVar13 + uVar8;\n          while (mVar12 == 0) {\n            if (unaff_s0 == uVar6) goto LAB_0002507c;\n            mVar12 = pmVar15[2];\n            uVar6 = uVar6 + 1;\n            pmVar15 = pmVar15 + 1;\n            pmVar9[2] = mVar12 - 1;\n            pmVar9 = pmVar9 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (pmVar13 != unaff_s5) {\n          uVar8 = uVar6;\n          if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    pmVar15 = pmVar13 + uVar11;\n    uVar11 = unaff_s0;\n    if (pmVar15[-2] == 0) {\n      iVar10 = (int)pmVar13 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar2 = (int *)(iVar10 + -8);\n        iVar10 = iVar10 + -4;\n        uVar11 = unaff_s0;\n      } while (*piVar2 == 0);\n    }\n  }\n  else {\n    iVar10 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar7 = (uint *)((int)pmVar15 + (int)(unaff_s2 + -1));\n    uVar6 = unaff_s0;\n    do {\n      uVar6 = uVar6 - 1;\n      puVar7 = puVar7 + -1;\n      pmVar9 = unaff_s5;\n      if (uVar6 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar10 + -4);\n      iVar10 = iVar10 + -4;\n    } while (*puVar1 == *puVar7);\n    if (*puVar1 <= *puVar7) {\n      pmVar9 = pmVar15;\n      pmVar15 = unaff_s5;\n      uVar8 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar13,pmVar9,pmVar15,uVar8);\nLAB_00025070:\n    if (uVar4 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar11 = 0;\n  }" else (if_statement "if ((int)uVar8 < (int)unaff_s0) {\n    iVar10 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar13,unaff_s5,pmVar15,uVar8);\n    if (iVar10 == 0) {\n      if (pmVar13 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar8;\n      pmVar15 = pmVar13 + uVar8;\n      do {\n        mVar12 = *unaff_s5;\n        uVar8 = uVar8 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *pmVar15 = mVar12;\n        pmVar15 = pmVar15 + 1;\n      } while ((int)uVar8 < (int)unaff_s0);\n    }\n    else {\n      uVar6 = uVar8 + 1;\n      pmVar15 = unaff_s5 + uVar8;\n      mVar12 = *pmVar15;\n      pmVar13[uVar8] = mVar12 - 1;\n      if (mVar12 == 0) {\n        if ((int)uVar6 < (int)unaff_s0) {\n          uVar6 = uVar8 + 2;\n          mVar12 = unaff_s5[uVar8 + 1];\n          pmVar13[uVar8 + 1] = mVar12 - 1;\n          pmVar9 = pmVar13 + uVar8;\n          while (mVar12 == 0) {\n            if (unaff_s0 == uVar6) goto LAB_0002507c;\n            mVar12 = pmVar15[2];\n            uVar6 = uVar6 + 1;\n            pmVar15 = pmVar15 + 1;\n            pmVar9[2] = mVar12 - 1;\n            pmVar9 = pmVar9 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (pmVar13 != unaff_s5) {\n          uVar8 = uVar6;\n          if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    pmVar15 = pmVar13 + uVar11;\n    uVar11 = unaff_s0;\n    if (pmVar15[-2] == 0) {\n      iVar10 = (int)pmVar13 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar2 = (int *)(iVar10 + -8);\n        iVar10 = iVar10 + -4;\n        uVar11 = unaff_s0;\n      } while (*piVar2 == 0);\n    }\n  }\n  else {\n    iVar10 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar7 = (uint *)((int)pmVar15 + (int)(unaff_s2 + -1));\n    uVar6 = unaff_s0;\n    do {\n      uVar6 = uVar6 - 1;\n      puVar7 = puVar7 + -1;\n      pmVar9 = unaff_s5;\n      if (uVar6 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar10 + -4);\n      iVar10 = iVar10 + -4;\n    } while (*puVar1 == *puVar7);\n    if (*puVar1 <= *puVar7) {\n      pmVar9 = pmVar15;\n      pmVar15 = unaff_s5;\n      uVar8 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar13,pmVar9,pmVar15,uVar8);\nLAB_00025070:\n    if (uVar4 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar11 = 0;\n  }" if (parenthesized_expression "((int)uVar8 < (int)unaff_s0)" ( (binary_expression "(int)uVar8 < (int)unaff_s0" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    iVar10 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar13,unaff_s5,pmVar15,uVar8);\n    if (iVar10 == 0) {\n      if (pmVar13 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar8;\n      pmVar15 = pmVar13 + uVar8;\n      do {\n        mVar12 = *unaff_s5;\n        uVar8 = uVar8 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *pmVar15 = mVar12;\n        pmVar15 = pmVar15 + 1;\n      } while ((int)uVar8 < (int)unaff_s0);\n    }\n    else {\n      uVar6 = uVar8 + 1;\n      pmVar15 = unaff_s5 + uVar8;\n      mVar12 = *pmVar15;\n      pmVar13[uVar8] = mVar12 - 1;\n      if (mVar12 == 0) {\n        if ((int)uVar6 < (int)unaff_s0) {\n          uVar6 = uVar8 + 2;\n          mVar12 = unaff_s5[uVar8 + 1];\n          pmVar13[uVar8 + 1] = mVar12 - 1;\n          pmVar9 = pmVar13 + uVar8;\n          while (mVar12 == 0) {\n            if (unaff_s0 == uVar6) goto LAB_0002507c;\n            mVar12 = pmVar15[2];\n            uVar6 = uVar6 + 1;\n            pmVar15 = pmVar15 + 1;\n            pmVar9[2] = mVar12 - 1;\n            pmVar9 = pmVar9 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (pmVar13 != unaff_s5) {\n          uVar8 = uVar6;\n          if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    pmVar15 = pmVar13 + uVar11;\n    uVar11 = unaff_s0;\n    if (pmVar15[-2] == 0) {\n      iVar10 = (int)pmVar13 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar2 = (int *)(iVar10 + -8);\n        iVar10 = iVar10 + -4;\n        uVar11 = unaff_s0;\n      } while (*piVar2 == 0);\n    }\n  }" { (expression_statement "iVar10 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar13,unaff_s5,pmVar15,uVar8);" (assignment_expression "iVar10 = (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar13,unaff_s5,pmVar15,uVar8)" identifier = (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(pmVar13,unaff_s5,pmVar15,uVar8)" (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 "(pmVar13,unaff_s5,pmVar15,uVar8)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar10 == 0) {\n      if (pmVar13 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar8;\n      pmVar15 = pmVar13 + uVar8;\n      do {\n        mVar12 = *unaff_s5;\n        uVar8 = uVar8 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *pmVar15 = mVar12;\n        pmVar15 = pmVar15 + 1;\n      } while ((int)uVar8 < (int)unaff_s0);\n    }\n    else {\n      uVar6 = uVar8 + 1;\n      pmVar15 = unaff_s5 + uVar8;\n      mVar12 = *pmVar15;\n      pmVar13[uVar8] = mVar12 - 1;\n      if (mVar12 == 0) {\n        if ((int)uVar6 < (int)unaff_s0) {\n          uVar6 = uVar8 + 2;\n          mVar12 = unaff_s5[uVar8 + 1];\n          pmVar13[uVar8 + 1] = mVar12 - 1;\n          pmVar9 = pmVar13 + uVar8;\n          while (mVar12 == 0) {\n            if (unaff_s0 == uVar6) goto LAB_0002507c;\n            mVar12 = pmVar15[2];\n            uVar6 = uVar6 + 1;\n            pmVar15 = pmVar15 + 1;\n            pmVar9[2] = mVar12 - 1;\n            pmVar9 = pmVar9 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (pmVar13 != unaff_s5) {\n          uVar8 = uVar6;\n          if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n      if (pmVar13 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar8;\n      pmVar15 = pmVar13 + uVar8;\n      do {\n        mVar12 = *unaff_s5;\n        uVar8 = uVar8 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *pmVar15 = mVar12;\n        pmVar15 = pmVar15 + 1;\n      } while ((int)uVar8 < (int)unaff_s0);\n    }" { (if_statement "if (pmVar13 == unaff_s5) goto LAB_00025070;" if (parenthesized_expression "(pmVar13 == unaff_s5)" ( (binary_expression "pmVar13 == unaff_s5" identifier == identifier) )) (goto_statement "goto LAB_00025070;" goto statement_identifier ;)) (labeled_statement "LAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar8;" statement_identifier : (expression_statement "unaff_s5 = unaff_s5 + uVar8;" (assignment_expression "unaff_s5 = unaff_s5 + uVar8" identifier = (binary_expression "unaff_s5 + uVar8" identifier + identifier)) ;)) (expression_statement "pmVar15 = pmVar13 + uVar8;" (assignment_expression "pmVar15 = pmVar13 + uVar8" identifier = (binary_expression "pmVar13 + uVar8" identifier + identifier)) ;) (do_statement "do {\n        mVar12 = *unaff_s5;\n        uVar8 = uVar8 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *pmVar15 = mVar12;\n        pmVar15 = pmVar15 + 1;\n      } while ((int)uVar8 < (int)unaff_s0);" do (compound_statement "{\n        mVar12 = *unaff_s5;\n        uVar8 = uVar8 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *pmVar15 = mVar12;\n        pmVar15 = pmVar15 + 1;\n      }" { (expression_statement "mVar12 = *unaff_s5;" (assignment_expression "mVar12 = *unaff_s5" identifier = (pointer_expression "*unaff_s5" * identifier)) ;) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s5 = unaff_s5 + 1;" (assignment_expression "unaff_s5 = unaff_s5 + 1" identifier = (binary_expression "unaff_s5 + 1" identifier + number_literal)) ;) (expression_statement "*pmVar15 = mVar12;" (assignment_expression "*pmVar15 = mVar12" (pointer_expression "*pmVar15" * identifier) = identifier) ;) (expression_statement "pmVar15 = pmVar15 + 1;" (assignment_expression "pmVar15 = pmVar15 + 1" identifier = (binary_expression "pmVar15 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)uVar8 < (int)unaff_s0)" ( (binary_expression "(int)uVar8 < (int)unaff_s0" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) }) (else_clause "else {\n      uVar6 = uVar8 + 1;\n      pmVar15 = unaff_s5 + uVar8;\n      mVar12 = *pmVar15;\n      pmVar13[uVar8] = mVar12 - 1;\n      if (mVar12 == 0) {\n        if ((int)uVar6 < (int)unaff_s0) {\n          uVar6 = uVar8 + 2;\n          mVar12 = unaff_s5[uVar8 + 1];\n          pmVar13[uVar8 + 1] = mVar12 - 1;\n          pmVar9 = pmVar13 + uVar8;\n          while (mVar12 == 0) {\n            if (unaff_s0 == uVar6) goto LAB_0002507c;\n            mVar12 = pmVar15[2];\n            uVar6 = uVar6 + 1;\n            pmVar15 = pmVar15 + 1;\n            pmVar9[2] = mVar12 - 1;\n            pmVar9 = pmVar9 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (pmVar13 != unaff_s5) {\n          uVar8 = uVar6;\n          if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }" else (compound_statement "{\n      uVar6 = uVar8 + 1;\n      pmVar15 = unaff_s5 + uVar8;\n      mVar12 = *pmVar15;\n      pmVar13[uVar8] = mVar12 - 1;\n      if (mVar12 == 0) {\n        if ((int)uVar6 < (int)unaff_s0) {\n          uVar6 = uVar8 + 2;\n          mVar12 = unaff_s5[uVar8 + 1];\n          pmVar13[uVar8 + 1] = mVar12 - 1;\n          pmVar9 = pmVar13 + uVar8;\n          while (mVar12 == 0) {\n            if (unaff_s0 == uVar6) goto LAB_0002507c;\n            mVar12 = pmVar15[2];\n            uVar6 = uVar6 + 1;\n            pmVar15 = pmVar15 + 1;\n            pmVar9[2] = mVar12 - 1;\n            pmVar9 = pmVar9 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (pmVar13 != unaff_s5) {\n          uVar8 = uVar6;\n          if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }" { (expression_statement "uVar6 = uVar8 + 1;" (assignment_expression "uVar6 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (expression_statement "pmVar15 = unaff_s5 + uVar8;" (assignment_expression "pmVar15 = unaff_s5 + uVar8" identifier = (binary_expression "unaff_s5 + uVar8" identifier + identifier)) ;) (expression_statement "mVar12 = *pmVar15;" (assignment_expression "mVar12 = *pmVar15" identifier = (pointer_expression "*pmVar15" * identifier)) ;) (expression_statement "pmVar13[uVar8] = mVar12 - 1;" (assignment_expression "pmVar13[uVar8] = mVar12 - 1" (subscript_expression "pmVar13[uVar8]" identifier [ identifier ]) = (binary_expression "mVar12 - 1" identifier - number_literal)) ;) (if_statement "if (mVar12 == 0) {\n        if ((int)uVar6 < (int)unaff_s0) {\n          uVar6 = uVar8 + 2;\n          mVar12 = unaff_s5[uVar8 + 1];\n          pmVar13[uVar8 + 1] = mVar12 - 1;\n          pmVar9 = pmVar13 + uVar8;\n          while (mVar12 == 0) {\n            if (unaff_s0 == uVar6) goto LAB_0002507c;\n            mVar12 = pmVar15[2];\n            uVar6 = uVar6 + 1;\n            pmVar15 = pmVar15 + 1;\n            pmVar9[2] = mVar12 - 1;\n            pmVar9 = pmVar9 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (pmVar13 != unaff_s5) {\n          uVar8 = uVar6;\n          if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }" if (parenthesized_expression "(mVar12 == 0)" ( (binary_expression "mVar12 == 0" identifier == number_literal) )) (compound_statement "{\n        if ((int)uVar6 < (int)unaff_s0) {\n          uVar6 = uVar8 + 2;\n          mVar12 = unaff_s5[uVar8 + 1];\n          pmVar13[uVar8 + 1] = mVar12 - 1;\n          pmVar9 = pmVar13 + uVar8;\n          while (mVar12 == 0) {\n            if (unaff_s0 == uVar6) goto LAB_0002507c;\n            mVar12 = pmVar15[2];\n            uVar6 = uVar6 + 1;\n            pmVar15 = pmVar15 + 1;\n            pmVar9[2] = mVar12 - 1;\n            pmVar9 = pmVar9 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }" { (if_statement "if ((int)uVar6 < (int)unaff_s0) {\n          uVar6 = uVar8 + 2;\n          mVar12 = unaff_s5[uVar8 + 1];\n          pmVar13[uVar8 + 1] = mVar12 - 1;\n          pmVar9 = pmVar13 + uVar8;\n          while (mVar12 == 0) {\n            if (unaff_s0 == uVar6) goto LAB_0002507c;\n            mVar12 = pmVar15[2];\n            uVar6 = uVar6 + 1;\n            pmVar15 = pmVar15 + 1;\n            pmVar9[2] = mVar12 - 1;\n            pmVar9 = pmVar9 + 1;\n          }\n          goto LAB_0002522c;\n        }" if (parenthesized_expression "((int)uVar6 < (int)unaff_s0)" ( (binary_expression "(int)uVar6 < (int)unaff_s0" (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          uVar6 = uVar8 + 2;\n          mVar12 = unaff_s5[uVar8 + 1];\n          pmVar13[uVar8 + 1] = mVar12 - 1;\n          pmVar9 = pmVar13 + uVar8;\n          while (mVar12 == 0) {\n            if (unaff_s0 == uVar6) goto LAB_0002507c;\n            mVar12 = pmVar15[2];\n            uVar6 = uVar6 + 1;\n            pmVar15 = pmVar15 + 1;\n            pmVar9[2] = mVar12 - 1;\n            pmVar9 = pmVar9 + 1;\n          }\n          goto LAB_0002522c;\n        }" { (expression_statement "uVar6 = uVar8 + 2;" (assignment_expression "uVar6 = uVar8 + 2" identifier = (binary_expression "uVar8 + 2" identifier + number_literal)) ;) (expression_statement "mVar12 = unaff_s5[uVar8 + 1];" (assignment_expression "mVar12 = unaff_s5[uVar8 + 1]" identifier = (subscript_expression "unaff_s5[uVar8 + 1]" identifier [ (binary_expression "uVar8 + 1" identifier + number_literal) ])) ;) (expression_statement "pmVar13[uVar8 + 1] = mVar12 - 1;" (assignment_expression "pmVar13[uVar8 + 1] = mVar12 - 1" (subscript_expression "pmVar13[uVar8 + 1]" identifier [ (binary_expression "uVar8 + 1" identifier + number_literal) ]) = (binary_expression "mVar12 - 1" identifier - number_literal)) ;) (expression_statement "pmVar9 = pmVar13 + uVar8;" (assignment_expression "pmVar9 = pmVar13 + uVar8" identifier = (binary_expression "pmVar13 + uVar8" identifier + identifier)) ;) (while_statement "while (mVar12 == 0) {\n            if (unaff_s0 == uVar6) goto LAB_0002507c;\n            mVar12 = pmVar15[2];\n            uVar6 = uVar6 + 1;\n            pmVar15 = pmVar15 + 1;\n            pmVar9[2] = mVar12 - 1;\n            pmVar9 = pmVar9 + 1;\n          }" while (parenthesized_expression "(mVar12 == 0)" ( (binary_expression "mVar12 == 0" identifier == number_literal) )) (compound_statement "{\n            if (unaff_s0 == uVar6) goto LAB_0002507c;\n            mVar12 = pmVar15[2];\n            uVar6 = uVar6 + 1;\n            pmVar15 = pmVar15 + 1;\n            pmVar9[2] = mVar12 - 1;\n            pmVar9 = pmVar9 + 1;\n          }" { (if_statement "if (unaff_s0 == uVar6) goto LAB_0002507c;" if (parenthesized_expression "(unaff_s0 == uVar6)" ( (binary_expression "unaff_s0 == uVar6" identifier == identifier) )) (goto_statement "goto LAB_0002507c;" goto statement_identifier ;)) (expression_statement "mVar12 = pmVar15[2];" (assignment_expression "mVar12 = pmVar15[2]" identifier = (subscript_expression "pmVar15[2]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "pmVar15 = pmVar15 + 1;" (assignment_expression "pmVar15 = pmVar15 + 1" identifier = (binary_expression "pmVar15 + 1" identifier + number_literal)) ;) (expression_statement "pmVar9[2] = mVar12 - 1;" (assignment_expression "pmVar9[2] = mVar12 - 1" (subscript_expression "pmVar9[2]" identifier [ number_literal ]) = (binary_expression "mVar12 - 1" identifier - number_literal)) ;) (expression_statement "pmVar9 = pmVar9 + 1;" (assignment_expression "pmVar9 = pmVar9 + 1" identifier = (binary_expression "pmVar9 + 1" identifier + number_literal)) ;) })) (goto_statement "goto LAB_0002522c;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_0002522c:\n        if (pmVar13 != unaff_s5) {\n          uVar8 = uVar6;\n          if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }" else (compound_statement "{\nLAB_0002522c:\n        if (pmVar13 != unaff_s5) {\n          uVar8 = uVar6;\n          if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }" { (labeled_statement "LAB_0002522c:\n        if (pmVar13 != unaff_s5) {\n          uVar8 = uVar6;\n          if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025070;\n          goto LAB_0002523c;\n        }" statement_identifier : (if_statement "if (pmVar13 != unaff_s5) {\n          uVar8 = uVar6;\n          if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025070;\n          goto LAB_0002523c;\n        }" if (parenthesized_expression "(pmVar13 != unaff_s5)" ( (binary_expression "pmVar13 != unaff_s5" identifier != identifier) )) (compound_statement "{\n          uVar8 = uVar6;\n          if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025070;\n          goto LAB_0002523c;\n        }" { (expression_statement "uVar8 = uVar6;" (assignment_expression "uVar8 = uVar6" identifier = identifier) ;) (if_statement "if ((int)unaff_s0 <= (int)uVar6) goto LAB_00025070;" if (parenthesized_expression "((int)unaff_s0 <= (int)uVar6)" ( (binary_expression "(int)unaff_s0 <= (int)uVar6" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00025070;" goto statement_identifier ;)) (goto_statement "goto LAB_0002523c;" goto statement_identifier ;) }))) }))) }))) (labeled_statement "LAB_0002507c:\n    pmVar15 = pmVar13 + uVar11;" statement_identifier : (expression_statement "pmVar15 = pmVar13 + uVar11;" (assignment_expression "pmVar15 = pmVar13 + uVar11" identifier = (binary_expression "pmVar13 + uVar11" identifier + identifier)) ;)) (expression_statement "uVar11 = unaff_s0;" (assignment_expression "uVar11 = unaff_s0" identifier = identifier) ;) (if_statement "if (pmVar15[-2] == 0) {\n      iVar10 = (int)pmVar13 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar2 = (int *)(iVar10 + -8);\n        iVar10 = iVar10 + -4;\n        uVar11 = unaff_s0;\n      } while (*piVar2 == 0);\n    }" if (parenthesized_expression "(pmVar15[-2] == 0)" ( (binary_expression "pmVar15[-2] == 0" (subscript_expression "pmVar15[-2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar10 = (int)pmVar13 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar2 = (int *)(iVar10 + -8);\n        iVar10 = iVar10 + -4;\n        uVar11 = unaff_s0;\n      } while (*piVar2 == 0);\n    }" { (expression_statement "iVar10 = (int)pmVar13 + (int)(unaff_s2 + -1);" (assignment_expression "iVar10 = (int)pmVar13 + (int)(unaff_s2 + -1)" identifier = (binary_expression "(int)pmVar13 + (int)(unaff_s2 + -1)" (cast_expression "(int)pmVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(unaff_s2 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s2 + -1)" ( (binary_expression "unaff_s2 + -1" identifier + number_literal) ))))) ;) (do_statement "do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar2 = (int *)(iVar10 + -8);\n        iVar10 = iVar10 + -4;\n        uVar11 = unaff_s0;\n      } while (*piVar2 == 0);" do (compound_statement "{\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar2 = (int *)(iVar10 + -8);\n        iVar10 = iVar10 + -4;\n        uVar11 = unaff_s0;\n      }" { (expression_statement "unaff_s0 = unaff_s0 - 1;" (assignment_expression "unaff_s0 = unaff_s0 - 1" identifier = (binary_expression "unaff_s0 - 1" identifier - number_literal)) ;) (if_statement "if (unaff_s0 == 0) goto LAB_000250a8;" if (parenthesized_expression "(unaff_s0 == 0)" ( (binary_expression "unaff_s0 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000250a8;" goto statement_identifier ;)) (expression_statement "piVar2 = (int *)(iVar10 + -8);" (assignment_expression "piVar2 = (int *)(iVar10 + -8)" identifier = (cast_expression "(int *)(iVar10 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -8)" ( (binary_expression "iVar10 + -8" identifier + number_literal) )))) ;) (expression_statement "iVar10 = iVar10 + -4;" (assignment_expression "iVar10 = iVar10 + -4" identifier = (binary_expression "iVar10 + -4" identifier + number_literal)) ;) (expression_statement "uVar11 = unaff_s0;" (assignment_expression "uVar11 = unaff_s0" identifier = identifier) ;) }) while (parenthesized_expression "(*piVar2 == 0)" ( (binary_expression "*piVar2 == 0" (pointer_expression "*piVar2" * identifier) == number_literal) )) ;) })) }) (else_clause "else {\n    iVar10 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar7 = (uint *)((int)pmVar15 + (int)(unaff_s2 + -1));\n    uVar6 = unaff_s0;\n    do {\n      uVar6 = uVar6 - 1;\n      puVar7 = puVar7 + -1;\n      pmVar9 = unaff_s5;\n      if (uVar6 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar10 + -4);\n      iVar10 = iVar10 + -4;\n    } while (*puVar1 == *puVar7);\n    if (*puVar1 <= *puVar7) {\n      pmVar9 = pmVar15;\n      pmVar15 = unaff_s5;\n      uVar8 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar13,pmVar9,pmVar15,uVar8);\nLAB_00025070:\n    if (uVar4 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar11 = 0;\n  }" else (compound_statement "{\n    iVar10 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar7 = (uint *)((int)pmVar15 + (int)(unaff_s2 + -1));\n    uVar6 = unaff_s0;\n    do {\n      uVar6 = uVar6 - 1;\n      puVar7 = puVar7 + -1;\n      pmVar9 = unaff_s5;\n      if (uVar6 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar10 + -4);\n      iVar10 = iVar10 + -4;\n    } while (*puVar1 == *puVar7);\n    if (*puVar1 <= *puVar7) {\n      pmVar9 = pmVar15;\n      pmVar15 = unaff_s5;\n      uVar8 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar13,pmVar9,pmVar15,uVar8);\nLAB_00025070:\n    if (uVar4 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar11 = 0;\n  }" { (expression_statement "iVar10 = (int)unaff_s5 + (int)(unaff_s2 + -1);" (assignment_expression "iVar10 = (int)unaff_s5 + (int)(unaff_s2 + -1)" identifier = (binary_expression "(int)unaff_s5 + (int)(unaff_s2 + -1)" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(unaff_s2 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s2 + -1)" ( (binary_expression "unaff_s2 + -1" identifier + number_literal) ))))) ;) (expression_statement "puVar7 = (uint *)((int)pmVar15 + (int)(unaff_s2 + -1));" (assignment_expression "puVar7 = (uint *)((int)pmVar15 + (int)(unaff_s2 + -1))" identifier = (cast_expression "(uint *)((int)pmVar15 + (int)(unaff_s2 + -1))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pmVar15 + (int)(unaff_s2 + -1))" ( (binary_expression "(int)pmVar15 + (int)(unaff_s2 + -1)" (cast_expression "(int)pmVar15" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(unaff_s2 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s2 + -1)" ( (binary_expression "unaff_s2 + -1" identifier + number_literal) )))) )))) ;) (expression_statement "uVar6 = unaff_s0;" (assignment_expression "uVar6 = unaff_s0" identifier = identifier) ;) (do_statement "do {\n      uVar6 = uVar6 - 1;\n      puVar7 = puVar7 + -1;\n      pmVar9 = unaff_s5;\n      if (uVar6 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar10 + -4);\n      iVar10 = iVar10 + -4;\n    } while (*puVar1 == *puVar7);" do (compound_statement "{\n      uVar6 = uVar6 - 1;\n      puVar7 = puVar7 + -1;\n      pmVar9 = unaff_s5;\n      if (uVar6 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar10 + -4);\n      iVar10 = iVar10 + -4;\n    }" { (expression_statement "uVar6 = uVar6 - 1;" (assignment_expression "uVar6 = uVar6 - 1" identifier = (binary_expression "uVar6 - 1" identifier - number_literal)) ;) (expression_statement "puVar7 = puVar7 + -1;" (assignment_expression "puVar7 = puVar7 + -1" identifier = (binary_expression "puVar7 + -1" identifier + number_literal)) ;) (expression_statement "pmVar9 = unaff_s5;" (assignment_expression "pmVar9 = unaff_s5" identifier = identifier) ;) (if_statement "if (uVar6 == 0xffffffff) goto LAB_00025058;" if (parenthesized_expression "(uVar6 == 0xffffffff)" ( (binary_expression "uVar6 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_00025058;" goto statement_identifier ;)) (expression_statement "puVar1 = (uint *)(iVar10 + -4);" (assignment_expression "puVar1 = (uint *)(iVar10 + -4)" identifier = (cast_expression "(uint *)(iVar10 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + -4)" ( (binary_expression "iVar10 + -4" identifier + number_literal) )))) ;) (expression_statement "iVar10 = iVar10 + -4;" (assignment_expression "iVar10 = iVar10 + -4" identifier = (binary_expression "iVar10 + -4" identifier + number_literal)) ;) }) while (parenthesized_expression "(*puVar1 == *puVar7)" ( (binary_expression "*puVar1 == *puVar7" (pointer_expression "*puVar1" * identifier) == (pointer_expression "*puVar7" * identifier)) )) ;) (if_statement "if (*puVar1 <= *puVar7) {\n      pmVar9 = pmVar15;\n      pmVar15 = unaff_s5;\n      uVar8 = unaff_s0;\n    }" if (parenthesized_expression "(*puVar1 <= *puVar7)" ( (binary_expression "*puVar1 <= *puVar7" (pointer_expression "*puVar1" * identifier) <= (pointer_expression "*puVar7" * identifier)) )) (compound_statement "{\n      pmVar9 = pmVar15;\n      pmVar15 = unaff_s5;\n      uVar8 = unaff_s0;\n    }" { (expression_statement "pmVar9 = pmVar15;" (assignment_expression "pmVar9 = pmVar15" identifier = identifier) ;) (expression_statement "pmVar15 = unaff_s5;" (assignment_expression "pmVar15 = unaff_s5" identifier = identifier) ;) (expression_statement "uVar8 = unaff_s0;" (assignment_expression "uVar8 = unaff_s0" identifier = identifier) ;) })) (labeled_statement "LAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(pmVar13,pmVar9,pmVar15,uVar8);" statement_identifier : (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(pmVar13,pmVar9,pmVar15,uVar8);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(pmVar13,pmVar9,pmVar15,uVar8)" (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 "(pmVar13,pmVar9,pmVar15,uVar8)" ( identifier , identifier , identifier , identifier ))) ;)) (labeled_statement "LAB_00025070:\n    if (uVar4 != 0) goto LAB_0002507c;" statement_identifier : (if_statement "if (uVar4 != 0) goto LAB_0002507c;" if (parenthesized_expression "(uVar4 != 0)" ( (binary_expression "uVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0002507c;" goto statement_identifier ;))) (labeled_statement "LAB_000250a8:\n    uVar11 = 0;" statement_identifier : (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;)) }))))) (labeled_statement "LAB_000250b0:\n  uVar8 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(pmVar13,uVar11,pmVar14,iVar16);" statement_identifier : (expression_statement "uVar8 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(pmVar13,uVar11,pmVar14,iVar16);" (assignment_expression "uVar8 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(pmVar13,uVar11,pmVar14,iVar16)" identifier = (call_expression "(*(code *)PTR___gmpn_divisible_p_0009d0f8)(pmVar13,uVar11,pmVar14,iVar16)" (parenthesized_expression "(*(code *)PTR___gmpn_divisible_p_0009d0f8)" ( (pointer_expression "*(code *)PTR___gmpn_divisible_p_0009d0f8" * (cast_expression "(code *)PTR___gmpn_divisible_p_0009d0f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pmVar13,uVar11,pmVar14,iVar16)" ( identifier , identifier , identifier , identifier )))) ;)) (expression_statement "unaff_s0 = uVar11;" (assignment_expression "unaff_s0 = uVar11" identifier = identifier) ;) (if_statement "if (__tmp_marker != (tmp_reentrant_t *)0x0) {\n    (*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();\n  }" if (parenthesized_expression "(__tmp_marker != (tmp_reentrant_t *)0x0)" ( (binary_expression "__tmp_marker != (tmp_reentrant_t *)0x0" identifier != (cast_expression "(tmp_reentrant_t *)0x0" ( (type_descriptor "tmp_reentrant_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();\n  }" { (expression_statement "(*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();" (call_expression "(*(code *)PTR___gmp_tmp_reentrant_free_0009d618)()" (parenthesized_expression "(*(code *)PTR___gmp_tmp_reentrant_free_0009d618)" ( (pointer_expression "*(code *)PTR___gmp_tmp_reentrant_free_0009d618" * (cast_expression "(code *)PTR___gmp_tmp_reentrant_free_0009d618" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_0002514c:\n  while (local_2c != *(int *)puVar5) {\n    (*(code *)PTR___stack_chk_fail_0009d4d0)();\nLAB_00025608:\n    uVar6 = (uint)unaff_s2 >> 0x10;\n    iVar16 = 0xe;\n    if ((uVar6 & 0xff) == 0) {\n      uVar6 = (uint)unaff_s2 >> 0x18;\n      iVar16 = 0x1e;\n      if (uVar6 != 0) {\n        iVar16 = 0x16;\n      }\n    }\nLAB_000255b8:\n    uVar6 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar6 & uVar6] + iVar16;\nLAB_0002547c:\n    unaff_s2 = (mp_limb_t *)((uint)unaff_s2 >> (uVar6 & 0x1f));\nLAB_00025484:\n    pmVar14 = (mp_limb_t *)\n              (*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);\n    if (pmVar14 != (mp_limb_t *)0x0) {\n      uVar8 = (uint)(unaff_s2 == pmVar14);\n    }\n  }" statement_identifier : (while_statement "while (local_2c != *(int *)puVar5) {\n    (*(code *)PTR___stack_chk_fail_0009d4d0)();\nLAB_00025608:\n    uVar6 = (uint)unaff_s2 >> 0x10;\n    iVar16 = 0xe;\n    if ((uVar6 & 0xff) == 0) {\n      uVar6 = (uint)unaff_s2 >> 0x18;\n      iVar16 = 0x1e;\n      if (uVar6 != 0) {\n        iVar16 = 0x16;\n      }\n    }\nLAB_000255b8:\n    uVar6 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar6 & uVar6] + iVar16;\nLAB_0002547c:\n    unaff_s2 = (mp_limb_t *)((uint)unaff_s2 >> (uVar6 & 0x1f));\nLAB_00025484:\n    pmVar14 = (mp_limb_t *)\n              (*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);\n    if (pmVar14 != (mp_limb_t *)0x0) {\n      uVar8 = (uint)(unaff_s2 == pmVar14);\n    }\n  }" while (parenthesized_expression "(local_2c != *(int *)puVar5)" ( (binary_expression "local_2c != *(int *)puVar5" identifier != (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    (*(code *)PTR___stack_chk_fail_0009d4d0)();\nLAB_00025608:\n    uVar6 = (uint)unaff_s2 >> 0x10;\n    iVar16 = 0xe;\n    if ((uVar6 & 0xff) == 0) {\n      uVar6 = (uint)unaff_s2 >> 0x18;\n      iVar16 = 0x1e;\n      if (uVar6 != 0) {\n        iVar16 = 0x16;\n      }\n    }\nLAB_000255b8:\n    uVar6 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar6 & uVar6] + iVar16;\nLAB_0002547c:\n    unaff_s2 = (mp_limb_t *)((uint)unaff_s2 >> (uVar6 & 0x1f));\nLAB_00025484:\n    pmVar14 = (mp_limb_t *)\n              (*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);\n    if (pmVar14 != (mp_limb_t *)0x0) {\n      uVar8 = (uint)(unaff_s2 == pmVar14);\n    }\n  }" { (expression_statement "(*(code *)PTR___stack_chk_fail_0009d4d0)();" (call_expression "(*(code *)PTR___stack_chk_fail_0009d4d0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0009d4d0)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0009d4d0" * (cast_expression "(code *)PTR___stack_chk_fail_0009d4d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_00025608:\n    uVar6 = (uint)unaff_s2 >> 0x10;" statement_identifier : (expression_statement "uVar6 = (uint)unaff_s2 >> 0x10;" (assignment_expression "uVar6 = (uint)unaff_s2 >> 0x10" identifier = (binary_expression "(uint)unaff_s2 >> 0x10" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;)) (expression_statement "iVar16 = 0xe;" (assignment_expression "iVar16 = 0xe" identifier = number_literal) ;) (if_statement "if ((uVar6 & 0xff) == 0) {\n      uVar6 = (uint)unaff_s2 >> 0x18;\n      iVar16 = 0x1e;\n      if (uVar6 != 0) {\n        iVar16 = 0x16;\n      }\n    }" if (parenthesized_expression "((uVar6 & 0xff) == 0)" ( (binary_expression "(uVar6 & 0xff) == 0" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar6 = (uint)unaff_s2 >> 0x18;\n      iVar16 = 0x1e;\n      if (uVar6 != 0) {\n        iVar16 = 0x16;\n      }\n    }" { (expression_statement "uVar6 = (uint)unaff_s2 >> 0x18;" (assignment_expression "uVar6 = (uint)unaff_s2 >> 0x18" identifier = (binary_expression "(uint)unaff_s2 >> 0x18" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;) (expression_statement "iVar16 = 0x1e;" (assignment_expression "iVar16 = 0x1e" identifier = number_literal) ;) (if_statement "if (uVar6 != 0) {\n        iVar16 = 0x16;\n      }" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar16 = 0x16;\n      }" { (expression_statement "iVar16 = 0x16;" (assignment_expression "iVar16 = 0x16" identifier = number_literal) ;) })) })) (labeled_statement "LAB_000255b8:\n    uVar6 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar6 & uVar6] + iVar16;" statement_identifier : (expression_statement "uVar6 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar6 & uVar6] + iVar16;" (assignment_expression "uVar6 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar6 & uVar6] + iVar16" identifier = (binary_expression "(uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar6 & uVar6] + iVar16" (cast_expression "(uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar6 & uVar6]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)PTR___gmpn_clz_tab_0009d18c[-uVar6 & uVar6]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "PTR___gmpn_clz_tab_0009d18c[-uVar6 & uVar6]" identifier [ (binary_expression "-uVar6 & uVar6" (unary_expression "-uVar6" - identifier) & identifier) ]))) + identifier)) ;)) (labeled_statement "LAB_0002547c:\n    unaff_s2 = (mp_limb_t *)((uint)unaff_s2 >> (uVar6 & 0x1f));" statement_identifier : (expression_statement "unaff_s2 = (mp_limb_t *)((uint)unaff_s2 >> (uVar6 & 0x1f));" (assignment_expression "unaff_s2 = (mp_limb_t *)((uint)unaff_s2 >> (uVar6 & 0x1f))" identifier = (cast_expression "(mp_limb_t *)((uint)unaff_s2 >> (uVar6 & 0x1f))" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)unaff_s2 >> (uVar6 & 0x1f))" ( (binary_expression "(uint)unaff_s2 >> (uVar6 & 0x1f)" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "(uVar6 & 0x1f)" ( (binary_expression "uVar6 & 0x1f" identifier & number_literal) ))) )))) ;)) (labeled_statement "LAB_00025484:\n    pmVar14 = (mp_limb_t *)\n              (*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);" statement_identifier : (expression_statement "pmVar14 = (mp_limb_t *)\n              (*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);" (assignment_expression "pmVar14 = (mp_limb_t *)\n              (*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2)" identifier = (cast_expression "(mp_limb_t *)\n              (*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2)" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2)" (parenthesized_expression "(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)" ( (pointer_expression "*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8" * (cast_expression "(code *)PTR___gmpn_modexact_1c_odd_0009d3d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s5,unaff_s0,unaff_s2)" ( identifier , identifier , identifier ))))) ;)) (if_statement "if (pmVar14 != (mp_limb_t *)0x0) {\n      uVar8 = (uint)(unaff_s2 == pmVar14);\n    }" if (parenthesized_expression "(pmVar14 != (mp_limb_t *)0x0)" ( (binary_expression "pmVar14 != (mp_limb_t *)0x0" identifier != (cast_expression "(mp_limb_t *)0x0" ( (type_descriptor "mp_limb_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar8 = (uint)(unaff_s2 == pmVar14);\n    }" { (expression_statement "uVar8 = (uint)(unaff_s2 == pmVar14);" (assignment_expression "uVar8 = (uint)(unaff_s2 == pmVar14)" identifier = (call_expression "(uint)(unaff_s2 == pmVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(unaff_s2 == pmVar14)" ( (binary_expression "unaff_s2 == pmVar14" identifier == identifier) )))) ;) })) }))) (return_statement "return uVar8;" return identifier ;) })))
(translation_unit "uint __gmpz_congruent_p(int param_1,int param_2,int param_3)\n\n{\n  uint *puVar1;\n  int *piVar2;\n  uint uVar3;\n  undefined *puVar4;\n  uint uVar5;\n  uint *puVar6;\n  uint uVar7;\n  int *piVar8;\n  int iVar9;\n  uint uVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  int *piVar13;\n  uint unaff_s0;\n  int *unaff_s2;\n  int iVar14;\n  int *unaff_s5;\n  uint uVar15;\n  int local_30;\n  int local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_0009d540;\n  iVar14 = *(int *)(param_3 + 4);\n  local_2c = *(int *)PTR___stack_chk_guard_0009d540;\n  if (iVar14 == 0) {\n    iVar14 = (*(code *)PTR___gmpz_cmp_0009d244)();\n    uVar7 = (uint)(iVar14 == 0);\n    goto LAB_0002514c;\n  }\n  if (iVar14 < 0) {\n    iVar14 = -iVar14;\n  }\n  uVar5 = *(uint *)(param_1 + 4);\n  puVar12 = *(undefined4 **)(param_3 + 8);\n  uVar7 = uVar5;\n  if ((int)uVar5 < 0) {\n    uVar7 = -uVar5;\n  }\n  uVar15 = *(uint *)(param_2 + 4);\n  uVar10 = uVar15;\n  if ((int)uVar15 < 0) {\n    uVar10 = -uVar15;\n  }\n  if ((int)uVar7 < (int)uVar10) {\n    unaff_s5 = *(int **)(param_2 + 8);\n    uVar3 = uVar15;\n    unaff_s0 = uVar10;\n  }\n  else {\n    unaff_s5 = *(int **)(param_1 + 8);\n    uVar3 = uVar5;\n    uVar5 = uVar15;\n    unaff_s0 = uVar7;\n    uVar7 = uVar10;\n    param_1 = param_2;\n  }\n  if (uVar5 == 0) {\n    uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14);\n    goto LAB_0002514c;\n  }\n  unaff_s2 = (int *)*puVar12;\n  uVar5 = uVar3 ^ uVar5;\n  piVar13 = *(int **)(param_1 + 8);\n  piVar11 = (int *)*piVar13;\n  uVar10 = (-(int)unaff_s2 & (uint)unaff_s2) - 1;\n  if ((int)uVar5 < 0) {\n    uVar15 = -(int)piVar11 - *unaff_s5;\n  }\n  else {\n    uVar15 = *unaff_s5 - (int)piVar11;\n  }\n  if ((uVar15 & uVar10) != 0) {\n    uVar7 = 0;\n    goto LAB_0002514c;\n  }\n  if (uVar7 == 1) {\n    if (iVar14 != 1) {\n      if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }\n      else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));\n    }\n    if ((int)uVar5 < 0) {\n      if (unaff_s2 < piVar11) {\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }\n      else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }\n    }\n    if ((int)unaff_s0 < 10) {\n      uVar7 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }\n    piVar13 = (int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar11 < unaff_s2) {\n      uVar7 = (uint)(piVar11 == piVar13);\n    }\n    else {\n      if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);\n      uVar7 = (uint)(unaff_s2 == (int *)0x0);\n    }\n    goto LAB_0002514c;\n  }\nLAB_00024fe0:\n  uVar10 = unaff_s0 + 1;\n  unaff_s2 = (int *)(uVar10 * 4);\n  local_30 = 0;\n  if (unaff_s2 < (int *)0x7f01) {\n    piVar11 = (int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));\n  }\n  else {\n    piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2);\n  }\n  if ((int)uVar5 < 0) {\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7);\n    uVar5 = uVar7;\n    if (iVar9 != 0) {\n      if ((int)unaff_s0 <= (int)uVar7) {\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }\n    }\n    iVar9 = 0;\n    if ((piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5)) {\nLAB_000253d0:\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = iVar9;\n      uVar10 = unaff_s0;\n    }\n    else {\n      piVar8 = unaff_s5 + uVar5;\n      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      piVar13 = piVar11 + uVar5;\n      do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = 0;\n      uVar10 = unaff_s0;\n    }\n  }\n  else if ((int)uVar7 < (int)unaff_s0) {\n    iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);\n    if (iVar9 == 0) {\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }\n    else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    piVar13 = piVar11 + uVar10;\n    uVar10 = unaff_s0;\n    if (piVar13[-2] == 0) {\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }\n  }\n  else {\n    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));\n    uVar5 = unaff_s0;\n    do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);\n    if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);\nLAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar10 = 0;\n  }\nLAB_000250b0:\n  uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(piVar11,uVar10,puVar12,iVar14);\n  unaff_s0 = uVar10;\n  if (local_30 != 0) {\n    (*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();\n  }\nLAB_0002514c:\n  while (local_2c != *(int *)puVar4) {\n    (*(code *)PTR___stack_chk_fail_0009d4d0)();\nLAB_00025608:\n    uVar5 = (uint)unaff_s2 >> 0x10;\n    iVar14 = 0xe;\n    if ((uVar5 & 0xff) == 0) {\n      uVar5 = (uint)unaff_s2 >> 0x18;\n      iVar14 = 0x1e;\n      if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }\n    }\nLAB_000255b8:\n    uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;\nLAB_0002547c:\n    unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));\nLAB_00025484:\n    piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar13 != (int *)0x0) {\n      uVar7 = (uint)(unaff_s2 == piVar13);\n    }\n  }\n  return uVar7;\n}\n\n" (function_definition "uint __gmpz_congruent_p(int param_1,int param_2,int param_3)\n\n{\n  uint *puVar1;\n  int *piVar2;\n  uint uVar3;\n  undefined *puVar4;\n  uint uVar5;\n  uint *puVar6;\n  uint uVar7;\n  int *piVar8;\n  int iVar9;\n  uint uVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  int *piVar13;\n  uint unaff_s0;\n  int *unaff_s2;\n  int iVar14;\n  int *unaff_s5;\n  uint uVar15;\n  int local_30;\n  int local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_0009d540;\n  iVar14 = *(int *)(param_3 + 4);\n  local_2c = *(int *)PTR___stack_chk_guard_0009d540;\n  if (iVar14 == 0) {\n    iVar14 = (*(code *)PTR___gmpz_cmp_0009d244)();\n    uVar7 = (uint)(iVar14 == 0);\n    goto LAB_0002514c;\n  }\n  if (iVar14 < 0) {\n    iVar14 = -iVar14;\n  }\n  uVar5 = *(uint *)(param_1 + 4);\n  puVar12 = *(undefined4 **)(param_3 + 8);\n  uVar7 = uVar5;\n  if ((int)uVar5 < 0) {\n    uVar7 = -uVar5;\n  }\n  uVar15 = *(uint *)(param_2 + 4);\n  uVar10 = uVar15;\n  if ((int)uVar15 < 0) {\n    uVar10 = -uVar15;\n  }\n  if ((int)uVar7 < (int)uVar10) {\n    unaff_s5 = *(int **)(param_2 + 8);\n    uVar3 = uVar15;\n    unaff_s0 = uVar10;\n  }\n  else {\n    unaff_s5 = *(int **)(param_1 + 8);\n    uVar3 = uVar5;\n    uVar5 = uVar15;\n    unaff_s0 = uVar7;\n    uVar7 = uVar10;\n    param_1 = param_2;\n  }\n  if (uVar5 == 0) {\n    uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14);\n    goto LAB_0002514c;\n  }\n  unaff_s2 = (int *)*puVar12;\n  uVar5 = uVar3 ^ uVar5;\n  piVar13 = *(int **)(param_1 + 8);\n  piVar11 = (int *)*piVar13;\n  uVar10 = (-(int)unaff_s2 & (uint)unaff_s2) - 1;\n  if ((int)uVar5 < 0) {\n    uVar15 = -(int)piVar11 - *unaff_s5;\n  }\n  else {\n    uVar15 = *unaff_s5 - (int)piVar11;\n  }\n  if ((uVar15 & uVar10) != 0) {\n    uVar7 = 0;\n    goto LAB_0002514c;\n  }\n  if (uVar7 == 1) {\n    if (iVar14 != 1) {\n      if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }\n      else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));\n    }\n    if ((int)uVar5 < 0) {\n      if (unaff_s2 < piVar11) {\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }\n      else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }\n    }\n    if ((int)unaff_s0 < 10) {\n      uVar7 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }\n    piVar13 = (int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar11 < unaff_s2) {\n      uVar7 = (uint)(piVar11 == piVar13);\n    }\n    else {\n      if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);\n      uVar7 = (uint)(unaff_s2 == (int *)0x0);\n    }\n    goto LAB_0002514c;\n  }\nLAB_00024fe0:\n  uVar10 = unaff_s0 + 1;\n  unaff_s2 = (int *)(uVar10 * 4);\n  local_30 = 0;\n  if (unaff_s2 < (int *)0x7f01) {\n    piVar11 = (int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));\n  }\n  else {\n    piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2);\n  }\n  if ((int)uVar5 < 0) {\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7);\n    uVar5 = uVar7;\n    if (iVar9 != 0) {\n      if ((int)unaff_s0 <= (int)uVar7) {\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }\n    }\n    iVar9 = 0;\n    if ((piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5)) {\nLAB_000253d0:\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = iVar9;\n      uVar10 = unaff_s0;\n    }\n    else {\n      piVar8 = unaff_s5 + uVar5;\n      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      piVar13 = piVar11 + uVar5;\n      do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = 0;\n      uVar10 = unaff_s0;\n    }\n  }\n  else if ((int)uVar7 < (int)unaff_s0) {\n    iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);\n    if (iVar9 == 0) {\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }\n    else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    piVar13 = piVar11 + uVar10;\n    uVar10 = unaff_s0;\n    if (piVar13[-2] == 0) {\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }\n  }\n  else {\n    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));\n    uVar5 = unaff_s0;\n    do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);\n    if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);\nLAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar10 = 0;\n  }\nLAB_000250b0:\n  uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(piVar11,uVar10,puVar12,iVar14);\n  unaff_s0 = uVar10;\n  if (local_30 != 0) {\n    (*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();\n  }\nLAB_0002514c:\n  while (local_2c != *(int *)puVar4) {\n    (*(code *)PTR___stack_chk_fail_0009d4d0)();\nLAB_00025608:\n    uVar5 = (uint)unaff_s2 >> 0x10;\n    iVar14 = 0xe;\n    if ((uVar5 & 0xff) == 0) {\n      uVar5 = (uint)unaff_s2 >> 0x18;\n      iVar14 = 0x1e;\n      if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }\n    }\nLAB_000255b8:\n    uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;\nLAB_0002547c:\n    unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));\nLAB_00025484:\n    piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar13 != (int *)0x0) {\n      uVar7 = (uint)(unaff_s2 == piVar13);\n    }\n  }\n  return uVar7;\n}" type_identifier (function_declarator "__gmpz_congruent_p(int param_1,int param_2,int param_3)" identifier (parameter_list "(int param_1,int param_2,int param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  uint *puVar1;\n  int *piVar2;\n  uint uVar3;\n  undefined *puVar4;\n  uint uVar5;\n  uint *puVar6;\n  uint uVar7;\n  int *piVar8;\n  int iVar9;\n  uint uVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  int *piVar13;\n  uint unaff_s0;\n  int *unaff_s2;\n  int iVar14;\n  int *unaff_s5;\n  uint uVar15;\n  int local_30;\n  int local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_0009d540;\n  iVar14 = *(int *)(param_3 + 4);\n  local_2c = *(int *)PTR___stack_chk_guard_0009d540;\n  if (iVar14 == 0) {\n    iVar14 = (*(code *)PTR___gmpz_cmp_0009d244)();\n    uVar7 = (uint)(iVar14 == 0);\n    goto LAB_0002514c;\n  }\n  if (iVar14 < 0) {\n    iVar14 = -iVar14;\n  }\n  uVar5 = *(uint *)(param_1 + 4);\n  puVar12 = *(undefined4 **)(param_3 + 8);\n  uVar7 = uVar5;\n  if ((int)uVar5 < 0) {\n    uVar7 = -uVar5;\n  }\n  uVar15 = *(uint *)(param_2 + 4);\n  uVar10 = uVar15;\n  if ((int)uVar15 < 0) {\n    uVar10 = -uVar15;\n  }\n  if ((int)uVar7 < (int)uVar10) {\n    unaff_s5 = *(int **)(param_2 + 8);\n    uVar3 = uVar15;\n    unaff_s0 = uVar10;\n  }\n  else {\n    unaff_s5 = *(int **)(param_1 + 8);\n    uVar3 = uVar5;\n    uVar5 = uVar15;\n    unaff_s0 = uVar7;\n    uVar7 = uVar10;\n    param_1 = param_2;\n  }\n  if (uVar5 == 0) {\n    uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14);\n    goto LAB_0002514c;\n  }\n  unaff_s2 = (int *)*puVar12;\n  uVar5 = uVar3 ^ uVar5;\n  piVar13 = *(int **)(param_1 + 8);\n  piVar11 = (int *)*piVar13;\n  uVar10 = (-(int)unaff_s2 & (uint)unaff_s2) - 1;\n  if ((int)uVar5 < 0) {\n    uVar15 = -(int)piVar11 - *unaff_s5;\n  }\n  else {\n    uVar15 = *unaff_s5 - (int)piVar11;\n  }\n  if ((uVar15 & uVar10) != 0) {\n    uVar7 = 0;\n    goto LAB_0002514c;\n  }\n  if (uVar7 == 1) {\n    if (iVar14 != 1) {\n      if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }\n      else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));\n    }\n    if ((int)uVar5 < 0) {\n      if (unaff_s2 < piVar11) {\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }\n      else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }\n    }\n    if ((int)unaff_s0 < 10) {\n      uVar7 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }\n    piVar13 = (int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar11 < unaff_s2) {\n      uVar7 = (uint)(piVar11 == piVar13);\n    }\n    else {\n      if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);\n      uVar7 = (uint)(unaff_s2 == (int *)0x0);\n    }\n    goto LAB_0002514c;\n  }\nLAB_00024fe0:\n  uVar10 = unaff_s0 + 1;\n  unaff_s2 = (int *)(uVar10 * 4);\n  local_30 = 0;\n  if (unaff_s2 < (int *)0x7f01) {\n    piVar11 = (int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));\n  }\n  else {\n    piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2);\n  }\n  if ((int)uVar5 < 0) {\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7);\n    uVar5 = uVar7;\n    if (iVar9 != 0) {\n      if ((int)unaff_s0 <= (int)uVar7) {\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }\n    }\n    iVar9 = 0;\n    if ((piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5)) {\nLAB_000253d0:\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = iVar9;\n      uVar10 = unaff_s0;\n    }\n    else {\n      piVar8 = unaff_s5 + uVar5;\n      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      piVar13 = piVar11 + uVar5;\n      do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = 0;\n      uVar10 = unaff_s0;\n    }\n  }\n  else if ((int)uVar7 < (int)unaff_s0) {\n    iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);\n    if (iVar9 == 0) {\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }\n    else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    piVar13 = piVar11 + uVar10;\n    uVar10 = unaff_s0;\n    if (piVar13[-2] == 0) {\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }\n  }\n  else {\n    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));\n    uVar5 = unaff_s0;\n    do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);\n    if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);\nLAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar10 = 0;\n  }\nLAB_000250b0:\n  uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(piVar11,uVar10,puVar12,iVar14);\n  unaff_s0 = uVar10;\n  if (local_30 != 0) {\n    (*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();\n  }\nLAB_0002514c:\n  while (local_2c != *(int *)puVar4) {\n    (*(code *)PTR___stack_chk_fail_0009d4d0)();\nLAB_00025608:\n    uVar5 = (uint)unaff_s2 >> 0x10;\n    iVar14 = 0xe;\n    if ((uVar5 & 0xff) == 0) {\n      uVar5 = (uint)unaff_s2 >> 0x18;\n      iVar14 = 0x1e;\n      if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }\n    }\nLAB_000255b8:\n    uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;\nLAB_0002547c:\n    unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));\nLAB_00025484:\n    piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar13 != (int *)0x0) {\n      uVar7 = (uint)(unaff_s2 == piVar13);\n    }\n  }\n  return uVar7;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "uint unaff_s0;" type_identifier identifier ;) (declaration "int *unaff_s2;" primitive_type (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int *unaff_s5;" primitive_type (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar4 = PTR___stack_chk_guard_0009d540;" (assignment_expression "puVar4 = PTR___stack_chk_guard_0009d540" identifier = identifier) ;) (expression_statement "iVar14 = *(int *)(param_3 + 4);" (assignment_expression "iVar14 = *(int *)(param_3 + 4)" identifier = (pointer_expression "*(int *)(param_3 + 4)" * (cast_expression "(int *)(param_3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 4)" ( (binary_expression "param_3 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0009d540;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0009d540" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0009d540" * (cast_expression "(int *)PTR___stack_chk_guard_0009d540" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar14 == 0) {\n    iVar14 = (*(code *)PTR___gmpz_cmp_0009d244)();\n    uVar7 = (uint)(iVar14 == 0);\n    goto LAB_0002514c;\n  }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar14 = (*(code *)PTR___gmpz_cmp_0009d244)();\n    uVar7 = (uint)(iVar14 == 0);\n    goto LAB_0002514c;\n  }" { (expression_statement "iVar14 = (*(code *)PTR___gmpz_cmp_0009d244)();" (assignment_expression "iVar14 = (*(code *)PTR___gmpz_cmp_0009d244)()" identifier = (call_expression "(*(code *)PTR___gmpz_cmp_0009d244)()" (parenthesized_expression "(*(code *)PTR___gmpz_cmp_0009d244)" ( (pointer_expression "*(code *)PTR___gmpz_cmp_0009d244" * (cast_expression "(code *)PTR___gmpz_cmp_0009d244" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "uVar7 = (uint)(iVar14 == 0);" (assignment_expression "uVar7 = (uint)(iVar14 == 0)" identifier = (call_expression "(uint)(iVar14 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )))) ;) (goto_statement "goto LAB_0002514c;" goto statement_identifier ;) })) (if_statement "if (iVar14 < 0) {\n    iVar14 = -iVar14;\n  }" if (parenthesized_expression "(iVar14 < 0)" ( (binary_expression "iVar14 < 0" identifier < number_literal) )) (compound_statement "{\n    iVar14 = -iVar14;\n  }" { (expression_statement "iVar14 = -iVar14;" (assignment_expression "iVar14 = -iVar14" identifier = (unary_expression "-iVar14" - identifier)) ;) })) (expression_statement "uVar5 = *(uint *)(param_1 + 4);" (assignment_expression "uVar5 = *(uint *)(param_1 + 4)" identifier = (pointer_expression "*(uint *)(param_1 + 4)" * (cast_expression "(uint *)(param_1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "puVar12 = *(undefined4 **)(param_3 + 8);" (assignment_expression "puVar12 = *(undefined4 **)(param_3 + 8)" identifier = (pointer_expression "*(undefined4 **)(param_3 + 8)" * (cast_expression "(undefined4 **)(param_3 + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 8)" ( (binary_expression "param_3 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = uVar5;" (assignment_expression "uVar7 = uVar5" identifier = identifier) ;) (if_statement "if ((int)uVar5 < 0) {\n    uVar7 = -uVar5;\n  }" if (parenthesized_expression "((int)uVar5 < 0)" ( (binary_expression "(int)uVar5 < 0" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    uVar7 = -uVar5;\n  }" { (expression_statement "uVar7 = -uVar5;" (assignment_expression "uVar7 = -uVar5" identifier = (unary_expression "-uVar5" - identifier)) ;) })) (expression_statement "uVar15 = *(uint *)(param_2 + 4);" (assignment_expression "uVar15 = *(uint *)(param_2 + 4)" identifier = (pointer_expression "*(uint *)(param_2 + 4)" * (cast_expression "(uint *)(param_2 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = uVar15;" (assignment_expression "uVar10 = uVar15" identifier = identifier) ;) (if_statement "if ((int)uVar15 < 0) {\n    uVar10 = -uVar15;\n  }" if (parenthesized_expression "((int)uVar15 < 0)" ( (binary_expression "(int)uVar15 < 0" (cast_expression "(int)uVar15" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    uVar10 = -uVar15;\n  }" { (expression_statement "uVar10 = -uVar15;" (assignment_expression "uVar10 = -uVar15" identifier = (unary_expression "-uVar15" - identifier)) ;) })) (if_statement "if ((int)uVar7 < (int)uVar10) {\n    unaff_s5 = *(int **)(param_2 + 8);\n    uVar3 = uVar15;\n    unaff_s0 = uVar10;\n  }\n  else {\n    unaff_s5 = *(int **)(param_1 + 8);\n    uVar3 = uVar5;\n    uVar5 = uVar15;\n    unaff_s0 = uVar7;\n    uVar7 = uVar10;\n    param_1 = param_2;\n  }" if (parenthesized_expression "((int)uVar7 < (int)uVar10)" ( (binary_expression "(int)uVar7 < (int)uVar10" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    unaff_s5 = *(int **)(param_2 + 8);\n    uVar3 = uVar15;\n    unaff_s0 = uVar10;\n  }" { (expression_statement "unaff_s5 = *(int **)(param_2 + 8);" (assignment_expression "unaff_s5 = *(int **)(param_2 + 8)" identifier = (pointer_expression "*(int **)(param_2 + 8)" * (cast_expression "(int **)(param_2 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = uVar15;" (assignment_expression "uVar3 = uVar15" identifier = identifier) ;) (expression_statement "unaff_s0 = uVar10;" (assignment_expression "unaff_s0 = uVar10" identifier = identifier) ;) }) (else_clause "else {\n    unaff_s5 = *(int **)(param_1 + 8);\n    uVar3 = uVar5;\n    uVar5 = uVar15;\n    unaff_s0 = uVar7;\n    uVar7 = uVar10;\n    param_1 = param_2;\n  }" else (compound_statement "{\n    unaff_s5 = *(int **)(param_1 + 8);\n    uVar3 = uVar5;\n    uVar5 = uVar15;\n    unaff_s0 = uVar7;\n    uVar7 = uVar10;\n    param_1 = param_2;\n  }" { (expression_statement "unaff_s5 = *(int **)(param_1 + 8);" (assignment_expression "unaff_s5 = *(int **)(param_1 + 8)" identifier = (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = uVar5;" (assignment_expression "uVar3 = uVar5" identifier = identifier) ;) (expression_statement "uVar5 = uVar15;" (assignment_expression "uVar5 = uVar15" identifier = identifier) ;) (expression_statement "unaff_s0 = uVar7;" (assignment_expression "unaff_s0 = uVar7" identifier = identifier) ;) (expression_statement "uVar7 = uVar10;" (assignment_expression "uVar7 = uVar10" identifier = identifier) ;) (expression_statement "param_1 = param_2;" (assignment_expression "param_1 = param_2" identifier = identifier) ;) }))) (if_statement "if (uVar5 == 0) {\n    uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14);\n    goto LAB_0002514c;\n  }" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14);\n    goto LAB_0002514c;\n  }" { (expression_statement "uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14);" (assignment_expression "uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14)" identifier = (call_expression "(*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14)" (parenthesized_expression "(*(code *)PTR___gmpn_divisible_p_0009d0f8)" ( (pointer_expression "*(code *)PTR___gmpn_divisible_p_0009d0f8" * (cast_expression "(code *)PTR___gmpn_divisible_p_0009d0f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s5,unaff_s0,puVar12,iVar14)" ( identifier , identifier , identifier , identifier )))) ;) (goto_statement "goto LAB_0002514c;" goto statement_identifier ;) })) (expression_statement "unaff_s2 = (int *)*puVar12;" (assignment_expression "unaff_s2 = (int *)*puVar12" identifier = (cast_expression "(int *)*puVar12" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar12" * identifier))) ;) (expression_statement "uVar5 = uVar3 ^ uVar5;" (assignment_expression "uVar5 = uVar3 ^ uVar5" identifier = (binary_expression "uVar3 ^ uVar5" identifier ^ identifier)) ;) (expression_statement "piVar13 = *(int **)(param_1 + 8);" (assignment_expression "piVar13 = *(int **)(param_1 + 8)" identifier = (pointer_expression "*(int **)(param_1 + 8)" * (cast_expression "(int **)(param_1 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (expression_statement "piVar11 = (int *)*piVar13;" (assignment_expression "piVar11 = (int *)*piVar13" identifier = (cast_expression "(int *)*piVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar13" * identifier))) ;) (expression_statement "uVar10 = (-(int)unaff_s2 & (uint)unaff_s2) - 1;" (assignment_expression "uVar10 = (-(int)unaff_s2 & (uint)unaff_s2) - 1" identifier = (binary_expression "(-(int)unaff_s2 & (uint)unaff_s2) - 1" (parenthesized_expression "(-(int)unaff_s2 & (uint)unaff_s2)" ( (binary_expression "-(int)unaff_s2 & (uint)unaff_s2" (unary_expression "-(int)unaff_s2" - (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier)) & (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier)) )) - number_literal)) ;) (if_statement "if ((int)uVar5 < 0) {\n    uVar15 = -(int)piVar11 - *unaff_s5;\n  }\n  else {\n    uVar15 = *unaff_s5 - (int)piVar11;\n  }" if (parenthesized_expression "((int)uVar5 < 0)" ( (binary_expression "(int)uVar5 < 0" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    uVar15 = -(int)piVar11 - *unaff_s5;\n  }" { (expression_statement "uVar15 = -(int)piVar11 - *unaff_s5;" (assignment_expression "uVar15 = -(int)piVar11 - *unaff_s5" identifier = (binary_expression "-(int)piVar11 - *unaff_s5" (unary_expression "-(int)piVar11" - (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier)) - (pointer_expression "*unaff_s5" * identifier))) ;) }) (else_clause "else {\n    uVar15 = *unaff_s5 - (int)piVar11;\n  }" else (compound_statement "{\n    uVar15 = *unaff_s5 - (int)piVar11;\n  }" { (expression_statement "uVar15 = *unaff_s5 - (int)piVar11;" (assignment_expression "uVar15 = *unaff_s5 - (int)piVar11" identifier = (binary_expression "*unaff_s5 - (int)piVar11" (pointer_expression "*unaff_s5" * identifier) - (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }))) (if_statement "if ((uVar15 & uVar10) != 0) {\n    uVar7 = 0;\n    goto LAB_0002514c;\n  }" if (parenthesized_expression "((uVar15 & uVar10) != 0)" ( (binary_expression "(uVar15 & uVar10) != 0" (parenthesized_expression "(uVar15 & uVar10)" ( (binary_expression "uVar15 & uVar10" identifier & identifier) )) != number_literal) )) (compound_statement "{\n    uVar7 = 0;\n    goto LAB_0002514c;\n  }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0002514c;" goto statement_identifier ;) })) (if_statement "if (uVar7 == 1) {\n    if (iVar14 != 1) {\n      if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }\n      else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));\n    }\n    if ((int)uVar5 < 0) {\n      if (unaff_s2 < piVar11) {\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }\n      else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }\n    }\n    if ((int)unaff_s0 < 10) {\n      uVar7 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }\n    piVar13 = (int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar11 < unaff_s2) {\n      uVar7 = (uint)(piVar11 == piVar13);\n    }\n    else {\n      if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);\n      uVar7 = (uint)(unaff_s2 == (int *)0x0);\n    }\n    goto LAB_0002514c;\n  }" if (parenthesized_expression "(uVar7 == 1)" ( (binary_expression "uVar7 == 1" identifier == number_literal) )) (compound_statement "{\n    if (iVar14 != 1) {\n      if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }\n      else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));\n    }\n    if ((int)uVar5 < 0) {\n      if (unaff_s2 < piVar11) {\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }\n      else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }\n    }\n    if ((int)unaff_s0 < 10) {\n      uVar7 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }\n    piVar13 = (int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar11 < unaff_s2) {\n      uVar7 = (uint)(piVar11 == piVar13);\n    }\n    else {\n      if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);\n      uVar7 = (uint)(unaff_s2 == (int *)0x0);\n    }\n    goto LAB_0002514c;\n  }" { (if_statement "if (iVar14 != 1) {\n      if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }\n      else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));\n    }" if (parenthesized_expression "(iVar14 != 1)" ( (binary_expression "iVar14 != 1" identifier != number_literal) )) (compound_statement "{\n      if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }\n      else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));\n    }" { (if_statement "if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))\n      goto LAB_00024fe0;" if (parenthesized_expression "(((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))" ( (binary_expression "((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1])" (parenthesized_expression "((iVar14 != 2) || (unaff_s2 == (int *)0x0))" ( (binary_expression "(iVar14 != 2) || (unaff_s2 == (int *)0x0)" (parenthesized_expression "(iVar14 != 2)" ( (binary_expression "iVar14 != 2" identifier != number_literal) )) || (parenthesized_expression "(unaff_s2 == (int *)0x0)" ( (binary_expression "unaff_s2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) || (parenthesized_expression "(uVar10 < (uint)puVar12[1])" ( (binary_expression "uVar10 < (uint)puVar12[1]" identifier < (cast_expression "(uint)puVar12[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar12[1]" identifier [ number_literal ]))) ))) )) (goto_statement "goto LAB_00024fe0;" goto statement_identifier ;)) (if_statement "if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }\n      else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }" if (parenthesized_expression "(((uint)unaff_s2 & 0xff) == 0)" ( (binary_expression "((uint)unaff_s2 & 0xff) == 0" (parenthesized_expression "((uint)unaff_s2 & 0xff)" ( (binary_expression "(uint)unaff_s2 & 0xff" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }" { (expression_statement "uVar7 = (uint)unaff_s2 >> 8;" (assignment_expression "uVar7 = (uint)unaff_s2 >> 8" identifier = (binary_expression "(uint)unaff_s2 >> 8" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;) (expression_statement "iVar14 = 6;" (assignment_expression "iVar14 = 6" identifier = number_literal) ;) (if_statement "if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }" if (parenthesized_expression "((uVar7 & 0xff) == 0)" ( (binary_expression "(uVar7 & 0xff) == 0" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }" { (expression_statement "uVar7 = (uint)unaff_s2 >> 0x10;" (assignment_expression "uVar7 = (uint)unaff_s2 >> 0x10" identifier = (binary_expression "(uint)unaff_s2 >> 0x10" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;) (expression_statement "iVar14 = 0xe;" (assignment_expression "iVar14 = 0xe" identifier = number_literal) ;) (if_statement "if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }" if (parenthesized_expression "((uVar7 & 0xff) == 0)" ( (binary_expression "(uVar7 & 0xff) == 0" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }" { (expression_statement "uVar7 = (uint)unaff_s2 >> 0x18;" (assignment_expression "uVar7 = (uint)unaff_s2 >> 0x18" identifier = (binary_expression "(uint)unaff_s2 >> 0x18" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;) (expression_statement "iVar14 = 0x1e;" (assignment_expression "iVar14 = 0x1e" identifier = number_literal) ;) (if_statement "if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar14 = 0x16;\n            }" { (expression_statement "iVar14 = 0x16;" (assignment_expression "iVar14 = 0x16" identifier = number_literal) ;) })) })) })) (expression_statement "uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;" (assignment_expression "uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14" identifier = (binary_expression "(uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14" (cast_expression "(uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7]" identifier [ (binary_expression "-uVar7 & uVar7" (unary_expression "-uVar7" - identifier) & identifier) ]))) + identifier)) ;) }) (else_clause "else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }" else (compound_statement "{\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }" { (expression_statement "uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;" (assignment_expression "uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2" identifier = (binary_expression "(byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2" (cast_expression "(byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2]" identifier [ (binary_expression "-(int)unaff_s2 & (uint)unaff_s2" (unary_expression "-(int)unaff_s2" - (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier)) & (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier)) ])) - number_literal)) ;) }))) (expression_statement "unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));" (assignment_expression "unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f))" identifier = (cast_expression "(int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f))" ( (binary_expression "puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f)" (binary_expression "puVar12[1] << (-uVar7 & 0x1f)" (subscript_expression "puVar12[1]" identifier [ number_literal ]) << (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "(uint)unaff_s2 >> (uVar7 & 0x1f)" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )))) ;) })) (if_statement "if ((int)uVar5 < 0) {\n      if (unaff_s2 < piVar11) {\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }\n      else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }\n    }" if (parenthesized_expression "((int)uVar5 < 0)" ( (binary_expression "(int)uVar5 < 0" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      if (unaff_s2 < piVar11) {\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }\n      else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }\n    }" { (if_statement "if (unaff_s2 < piVar11) {\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }\n      else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }" if (parenthesized_expression "(unaff_s2 < piVar11)" ( (binary_expression "unaff_s2 < piVar11" identifier < identifier) )) (compound_statement "{\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }" { (if_statement "if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }" if (parenthesized_expression "(unaff_s2 < (int *)0x10000)" ( (binary_expression "unaff_s2 < (int *)0x10000" identifier < (cast_expression "(int *)0x10000" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (if_statement "if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }" if (parenthesized_expression "((int *)0xff < unaff_s2)" ( (binary_expression "(int *)0xff < unaff_s2" (cast_expression "(int *)0xff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n            iVar14 = 0x18;\n          }" { (expression_statement "iVar14 = 0x18;" (assignment_expression "iVar14 = 0x18" identifier = number_literal) ;) })) (expression_statement "iVar9 = 9;" (assignment_expression "iVar9 = 9" identifier = number_literal) ;) (if_statement "if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }" if (parenthesized_expression "((int *)0xff >= unaff_s2)" ( (binary_expression "(int *)0xff >= unaff_s2" (cast_expression "(int *)0xff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) >= identifier) )) (compound_statement "{\n            iVar9 = 1;\n          }" { (expression_statement "iVar9 = 1;" (assignment_expression "iVar9 = 1" identifier = number_literal) ;) })) }) (else_clause "else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }" else (compound_statement "{\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }" { (expression_statement "iVar14 = 0x10;" (assignment_expression "iVar14 = 0x10" identifier = number_literal) ;) (if_statement "if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }" if (parenthesized_expression "((int *)0xffffff < unaff_s2)" ( (binary_expression "(int *)0xffffff < unaff_s2" (cast_expression "(int *)0xffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n            iVar14 = 8;\n          }" { (expression_statement "iVar14 = 8;" (assignment_expression "iVar14 = 8" identifier = number_literal) ;) })) (expression_statement "iVar9 = 0x19;" (assignment_expression "iVar9 = 0x19" identifier = number_literal) ;) (if_statement "if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }" if (parenthesized_expression "((int *)0xffffff >= unaff_s2)" ( (binary_expression "(int *)0xffffff >= unaff_s2" (cast_expression "(int *)0xffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) >= identifier) )) (compound_statement "{\n            iVar9 = 0x11;\n          }" { (expression_statement "iVar9 = 0x11;" (assignment_expression "iVar9 = 0x11" identifier = number_literal) ;) })) }))) (expression_statement "piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));" (assignment_expression "piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f))" identifier = (cast_expression "(int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f))" ( (binary_expression "(int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f)" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) << (parenthesized_expression "(iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f)" ( (binary_expression "iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f" (binary_expression "iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]" identifier - (cast_expression "(uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]" identifier [ (binary_expression "(uint)unaff_s2 >> iVar9" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> identifier) ])))) & number_literal) ))) )))) ;) (if_statement "if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }" if (parenthesized_expression "(piVar13 < piVar11)" ( (binary_expression "piVar13 < piVar11" identifier < identifier) )) (compound_statement "{\n          piVar13 = (int *)((int)piVar13 << 1);\n        }" { (expression_statement "piVar13 = (int *)((int)piVar13 << 1);" (assignment_expression "piVar13 = (int *)((int)piVar13 << 1)" identifier = (cast_expression "(int *)((int)piVar13 << 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar13 << 1)" ( (binary_expression "(int)piVar13 << 1" (cast_expression "(int)piVar13" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) })) (expression_statement "piVar11 = (int *)((int)piVar13 - (int)piVar11);" (assignment_expression "piVar11 = (int *)((int)piVar13 - (int)piVar11)" identifier = (cast_expression "(int *)((int)piVar13 - (int)piVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar13 - (int)piVar11)" ( (binary_expression "(int)piVar13 - (int)piVar11" (cast_expression "(int)piVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }) (else_clause "else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }" else (compound_statement "{\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }" { (expression_statement "piVar11 = (int *)((int)unaff_s2 - (int)piVar11);" (assignment_expression "piVar11 = (int *)((int)unaff_s2 - (int)piVar11)" identifier = (cast_expression "(int *)((int)unaff_s2 - (int)piVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s2 - (int)piVar11)" ( (binary_expression "(int)unaff_s2 - (int)piVar11" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }))) })) (if_statement "if ((int)unaff_s0 < 10) {\n      uVar7 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }" if (parenthesized_expression "((int)unaff_s0 < 10)" ( (binary_expression "(int)unaff_s0 < 10" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      uVar7 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }" { (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) (if_statement "if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;" if (parenthesized_expression "(((uint)unaff_s2 & 1) != 0)" ( (binary_expression "((uint)unaff_s2 & 1) != 0" (parenthesized_expression "((uint)unaff_s2 & 1)" ( (binary_expression "(uint)unaff_s2 & 1" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00025484;" goto statement_identifier ;)) (if_statement "if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }" if (parenthesized_expression "(((uint)unaff_s2 & 0xff) == 0)" ( (binary_expression "((uint)unaff_s2 & 0xff) == 0" (parenthesized_expression "((uint)unaff_s2 & 0xff)" ( (binary_expression "(uint)unaff_s2 & 0xff" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }" { (expression_statement "uVar5 = (uint)unaff_s2 >> 8;" (assignment_expression "uVar5 = (uint)unaff_s2 >> 8" identifier = (binary_expression "(uint)unaff_s2 >> 8" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;) (expression_statement "iVar14 = 6;" (assignment_expression "iVar14 = 6" identifier = number_literal) ;) (if_statement "if ((uVar5 & 0xff) == 0) goto LAB_00025608;" if (parenthesized_expression "((uVar5 & 0xff) == 0)" ( (binary_expression "(uVar5 & 0xff) == 0" (parenthesized_expression "(uVar5 & 0xff)" ( (binary_expression "uVar5 & 0xff" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00025608;" goto statement_identifier ;)) (goto_statement "goto LAB_000255b8;" goto statement_identifier ;) })) (expression_statement "uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;" (assignment_expression "uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2" identifier = (binary_expression "(byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2" (cast_expression "(byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2]" identifier [ (binary_expression "-(int)unaff_s2 & (uint)unaff_s2" (unary_expression "-(int)unaff_s2" - (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier)) & (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier)) ])) - number_literal)) ;) (goto_statement "goto LAB_0002547c;" goto statement_identifier ;) })) (expression_statement "piVar13 = (int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);" (assignment_expression "piVar13 = (int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2)" identifier = (cast_expression "(int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2)" (parenthesized_expression "(*(code *)PTR___gmpn_mod_1_0009d4c0)" ( (pointer_expression "*(code *)PTR___gmpn_mod_1_0009d4c0" * (cast_expression "(code *)PTR___gmpn_mod_1_0009d4c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s5,unaff_s0,unaff_s2)" ( identifier , identifier , identifier ))))) ;) (if_statement "if (piVar11 < unaff_s2) {\n      uVar7 = (uint)(piVar11 == piVar13);\n    }\n    else {\n      if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);\n      uVar7 = (uint)(unaff_s2 == (int *)0x0);\n    }" if (parenthesized_expression "(piVar11 < unaff_s2)" ( (binary_expression "piVar11 < unaff_s2" identifier < identifier) )) (compound_statement "{\n      uVar7 = (uint)(piVar11 == piVar13);\n    }" { (expression_statement "uVar7 = (uint)(piVar11 == piVar13);" (assignment_expression "uVar7 = (uint)(piVar11 == piVar13)" identifier = (call_expression "(uint)(piVar11 == piVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar11 == piVar13)" ( (binary_expression "piVar11 == piVar13" identifier == identifier) )))) ;) }) (else_clause "else {\n      if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);\n      uVar7 = (uint)(unaff_s2 == (int *)0x0);\n    }" else (compound_statement "{\n      if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);\n      uVar7 = (uint)(unaff_s2 == (int *)0x0);\n    }" { (if_statement "if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }" if (parenthesized_expression "(unaff_s2 == (int *)0x0)" ( (binary_expression "unaff_s2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        trap(7);\n      }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);" (assignment_expression "unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13)" identifier = (cast_expression "(int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13)" ( (binary_expression "(uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13" (binary_expression "(uint)piVar11 % (uint)unaff_s2" (cast_expression "(uint)piVar11" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier)) ^ (cast_expression "(uint)piVar13" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "uVar7 = (uint)(unaff_s2 == (int *)0x0);" (assignment_expression "uVar7 = (uint)(unaff_s2 == (int *)0x0)" identifier = (call_expression "(uint)(unaff_s2 == (int *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(unaff_s2 == (int *)0x0)" ( (binary_expression "unaff_s2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )))) ;) }))) (goto_statement "goto LAB_0002514c;" goto statement_identifier ;) })) (labeled_statement "LAB_00024fe0:\n  uVar10 = unaff_s0 + 1;" statement_identifier : (expression_statement "uVar10 = unaff_s0 + 1;" (assignment_expression "uVar10 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;)) (expression_statement "unaff_s2 = (int *)(uVar10 * 4);" (assignment_expression "unaff_s2 = (int *)(uVar10 * 4)" identifier = (cast_expression "(int *)(uVar10 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 * 4)" ( (binary_expression "uVar10 * 4" identifier * number_literal) )))) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (if_statement "if (unaff_s2 < (int *)0x7f01) {\n    piVar11 = (int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));\n  }\n  else {\n    piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2);\n  }" if (parenthesized_expression "(unaff_s2 < (int *)0x7f01)" ( (binary_expression "unaff_s2 < (int *)0x7f01" identifier < (cast_expression "(int *)0x7f01" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    piVar11 = (int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));\n  }" { (expression_statement "piVar11 = (int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));" (assignment_expression "piVar11 = (int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8))" identifier = (cast_expression "(int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8))" ( (binary_expression "&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8)" (pointer_expression "&stack0xffffffb8" & identifier) + (unary_expression "-((int)unaff_s2 + 7U & 0xfffffff8)" - (parenthesized_expression "((int)unaff_s2 + 7U & 0xfffffff8)" ( (binary_expression "(int)unaff_s2 + 7U & 0xfffffff8" (binary_expression "(int)unaff_s2 + 7U" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) & number_literal) )))) )))) ;) }) (else_clause "else {\n    piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2);\n  }" else (compound_statement "{\n    piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2);\n  }" { (expression_statement "piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2);" (assignment_expression "piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2)" identifier = (cast_expression "(int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2)" (parenthesized_expression "(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)" ( (pointer_expression "*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0" * (cast_expression "(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_30,unaff_s2)" ( (pointer_expression "&local_30" & identifier) , identifier ))))) ;) }))) (if_statement "if ((int)uVar5 < 0) {\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7);\n    uVar5 = uVar7;\n    if (iVar9 != 0) {\n      if ((int)unaff_s0 <= (int)uVar7) {\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }\n    }\n    iVar9 = 0;\n    if ((piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5)) {\nLAB_000253d0:\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = iVar9;\n      uVar10 = unaff_s0;\n    }\n    else {\n      piVar8 = unaff_s5 + uVar5;\n      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      piVar13 = piVar11 + uVar5;\n      do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = 0;\n      uVar10 = unaff_s0;\n    }\n  }\n  else if ((int)uVar7 < (int)unaff_s0) {\n    iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);\n    if (iVar9 == 0) {\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }\n    else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    piVar13 = piVar11 + uVar10;\n    uVar10 = unaff_s0;\n    if (piVar13[-2] == 0) {\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }\n  }\n  else {\n    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));\n    uVar5 = unaff_s0;\n    do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);\n    if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);\nLAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar10 = 0;\n  }" if (parenthesized_expression "((int)uVar5 < 0)" ( (binary_expression "(int)uVar5 < 0" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7);\n    uVar5 = uVar7;\n    if (iVar9 != 0) {\n      if ((int)unaff_s0 <= (int)uVar7) {\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }\n    }\n    iVar9 = 0;\n    if ((piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5)) {\nLAB_000253d0:\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = iVar9;\n      uVar10 = unaff_s0;\n    }\n    else {\n      piVar8 = unaff_s5 + uVar5;\n      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      piVar13 = piVar11 + uVar5;\n      do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = 0;\n      uVar10 = unaff_s0;\n    }\n  }" { (expression_statement "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7)" identifier = (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7)" (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 "(piVar11,unaff_s5,piVar13,uVar7)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "uVar5 = uVar7;" (assignment_expression "uVar5 = uVar7" identifier = identifier) ;) (if_statement "if (iVar9 != 0) {\n      if ((int)unaff_s0 <= (int)uVar7) {\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }\n    }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      if ((int)unaff_s0 <= (int)uVar7) {\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }\n    }" { (if_statement "if ((int)unaff_s0 <= (int)uVar7) {\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }" if (parenthesized_expression "((int)unaff_s0 <= (int)uVar7)" ( (binary_expression "(int)unaff_s0 <= (int)uVar7" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }" { (labeled_statement "LAB_00025594:\n        unaff_s2 = piVar11 + uVar10;" statement_identifier : (expression_statement "unaff_s2 = piVar11 + uVar10;" (assignment_expression "unaff_s2 = piVar11 + uVar10" identifier = (binary_expression "piVar11 + uVar10" identifier + identifier)) ;)) (expression_statement "unaff_s2[-1] = 1;" (assignment_expression "unaff_s2[-1] = 1" (subscript_expression "unaff_s2[-1]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_000250b0;" goto statement_identifier ;) })) (expression_statement "uVar5 = uVar7 + 1;" (assignment_expression "uVar5 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "piVar13 = unaff_s5 + uVar7;" (assignment_expression "piVar13 = unaff_s5 + uVar7" identifier = (binary_expression "unaff_s5 + uVar7" identifier + identifier)) ;) (expression_statement "iVar9 = *piVar13;" (assignment_expression "iVar9 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "piVar11[uVar7] = iVar9 + 1;" (assignment_expression "piVar11[uVar7] = iVar9 + 1" (subscript_expression "piVar11[uVar7]" identifier [ identifier ]) = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (if_statement "if (iVar9 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }" if (parenthesized_expression "(iVar9 + 1 == 0)" ( (binary_expression "iVar9 + 1 == 0" (binary_expression "iVar9 + 1" identifier + number_literal) == number_literal) )) (compound_statement "{\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }" { (if_statement "if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;" if (parenthesized_expression "((int)unaff_s0 <= (int)uVar5)" ( (binary_expression "(int)unaff_s0 <= (int)uVar5" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00025594;" goto statement_identifier ;)) (expression_statement "uVar5 = uVar7 + 2;" (assignment_expression "uVar5 = uVar7 + 2" identifier = (binary_expression "uVar7 + 2" identifier + number_literal)) ;) (expression_statement "iVar9 = unaff_s5[uVar7 + 1] + 1;" (assignment_expression "iVar9 = unaff_s5[uVar7 + 1] + 1" identifier = (binary_expression "unaff_s5[uVar7 + 1] + 1" (subscript_expression "unaff_s5[uVar7 + 1]" identifier [ (binary_expression "uVar7 + 1" identifier + number_literal) ]) + number_literal)) ;) (expression_statement "piVar11[uVar7 + 1] = iVar9;" (assignment_expression "piVar11[uVar7 + 1] = iVar9" (subscript_expression "piVar11[uVar7 + 1]" identifier [ (binary_expression "uVar7 + 1" identifier + number_literal) ]) = identifier) ;) (expression_statement "piVar8 = piVar11 + uVar7;" (assignment_expression "piVar8 = piVar11 + uVar7" identifier = (binary_expression "piVar11 + uVar7" identifier + identifier)) ;) (while_statement "while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }" while (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }" { (if_statement "if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }" if (parenthesized_expression "(unaff_s0 == uVar5)" ( (binary_expression "unaff_s0 == uVar5" identifier == identifier) )) (compound_statement "{\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }" { (expression_statement "iVar9 = 1;" (assignment_expression "iVar9 = 1" identifier = number_literal) ;) (expression_statement "unaff_s0 = uVar10;" (assignment_expression "unaff_s0 = uVar10" identifier = identifier) ;) (goto_statement "goto LAB_000253d0;" goto statement_identifier ;) })) (expression_statement "piVar2 = piVar13 + 2;" (assignment_expression "piVar2 = piVar13 + 2" identifier = (binary_expression "piVar13 + 2" identifier + number_literal)) ;) (expression_statement "uVar5 = uVar5 + 1;" (assignment_expression "uVar5 = uVar5 + 1" identifier = (binary_expression "uVar5 + 1" identifier + number_literal)) ;) (expression_statement "piVar13 = piVar13 + 1;" (assignment_expression "piVar13 = piVar13 + 1" identifier = (binary_expression "piVar13 + 1" identifier + number_literal)) ;) (expression_statement "iVar9 = *piVar2 + 1;" (assignment_expression "iVar9 = *piVar2 + 1" identifier = (binary_expression "*piVar2 + 1" (pointer_expression "*piVar2" * identifier) + number_literal)) ;) (expression_statement "piVar8[2] = iVar9;" (assignment_expression "piVar8[2] = iVar9" (subscript_expression "piVar8[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) })) })) })) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (if_statement "if ((piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5)) {\nLAB_000253d0:\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = iVar9;\n      uVar10 = unaff_s0;\n    }\n    else {\n      piVar8 = unaff_s5 + uVar5;\n      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      piVar13 = piVar11 + uVar5;\n      do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = 0;\n      uVar10 = unaff_s0;\n    }" if (parenthesized_expression "((piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5))" ( (binary_expression "(piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5)" (parenthesized_expression "(piVar11 == unaff_s5)" ( (binary_expression "piVar11 == unaff_s5" identifier == identifier) )) || (parenthesized_expression "((int)unaff_s0 <= (int)uVar5)" ( (binary_expression "(int)unaff_s0 <= (int)uVar5" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\nLAB_000253d0:\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = iVar9;\n      uVar10 = unaff_s0;\n    }" { (labeled_statement "LAB_000253d0:\n      unaff_s2 = piVar11 + uVar10;" statement_identifier : (expression_statement "unaff_s2 = piVar11 + uVar10;" (assignment_expression "unaff_s2 = piVar11 + uVar10" identifier = (binary_expression "piVar11 + uVar10" identifier + identifier)) ;)) (expression_statement "unaff_s2[-1] = iVar9;" (assignment_expression "unaff_s2[-1] = iVar9" (subscript_expression "unaff_s2[-1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar10 = unaff_s0;" (assignment_expression "uVar10 = unaff_s0" identifier = identifier) ;) }) (else_clause "else {\n      piVar8 = unaff_s5 + uVar5;\n      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      piVar13 = piVar11 + uVar5;\n      do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = 0;\n      uVar10 = unaff_s0;\n    }" else (compound_statement "{\n      piVar8 = unaff_s5 + uVar5;\n      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      piVar13 = piVar11 + uVar5;\n      do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = 0;\n      uVar10 = unaff_s0;\n    }" { (expression_statement "piVar8 = unaff_s5 + uVar5;" (assignment_expression "piVar8 = unaff_s5 + uVar5" identifier = (binary_expression "unaff_s5 + uVar5" identifier + identifier)) ;) (expression_statement "unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));" (assignment_expression "unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1))" identifier = (cast_expression "(int *)((int)unaff_s5 + (int)(unaff_s2 + -1))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s5 + (int)(unaff_s2 + -1))" ( (binary_expression "(int)unaff_s5 + (int)(unaff_s2 + -1)" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(unaff_s2 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s2 + -1)" ( (binary_expression "unaff_s2 + -1" identifier + number_literal) )))) )))) ;) (expression_statement "piVar13 = piVar11 + uVar5;" (assignment_expression "piVar13 = piVar11 + uVar5" identifier = (binary_expression "piVar11 + uVar5" identifier + identifier)) ;) (do_statement "do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);" do (compound_statement "{\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      }" { (expression_statement "iVar9 = *piVar8;" (assignment_expression "iVar9 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) (expression_statement "*piVar13 = iVar9;" (assignment_expression "*piVar13 = iVar9" (pointer_expression "*piVar13" * identifier) = identifier) ;) (expression_statement "piVar13 = piVar13 + 1;" (assignment_expression "piVar13 = piVar13 + 1" identifier = (binary_expression "piVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(unaff_s5 != piVar8)" ( (binary_expression "unaff_s5 != piVar8" identifier != identifier) )) ;) (expression_statement "unaff_s2 = piVar11 + uVar10;" (assignment_expression "unaff_s2 = piVar11 + uVar10" identifier = (binary_expression "piVar11 + uVar10" identifier + identifier)) ;) (expression_statement "unaff_s2[-1] = 0;" (assignment_expression "unaff_s2[-1] = 0" (subscript_expression "unaff_s2[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar10 = unaff_s0;" (assignment_expression "uVar10 = unaff_s0" identifier = identifier) ;) }))) }) (else_clause "else if ((int)uVar7 < (int)unaff_s0) {\n    iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);\n    if (iVar9 == 0) {\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }\n    else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    piVar13 = piVar11 + uVar10;\n    uVar10 = unaff_s0;\n    if (piVar13[-2] == 0) {\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }\n  }\n  else {\n    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));\n    uVar5 = unaff_s0;\n    do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);\n    if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);\nLAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar10 = 0;\n  }" else (if_statement "if ((int)uVar7 < (int)unaff_s0) {\n    iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);\n    if (iVar9 == 0) {\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }\n    else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    piVar13 = piVar11 + uVar10;\n    uVar10 = unaff_s0;\n    if (piVar13[-2] == 0) {\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }\n  }\n  else {\n    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));\n    uVar5 = unaff_s0;\n    do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);\n    if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);\nLAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar10 = 0;\n  }" if (parenthesized_expression "((int)uVar7 < (int)unaff_s0)" ( (binary_expression "(int)uVar7 < (int)unaff_s0" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);\n    if (iVar9 == 0) {\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }\n    else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    piVar13 = piVar11 + uVar10;\n    uVar10 = unaff_s0;\n    if (piVar13[-2] == 0) {\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }\n  }" { (expression_statement "iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7)" identifier = (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7)" (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 "(piVar11,unaff_s5,piVar13,uVar7)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar9 == 0) {\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }\n    else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }" { (if_statement "if (piVar11 == unaff_s5) goto LAB_00025070;" if (parenthesized_expression "(piVar11 == unaff_s5)" ( (binary_expression "piVar11 == unaff_s5" identifier == identifier) )) (goto_statement "goto LAB_00025070;" goto statement_identifier ;)) (labeled_statement "LAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;" statement_identifier : (expression_statement "unaff_s5 = unaff_s5 + uVar7;" (assignment_expression "unaff_s5 = unaff_s5 + uVar7" identifier = (binary_expression "unaff_s5 + uVar7" identifier + identifier)) ;)) (expression_statement "piVar13 = piVar11 + uVar7;" (assignment_expression "piVar13 = piVar11 + uVar7" identifier = (binary_expression "piVar11 + uVar7" identifier + identifier)) ;) (do_statement "do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);" do (compound_statement "{\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      }" { (expression_statement "iVar9 = *unaff_s5;" (assignment_expression "iVar9 = *unaff_s5" identifier = (pointer_expression "*unaff_s5" * identifier)) ;) (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "unaff_s5 = unaff_s5 + 1;" (assignment_expression "unaff_s5 = unaff_s5 + 1" identifier = (binary_expression "unaff_s5 + 1" identifier + number_literal)) ;) (expression_statement "*piVar13 = iVar9;" (assignment_expression "*piVar13 = iVar9" (pointer_expression "*piVar13" * identifier) = identifier) ;) (expression_statement "piVar13 = piVar13 + 1;" (assignment_expression "piVar13 = piVar13 + 1" identifier = (binary_expression "piVar13 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)uVar7 < (int)unaff_s0)" ( (binary_expression "(int)uVar7 < (int)unaff_s0" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) }) (else_clause "else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }" else (compound_statement "{\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }" { (expression_statement "uVar5 = uVar7 + 1;" (assignment_expression "uVar5 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "piVar13 = unaff_s5 + uVar7;" (assignment_expression "piVar13 = unaff_s5 + uVar7" identifier = (binary_expression "unaff_s5 + uVar7" identifier + identifier)) ;) (expression_statement "iVar9 = *piVar13;" (assignment_expression "iVar9 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "piVar11[uVar7] = iVar9 + -1;" (assignment_expression "piVar11[uVar7] = iVar9 + -1" (subscript_expression "piVar11[uVar7]" identifier [ identifier ]) = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (if_statement "if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }" { (if_statement "if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }" if (parenthesized_expression "((int)uVar5 < (int)unaff_s0)" ( (binary_expression "(int)uVar5 < (int)unaff_s0" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }" { (expression_statement "uVar5 = uVar7 + 2;" (assignment_expression "uVar5 = uVar7 + 2" identifier = (binary_expression "uVar7 + 2" identifier + number_literal)) ;) (expression_statement "iVar9 = unaff_s5[uVar7 + 1];" (assignment_expression "iVar9 = unaff_s5[uVar7 + 1]" identifier = (subscript_expression "unaff_s5[uVar7 + 1]" identifier [ (binary_expression "uVar7 + 1" identifier + number_literal) ])) ;) (expression_statement "piVar11[uVar7 + 1] = iVar9 + -1;" (assignment_expression "piVar11[uVar7 + 1] = iVar9 + -1" (subscript_expression "piVar11[uVar7 + 1]" identifier [ (binary_expression "uVar7 + 1" identifier + number_literal) ]) = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "piVar8 = piVar11 + uVar7;" (assignment_expression "piVar8 = piVar11 + uVar7" identifier = (binary_expression "piVar11 + uVar7" identifier + identifier)) ;) (while_statement "while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }" while (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }" { (if_statement "if (unaff_s0 == uVar5) goto LAB_0002507c;" if (parenthesized_expression "(unaff_s0 == uVar5)" ( (binary_expression "unaff_s0 == uVar5" identifier == identifier) )) (goto_statement "goto LAB_0002507c;" goto statement_identifier ;)) (expression_statement "iVar9 = piVar13[2];" (assignment_expression "iVar9 = piVar13[2]" identifier = (subscript_expression "piVar13[2]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = uVar5 + 1;" (assignment_expression "uVar5 = uVar5 + 1" identifier = (binary_expression "uVar5 + 1" identifier + number_literal)) ;) (expression_statement "piVar13 = piVar13 + 1;" (assignment_expression "piVar13 = piVar13 + 1" identifier = (binary_expression "piVar13 + 1" identifier + number_literal)) ;) (expression_statement "piVar8[2] = iVar9 + -1;" (assignment_expression "piVar8[2] = iVar9 + -1" (subscript_expression "piVar8[2]" identifier [ number_literal ]) = (binary_expression "iVar9 + -1" identifier + number_literal)) ;) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) })) (goto_statement "goto LAB_0002522c;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }" else (compound_statement "{\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }" { (labeled_statement "LAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }" statement_identifier : (if_statement "if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }" if (parenthesized_expression "(piVar11 != unaff_s5)" ( (binary_expression "piVar11 != unaff_s5" identifier != identifier) )) (compound_statement "{\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }" { (expression_statement "uVar7 = uVar5;" (assignment_expression "uVar7 = uVar5" identifier = identifier) ;) (if_statement "if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;" if (parenthesized_expression "((int)unaff_s0 <= (int)uVar5)" ( (binary_expression "(int)unaff_s0 <= (int)uVar5" (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00025070;" goto statement_identifier ;)) (goto_statement "goto LAB_0002523c;" goto statement_identifier ;) }))) }))) }))) (labeled_statement "LAB_0002507c:\n    piVar13 = piVar11 + uVar10;" statement_identifier : (expression_statement "piVar13 = piVar11 + uVar10;" (assignment_expression "piVar13 = piVar11 + uVar10" identifier = (binary_expression "piVar11 + uVar10" identifier + identifier)) ;)) (expression_statement "uVar10 = unaff_s0;" (assignment_expression "uVar10 = unaff_s0" identifier = identifier) ;) (if_statement "if (piVar13[-2] == 0) {\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }" if (parenthesized_expression "(piVar13[-2] == 0)" ( (binary_expression "piVar13[-2] == 0" (subscript_expression "piVar13[-2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }" { (expression_statement "iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);" (assignment_expression "iVar9 = (int)piVar11 + (int)(unaff_s2 + -1)" identifier = (binary_expression "(int)piVar11 + (int)(unaff_s2 + -1)" (cast_expression "(int)piVar11" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(unaff_s2 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s2 + -1)" ( (binary_expression "unaff_s2 + -1" identifier + number_literal) ))))) ;) (do_statement "do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);" do (compound_statement "{\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      }" { (expression_statement "unaff_s0 = unaff_s0 - 1;" (assignment_expression "unaff_s0 = unaff_s0 - 1" identifier = (binary_expression "unaff_s0 - 1" identifier - number_literal)) ;) (if_statement "if (unaff_s0 == 0) goto LAB_000250a8;" if (parenthesized_expression "(unaff_s0 == 0)" ( (binary_expression "unaff_s0 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000250a8;" goto statement_identifier ;)) (expression_statement "piVar13 = (int *)(iVar9 + -8);" (assignment_expression "piVar13 = (int *)(iVar9 + -8)" identifier = (cast_expression "(int *)(iVar9 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -8)" ( (binary_expression "iVar9 + -8" identifier + number_literal) )))) ;) (expression_statement "iVar9 = iVar9 + -4;" (assignment_expression "iVar9 = iVar9 + -4" identifier = (binary_expression "iVar9 + -4" identifier + number_literal)) ;) (expression_statement "uVar10 = unaff_s0;" (assignment_expression "uVar10 = unaff_s0" identifier = identifier) ;) }) while (parenthesized_expression "(*piVar13 == 0)" ( (binary_expression "*piVar13 == 0" (pointer_expression "*piVar13" * identifier) == number_literal) )) ;) })) }) (else_clause "else {\n    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));\n    uVar5 = unaff_s0;\n    do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);\n    if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);\nLAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar10 = 0;\n  }" else (compound_statement "{\n    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));\n    uVar5 = unaff_s0;\n    do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);\n    if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);\nLAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar10 = 0;\n  }" { (expression_statement "iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);" (assignment_expression "iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1)" identifier = (binary_expression "(int)unaff_s5 + (int)(unaff_s2 + -1)" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(unaff_s2 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s2 + -1)" ( (binary_expression "unaff_s2 + -1" identifier + number_literal) ))))) ;) (expression_statement "puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));" (assignment_expression "puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1))" identifier = (cast_expression "(uint *)((int)piVar13 + (int)(unaff_s2 + -1))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar13 + (int)(unaff_s2 + -1))" ( (binary_expression "(int)piVar13 + (int)(unaff_s2 + -1)" (cast_expression "(int)piVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(unaff_s2 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s2 + -1)" ( (binary_expression "unaff_s2 + -1" identifier + number_literal) )))) )))) ;) (expression_statement "uVar5 = unaff_s0;" (assignment_expression "uVar5 = unaff_s0" identifier = identifier) ;) (do_statement "do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);" do (compound_statement "{\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    }" { (expression_statement "uVar5 = uVar5 - 1;" (assignment_expression "uVar5 = uVar5 - 1" identifier = (binary_expression "uVar5 - 1" identifier - number_literal)) ;) (expression_statement "puVar6 = puVar6 + -1;" (assignment_expression "puVar6 = puVar6 + -1" identifier = (binary_expression "puVar6 + -1" identifier + number_literal)) ;) (expression_statement "piVar8 = unaff_s5;" (assignment_expression "piVar8 = unaff_s5" identifier = identifier) ;) (if_statement "if (uVar5 == 0xffffffff) goto LAB_00025058;" if (parenthesized_expression "(uVar5 == 0xffffffff)" ( (binary_expression "uVar5 == 0xffffffff" identifier == number_literal) )) (goto_statement "goto LAB_00025058;" goto statement_identifier ;)) (expression_statement "puVar1 = (uint *)(iVar9 + -4);" (assignment_expression "puVar1 = (uint *)(iVar9 + -4)" identifier = (cast_expression "(uint *)(iVar9 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -4)" ( (binary_expression "iVar9 + -4" identifier + number_literal) )))) ;) (expression_statement "iVar9 = iVar9 + -4;" (assignment_expression "iVar9 = iVar9 + -4" identifier = (binary_expression "iVar9 + -4" identifier + number_literal)) ;) }) while (parenthesized_expression "(*puVar1 == *puVar6)" ( (binary_expression "*puVar1 == *puVar6" (pointer_expression "*puVar1" * identifier) == (pointer_expression "*puVar6" * identifier)) )) ;) (if_statement "if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }" if (parenthesized_expression "(*puVar1 <= *puVar6)" ( (binary_expression "*puVar1 <= *puVar6" (pointer_expression "*puVar1" * identifier) <= (pointer_expression "*puVar6" * identifier)) )) (compound_statement "{\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }" { (expression_statement "piVar8 = piVar13;" (assignment_expression "piVar8 = piVar13" identifier = identifier) ;) (expression_statement "piVar13 = unaff_s5;" (assignment_expression "piVar13 = unaff_s5" identifier = identifier) ;) (expression_statement "uVar7 = unaff_s0;" (assignment_expression "uVar7 = unaff_s0" identifier = identifier) ;) })) (labeled_statement "LAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);" statement_identifier : (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7)" (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 "(piVar11,piVar8,piVar13,uVar7)" ( identifier , identifier , identifier , identifier ))) ;)) (labeled_statement "LAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;" statement_identifier : (if_statement "if (uVar3 != 0) goto LAB_0002507c;" if (parenthesized_expression "(uVar3 != 0)" ( (binary_expression "uVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0002507c;" goto statement_identifier ;))) (labeled_statement "LAB_000250a8:\n    uVar10 = 0;" statement_identifier : (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;)) }))))) (labeled_statement "LAB_000250b0:\n  uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(piVar11,uVar10,puVar12,iVar14);" statement_identifier : (expression_statement "uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(piVar11,uVar10,puVar12,iVar14);" (assignment_expression "uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(piVar11,uVar10,puVar12,iVar14)" identifier = (call_expression "(*(code *)PTR___gmpn_divisible_p_0009d0f8)(piVar11,uVar10,puVar12,iVar14)" (parenthesized_expression "(*(code *)PTR___gmpn_divisible_p_0009d0f8)" ( (pointer_expression "*(code *)PTR___gmpn_divisible_p_0009d0f8" * (cast_expression "(code *)PTR___gmpn_divisible_p_0009d0f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar11,uVar10,puVar12,iVar14)" ( identifier , identifier , identifier , identifier )))) ;)) (expression_statement "unaff_s0 = uVar10;" (assignment_expression "unaff_s0 = uVar10" identifier = identifier) ;) (if_statement "if (local_30 != 0) {\n    (*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();\n  }" if (parenthesized_expression "(local_30 != 0)" ( (binary_expression "local_30 != 0" identifier != number_literal) )) (compound_statement "{\n    (*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();\n  }" { (expression_statement "(*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();" (call_expression "(*(code *)PTR___gmp_tmp_reentrant_free_0009d618)()" (parenthesized_expression "(*(code *)PTR___gmp_tmp_reentrant_free_0009d618)" ( (pointer_expression "*(code *)PTR___gmp_tmp_reentrant_free_0009d618" * (cast_expression "(code *)PTR___gmp_tmp_reentrant_free_0009d618" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_0002514c:\n  while (local_2c != *(int *)puVar4) {\n    (*(code *)PTR___stack_chk_fail_0009d4d0)();\nLAB_00025608:\n    uVar5 = (uint)unaff_s2 >> 0x10;\n    iVar14 = 0xe;\n    if ((uVar5 & 0xff) == 0) {\n      uVar5 = (uint)unaff_s2 >> 0x18;\n      iVar14 = 0x1e;\n      if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }\n    }\nLAB_000255b8:\n    uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;\nLAB_0002547c:\n    unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));\nLAB_00025484:\n    piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar13 != (int *)0x0) {\n      uVar7 = (uint)(unaff_s2 == piVar13);\n    }\n  }" statement_identifier : (while_statement "while (local_2c != *(int *)puVar4) {\n    (*(code *)PTR___stack_chk_fail_0009d4d0)();\nLAB_00025608:\n    uVar5 = (uint)unaff_s2 >> 0x10;\n    iVar14 = 0xe;\n    if ((uVar5 & 0xff) == 0) {\n      uVar5 = (uint)unaff_s2 >> 0x18;\n      iVar14 = 0x1e;\n      if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }\n    }\nLAB_000255b8:\n    uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;\nLAB_0002547c:\n    unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));\nLAB_00025484:\n    piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar13 != (int *)0x0) {\n      uVar7 = (uint)(unaff_s2 == piVar13);\n    }\n  }" while (parenthesized_expression "(local_2c != *(int *)puVar4)" ( (binary_expression "local_2c != *(int *)puVar4" identifier != (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    (*(code *)PTR___stack_chk_fail_0009d4d0)();\nLAB_00025608:\n    uVar5 = (uint)unaff_s2 >> 0x10;\n    iVar14 = 0xe;\n    if ((uVar5 & 0xff) == 0) {\n      uVar5 = (uint)unaff_s2 >> 0x18;\n      iVar14 = 0x1e;\n      if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }\n    }\nLAB_000255b8:\n    uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;\nLAB_0002547c:\n    unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));\nLAB_00025484:\n    piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar13 != (int *)0x0) {\n      uVar7 = (uint)(unaff_s2 == piVar13);\n    }\n  }" { (expression_statement "(*(code *)PTR___stack_chk_fail_0009d4d0)();" (call_expression "(*(code *)PTR___stack_chk_fail_0009d4d0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0009d4d0)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0009d4d0" * (cast_expression "(code *)PTR___stack_chk_fail_0009d4d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_00025608:\n    uVar5 = (uint)unaff_s2 >> 0x10;" statement_identifier : (expression_statement "uVar5 = (uint)unaff_s2 >> 0x10;" (assignment_expression "uVar5 = (uint)unaff_s2 >> 0x10" identifier = (binary_expression "(uint)unaff_s2 >> 0x10" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;)) (expression_statement "iVar14 = 0xe;" (assignment_expression "iVar14 = 0xe" identifier = number_literal) ;) (if_statement "if ((uVar5 & 0xff) == 0) {\n      uVar5 = (uint)unaff_s2 >> 0x18;\n      iVar14 = 0x1e;\n      if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }\n    }" if (parenthesized_expression "((uVar5 & 0xff) == 0)" ( (binary_expression "(uVar5 & 0xff) == 0" (parenthesized_expression "(uVar5 & 0xff)" ( (binary_expression "uVar5 & 0xff" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar5 = (uint)unaff_s2 >> 0x18;\n      iVar14 = 0x1e;\n      if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }\n    }" { (expression_statement "uVar5 = (uint)unaff_s2 >> 0x18;" (assignment_expression "uVar5 = (uint)unaff_s2 >> 0x18" identifier = (binary_expression "(uint)unaff_s2 >> 0x18" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;) (expression_statement "iVar14 = 0x1e;" (assignment_expression "iVar14 = 0x1e" identifier = number_literal) ;) (if_statement "if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }" if (parenthesized_expression "(uVar5 != 0)" ( (binary_expression "uVar5 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar14 = 0x16;\n      }" { (expression_statement "iVar14 = 0x16;" (assignment_expression "iVar14 = 0x16" identifier = number_literal) ;) })) })) (labeled_statement "LAB_000255b8:\n    uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;" statement_identifier : (expression_statement "uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;" (assignment_expression "uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14" identifier = (binary_expression "(uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14" (cast_expression "(uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5]" identifier [ (binary_expression "-uVar5 & uVar5" (unary_expression "-uVar5" - identifier) & identifier) ]))) + identifier)) ;)) (labeled_statement "LAB_0002547c:\n    unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));" statement_identifier : (expression_statement "unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));" (assignment_expression "unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f))" identifier = (cast_expression "(int *)((uint)unaff_s2 >> (uVar5 & 0x1f))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)unaff_s2 >> (uVar5 & 0x1f))" ( (binary_expression "(uint)unaff_s2 >> (uVar5 & 0x1f)" (cast_expression "(uint)unaff_s2" ( (type_descriptor "uint" type_identifier) ) identifier) >> (parenthesized_expression "(uVar5 & 0x1f)" ( (binary_expression "uVar5 & 0x1f" identifier & number_literal) ))) )))) ;)) (labeled_statement "LAB_00025484:\n    piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);" statement_identifier : (expression_statement "piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);" (assignment_expression "piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2)" identifier = (cast_expression "(int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2)" (parenthesized_expression "(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)" ( (pointer_expression "*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8" * (cast_expression "(code *)PTR___gmpn_modexact_1c_odd_0009d3d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s5,unaff_s0,unaff_s2)" ( identifier , identifier , identifier ))))) ;)) (if_statement "if (piVar13 != (int *)0x0) {\n      uVar7 = (uint)(unaff_s2 == piVar13);\n    }" if (parenthesized_expression "(piVar13 != (int *)0x0)" ( (binary_expression "piVar13 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar7 = (uint)(unaff_s2 == piVar13);\n    }" { (expression_statement "uVar7 = (uint)(unaff_s2 == piVar13);" (assignment_expression "uVar7 = (uint)(unaff_s2 == piVar13)" identifier = (call_expression "(uint)(unaff_s2 == piVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(unaff_s2 == piVar13)" ( (binary_expression "unaff_s2 == piVar13" identifier == identifier) )))) ;) })) }))) (return_statement "return uVar7;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (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 ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (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 , IDENT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)) & (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)) - (pointer_expression * IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & IDENT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) || (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (expression_statement (assignment_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 (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression (unary_expression - IDENT) & IDENT) ]))) + IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)) & (cast_expression ( (type_descriptor TYPE) ) IDENT)) ])) - LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) << (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) >= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) >= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << (parenthesized_expression ( (binary_expression (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> IDENT) ])))) & LIT) ))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) }))) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)) & (cast_expression ( (type_descriptor TYPE) ) IDENT)) ])) - LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == IDENT) )))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) % (cast_expression ( (type_descriptor TYPE) ) IDENT)) ^ (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )))) ;) }))) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT * LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (unary_expression - (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) & LIT) )))) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression & IDENT) , IDENT ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (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 + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (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 , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) }))) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT)) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) <= (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))))) (labeled_statement statement_identifier : (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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) (labeled_statement statement_identifier : (while_statement while (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression (unary_expression - IDENT) & IDENT) ]))) + IDENT)) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) )))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == IDENT) )))) ;) })) }))) (return_statement return IDENT ;) })))
(function_definition "uint __gmpz_congruent_p(int param_1,int param_2,int param_3)\n\n{\n  uint *puVar1;\n  int *piVar2;\n  uint uVar3;\n  undefined *puVar4;\n  uint uVar5;\n  uint *puVar6;\n  uint uVar7;\n  int *piVar8;\n  int iVar9;\n  uint uVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  int *piVar13;\n  uint unaff_s0;\n  int *unaff_s2;\n  int iVar14;\n  int *unaff_s5;\n  uint uVar15;\n  int local_30;\n  int local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_0009d540;\n  iVar14 = *(int *)(param_3 + 4);\n  local_2c = *(int *)PTR___stack_chk_guard_0009d540;\n  if (iVar14 == 0) {\n    iVar14 = (*(code *)PTR___gmpz_cmp_0009d244)();\n    uVar7 = (uint)(iVar14 == 0);\n    goto LAB_0002514c;\n  }\n  if (iVar14 < 0) {\n    iVar14 = -iVar14;\n  }\n  uVar5 = *(uint *)(param_1 + 4);\n  puVar12 = *(undefined4 **)(param_3 + 8);\n  uVar7 = uVar5;\n  if ((int)uVar5 < 0) {\n    uVar7 = -uVar5;\n  }\n  uVar15 = *(uint *)(param_2 + 4);\n  uVar10 = uVar15;\n  if ((int)uVar15 < 0) {\n    uVar10 = -uVar15;\n  }\n  if ((int)uVar7 < (int)uVar10) {\n    unaff_s5 = *(int **)(param_2 + 8);\n    uVar3 = uVar15;\n    unaff_s0 = uVar10;\n  }\n  else {\n    unaff_s5 = *(int **)(param_1 + 8);\n    uVar3 = uVar5;\n    uVar5 = uVar15;\n    unaff_s0 = uVar7;\n    uVar7 = uVar10;\n    param_1 = param_2;\n  }\n  if (uVar5 == 0) {\n    uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14);\n    goto LAB_0002514c;\n  }\n  unaff_s2 = (int *)*puVar12;\n  uVar5 = uVar3 ^ uVar5;\n  piVar13 = *(int **)(param_1 + 8);\n  piVar11 = (int *)*piVar13;\n  uVar10 = (-(int)unaff_s2 & (uint)unaff_s2) - 1;\n  if ((int)uVar5 < 0) {\n    uVar15 = -(int)piVar11 - *unaff_s5;\n  }\n  else {\n    uVar15 = *unaff_s5 - (int)piVar11;\n  }\n  if ((uVar15 & uVar10) != 0) {\n    uVar7 = 0;\n    goto LAB_0002514c;\n  }\n  if (uVar7 == 1) {\n    if (iVar14 != 1) {\n      if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }\n      else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));\n    }\n    if ((int)uVar5 < 0) {\n      if (unaff_s2 < piVar11) {\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }\n      else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }\n    }\n    if ((int)unaff_s0 < 10) {\n      uVar7 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }\n    piVar13 = (int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar11 < unaff_s2) {\n      uVar7 = (uint)(piVar11 == piVar13);\n    }\n    else {\n      if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);\n      uVar7 = (uint)(unaff_s2 == (int *)0x0);\n    }\n    goto LAB_0002514c;\n  }\nLAB_00024fe0:\n  uVar10 = unaff_s0 + 1;\n  unaff_s2 = (int *)(uVar10 * 4);\n  local_30 = 0;\n  if (unaff_s2 < (int *)0x7f01) {\n    piVar11 = (int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));\n  }\n  else {\n    piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2);\n  }\n  if ((int)uVar5 < 0) {\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7);\n    uVar5 = uVar7;\n    if (iVar9 != 0) {\n      if ((int)unaff_s0 <= (int)uVar7) {\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }\n    }\n    iVar9 = 0;\n    if ((piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5)) {\nLAB_000253d0:\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = iVar9;\n      uVar10 = unaff_s0;\n    }\n    else {\n      piVar8 = unaff_s5 + uVar5;\n      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      piVar13 = piVar11 + uVar5;\n      do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = 0;\n      uVar10 = unaff_s0;\n    }\n  }\n  else if ((int)uVar7 < (int)unaff_s0) {\n    iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);\n    if (iVar9 == 0) {\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }\n    else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    piVar13 = piVar11 + uVar10;\n    uVar10 = unaff_s0;\n    if (piVar13[-2] == 0) {\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }\n  }\n  else {\n    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));\n    uVar5 = unaff_s0;\n    do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);\n    if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);\nLAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar10 = 0;\n  }\nLAB_000250b0:\n  uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(piVar11,uVar10,puVar12,iVar14);\n  unaff_s0 = uVar10;\n  if (local_30 != 0) {\n    (*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();\n  }\nLAB_0002514c:\n  while (local_2c != *(int *)puVar4) {\n    (*(code *)PTR___stack_chk_fail_0009d4d0)();\nLAB_00025608:\n    uVar5 = (uint)unaff_s2 >> 0x10;\n    iVar14 = 0xe;\n    if ((uVar5 & 0xff) == 0) {\n      uVar5 = (uint)unaff_s2 >> 0x18;\n      iVar14 = 0x1e;\n      if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }\n    }\nLAB_000255b8:\n    uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;\nLAB_0002547c:\n    unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));\nLAB_00025484:\n    piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar13 != (int *)0x0) {\n      uVar7 = (uint)(unaff_s2 == piVar13);\n    }\n  }\n  return uVar7;\n}" (type_identifier "uint") (function_declarator "__gmpz_congruent_p(int param_1,int param_2,int param_3)" (identifier "__gmpz_congruent_p") (parameter_list "(int param_1,int param_2,int param_3)" (( "(") (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")) () ")"))) (compound_statement "{\n  uint *puVar1;\n  int *piVar2;\n  uint uVar3;\n  undefined *puVar4;\n  uint uVar5;\n  uint *puVar6;\n  uint uVar7;\n  int *piVar8;\n  int iVar9;\n  uint uVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  int *piVar13;\n  uint unaff_s0;\n  int *unaff_s2;\n  int iVar14;\n  int *unaff_s5;\n  uint uVar15;\n  int local_30;\n  int local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_0009d540;\n  iVar14 = *(int *)(param_3 + 4);\n  local_2c = *(int *)PTR___stack_chk_guard_0009d540;\n  if (iVar14 == 0) {\n    iVar14 = (*(code *)PTR___gmpz_cmp_0009d244)();\n    uVar7 = (uint)(iVar14 == 0);\n    goto LAB_0002514c;\n  }\n  if (iVar14 < 0) {\n    iVar14 = -iVar14;\n  }\n  uVar5 = *(uint *)(param_1 + 4);\n  puVar12 = *(undefined4 **)(param_3 + 8);\n  uVar7 = uVar5;\n  if ((int)uVar5 < 0) {\n    uVar7 = -uVar5;\n  }\n  uVar15 = *(uint *)(param_2 + 4);\n  uVar10 = uVar15;\n  if ((int)uVar15 < 0) {\n    uVar10 = -uVar15;\n  }\n  if ((int)uVar7 < (int)uVar10) {\n    unaff_s5 = *(int **)(param_2 + 8);\n    uVar3 = uVar15;\n    unaff_s0 = uVar10;\n  }\n  else {\n    unaff_s5 = *(int **)(param_1 + 8);\n    uVar3 = uVar5;\n    uVar5 = uVar15;\n    unaff_s0 = uVar7;\n    uVar7 = uVar10;\n    param_1 = param_2;\n  }\n  if (uVar5 == 0) {\n    uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14);\n    goto LAB_0002514c;\n  }\n  unaff_s2 = (int *)*puVar12;\n  uVar5 = uVar3 ^ uVar5;\n  piVar13 = *(int **)(param_1 + 8);\n  piVar11 = (int *)*piVar13;\n  uVar10 = (-(int)unaff_s2 & (uint)unaff_s2) - 1;\n  if ((int)uVar5 < 0) {\n    uVar15 = -(int)piVar11 - *unaff_s5;\n  }\n  else {\n    uVar15 = *unaff_s5 - (int)piVar11;\n  }\n  if ((uVar15 & uVar10) != 0) {\n    uVar7 = 0;\n    goto LAB_0002514c;\n  }\n  if (uVar7 == 1) {\n    if (iVar14 != 1) {\n      if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }\n      else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));\n    }\n    if ((int)uVar5 < 0) {\n      if (unaff_s2 < piVar11) {\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }\n      else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }\n    }\n    if ((int)unaff_s0 < 10) {\n      uVar7 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }\n    piVar13 = (int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar11 < unaff_s2) {\n      uVar7 = (uint)(piVar11 == piVar13);\n    }\n    else {\n      if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);\n      uVar7 = (uint)(unaff_s2 == (int *)0x0);\n    }\n    goto LAB_0002514c;\n  }\nLAB_00024fe0:\n  uVar10 = unaff_s0 + 1;\n  unaff_s2 = (int *)(uVar10 * 4);\n  local_30 = 0;\n  if (unaff_s2 < (int *)0x7f01) {\n    piVar11 = (int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));\n  }\n  else {\n    piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2);\n  }\n  if ((int)uVar5 < 0) {\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7);\n    uVar5 = uVar7;\n    if (iVar9 != 0) {\n      if ((int)unaff_s0 <= (int)uVar7) {\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }\n    }\n    iVar9 = 0;\n    if ((piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5)) {\nLAB_000253d0:\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = iVar9;\n      uVar10 = unaff_s0;\n    }\n    else {\n      piVar8 = unaff_s5 + uVar5;\n      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      piVar13 = piVar11 + uVar5;\n      do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = 0;\n      uVar10 = unaff_s0;\n    }\n  }\n  else if ((int)uVar7 < (int)unaff_s0) {\n    iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);\n    if (iVar9 == 0) {\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }\n    else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    piVar13 = piVar11 + uVar10;\n    uVar10 = unaff_s0;\n    if (piVar13[-2] == 0) {\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }\n  }\n  else {\n    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));\n    uVar5 = unaff_s0;\n    do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);\n    if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);\nLAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar10 = 0;\n  }\nLAB_000250b0:\n  uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(piVar11,uVar10,puVar12,iVar14);\n  unaff_s0 = uVar10;\n  if (local_30 != 0) {\n    (*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();\n  }\nLAB_0002514c:\n  while (local_2c != *(int *)puVar4) {\n    (*(code *)PTR___stack_chk_fail_0009d4d0)();\nLAB_00025608:\n    uVar5 = (uint)unaff_s2 >> 0x10;\n    iVar14 = 0xe;\n    if ((uVar5 & 0xff) == 0) {\n      uVar5 = (uint)unaff_s2 >> 0x18;\n      iVar14 = 0x1e;\n      if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }\n    }\nLAB_000255b8:\n    uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;\nLAB_0002547c:\n    unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));\nLAB_00025484:\n    piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar13 != (int *)0x0) {\n      uVar7 = (uint)(unaff_s2 == piVar13);\n    }\n  }\n  return uVar7;\n}" ({ "{") (declaration "uint *puVar1;" (type_identifier "uint") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "uint *puVar6;" (type_identifier "uint") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "undefined4 *puVar12;" (type_identifier "undefined4") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "int *piVar13;" (primitive_type "int") (pointer_declarator "*piVar13" (* "*") (identifier "piVar13")) (; ";")) (declaration "uint unaff_s0;" (type_identifier "uint") (identifier "unaff_s0") (; ";")) (declaration "int *unaff_s2;" (primitive_type "int") (pointer_declarator "*unaff_s2" (* "*") (identifier "unaff_s2")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "int *unaff_s5;" (primitive_type "int") (pointer_declarator "*unaff_s5" (* "*") (identifier "unaff_s5")) (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "int local_30;" (primitive_type "int") (identifier "local_30") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar4 = PTR___stack_chk_guard_0009d540;" (assignment_expression "puVar4 = PTR___stack_chk_guard_0009d540" (identifier "puVar4") (= "=") (identifier "PTR___stack_chk_guard_0009d540")) (; ";")) (expression_statement "iVar14 = *(int *)(param_3 + 4);" (assignment_expression "iVar14 = *(int *)(param_3 + 4)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(param_3 + 4)" (* "*") (cast_expression "(int *)(param_3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 4)" (( "(") (binary_expression "param_3 + 4" (identifier "param_3") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0009d540;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0009d540" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_0009d540" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_0009d540" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_0009d540")))) (; ";")) (if_statement "if (iVar14 == 0) {\n    iVar14 = (*(code *)PTR___gmpz_cmp_0009d244)();\n    uVar7 = (uint)(iVar14 == 0);\n    goto LAB_0002514c;\n  }" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar14 = (*(code *)PTR___gmpz_cmp_0009d244)();\n    uVar7 = (uint)(iVar14 == 0);\n    goto LAB_0002514c;\n  }" ({ "{") (expression_statement "iVar14 = (*(code *)PTR___gmpz_cmp_0009d244)();" (assignment_expression "iVar14 = (*(code *)PTR___gmpz_cmp_0009d244)()" (identifier "iVar14") (= "=") (call_expression "(*(code *)PTR___gmpz_cmp_0009d244)()" (parenthesized_expression "(*(code *)PTR___gmpz_cmp_0009d244)" (( "(") (pointer_expression "*(code *)PTR___gmpz_cmp_0009d244" (* "*") (cast_expression "(code *)PTR___gmpz_cmp_0009d244" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpz_cmp_0009d244"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar7 = (uint)(iVar14 == 0);" (assignment_expression "uVar7 = (uint)(iVar14 == 0)" (identifier "uVar7") (= "=") (call_expression "(uint)(iVar14 == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")))) (; ";")) (goto_statement "goto LAB_0002514c;" (goto "goto") (statement_identifier "LAB_0002514c") (; ";")) (} "}"))) (if_statement "if (iVar14 < 0) {\n    iVar14 = -iVar14;\n  }" (if "if") (parenthesized_expression "(iVar14 < 0)" (( "(") (binary_expression "iVar14 < 0" (identifier "iVar14") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    iVar14 = -iVar14;\n  }" ({ "{") (expression_statement "iVar14 = -iVar14;" (assignment_expression "iVar14 = -iVar14" (identifier "iVar14") (= "=") (unary_expression "-iVar14" (- "-") (identifier "iVar14"))) (; ";")) (} "}"))) (expression_statement "uVar5 = *(uint *)(param_1 + 4);" (assignment_expression "uVar5 = *(uint *)(param_1 + 4)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(param_1 + 4)" (* "*") (cast_expression "(uint *)(param_1 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "puVar12 = *(undefined4 **)(param_3 + 8);" (assignment_expression "puVar12 = *(undefined4 **)(param_3 + 8)" (identifier "puVar12") (= "=") (pointer_expression "*(undefined4 **)(param_3 + 8)" (* "*") (cast_expression "(undefined4 **)(param_3 + 8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 8)" (( "(") (binary_expression "param_3 + 8" (identifier "param_3") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar7 = uVar5;" (assignment_expression "uVar7 = uVar5" (identifier "uVar7") (= "=") (identifier "uVar5")) (; ";")) (if_statement "if ((int)uVar5 < 0) {\n    uVar7 = -uVar5;\n  }" (if "if") (parenthesized_expression "((int)uVar5 < 0)" (( "(") (binary_expression "(int)uVar5 < 0" (cast_expression "(int)uVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar5")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    uVar7 = -uVar5;\n  }" ({ "{") (expression_statement "uVar7 = -uVar5;" (assignment_expression "uVar7 = -uVar5" (identifier "uVar7") (= "=") (unary_expression "-uVar5" (- "-") (identifier "uVar5"))) (; ";")) (} "}"))) (expression_statement "uVar15 = *(uint *)(param_2 + 4);" (assignment_expression "uVar15 = *(uint *)(param_2 + 4)" (identifier "uVar15") (= "=") (pointer_expression "*(uint *)(param_2 + 4)" (* "*") (cast_expression "(uint *)(param_2 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 4)" (( "(") (binary_expression "param_2 + 4" (identifier "param_2") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar10 = uVar15;" (assignment_expression "uVar10 = uVar15" (identifier "uVar10") (= "=") (identifier "uVar15")) (; ";")) (if_statement "if ((int)uVar15 < 0) {\n    uVar10 = -uVar15;\n  }" (if "if") (parenthesized_expression "((int)uVar15 < 0)" (( "(") (binary_expression "(int)uVar15 < 0" (cast_expression "(int)uVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar15")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    uVar10 = -uVar15;\n  }" ({ "{") (expression_statement "uVar10 = -uVar15;" (assignment_expression "uVar10 = -uVar15" (identifier "uVar10") (= "=") (unary_expression "-uVar15" (- "-") (identifier "uVar15"))) (; ";")) (} "}"))) (if_statement "if ((int)uVar7 < (int)uVar10) {\n    unaff_s5 = *(int **)(param_2 + 8);\n    uVar3 = uVar15;\n    unaff_s0 = uVar10;\n  }\n  else {\n    unaff_s5 = *(int **)(param_1 + 8);\n    uVar3 = uVar5;\n    uVar5 = uVar15;\n    unaff_s0 = uVar7;\n    uVar7 = uVar10;\n    param_1 = param_2;\n  }" (if "if") (parenthesized_expression "((int)uVar7 < (int)uVar10)" (( "(") (binary_expression "(int)uVar7 < (int)uVar10" (cast_expression "(int)uVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar7")) (< "<") (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10"))) () ")")) (compound_statement "{\n    unaff_s5 = *(int **)(param_2 + 8);\n    uVar3 = uVar15;\n    unaff_s0 = uVar10;\n  }" ({ "{") (expression_statement "unaff_s5 = *(int **)(param_2 + 8);" (assignment_expression "unaff_s5 = *(int **)(param_2 + 8)" (identifier "unaff_s5") (= "=") (pointer_expression "*(int **)(param_2 + 8)" (* "*") (cast_expression "(int **)(param_2 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 8)" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar3 = uVar15;" (assignment_expression "uVar3 = uVar15" (identifier "uVar3") (= "=") (identifier "uVar15")) (; ";")) (expression_statement "unaff_s0 = uVar10;" (assignment_expression "unaff_s0 = uVar10" (identifier "unaff_s0") (= "=") (identifier "uVar10")) (; ";")) (} "}")) (else_clause "else {\n    unaff_s5 = *(int **)(param_1 + 8);\n    uVar3 = uVar5;\n    uVar5 = uVar15;\n    unaff_s0 = uVar7;\n    uVar7 = uVar10;\n    param_1 = param_2;\n  }" (else "else") (compound_statement "{\n    unaff_s5 = *(int **)(param_1 + 8);\n    uVar3 = uVar5;\n    uVar5 = uVar15;\n    unaff_s0 = uVar7;\n    uVar7 = uVar10;\n    param_1 = param_2;\n  }" ({ "{") (expression_statement "unaff_s5 = *(int **)(param_1 + 8);" (assignment_expression "unaff_s5 = *(int **)(param_1 + 8)" (identifier "unaff_s5") (= "=") (pointer_expression "*(int **)(param_1 + 8)" (* "*") (cast_expression "(int **)(param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar3 = uVar5;" (assignment_expression "uVar3 = uVar5" (identifier "uVar3") (= "=") (identifier "uVar5")) (; ";")) (expression_statement "uVar5 = uVar15;" (assignment_expression "uVar5 = uVar15" (identifier "uVar5") (= "=") (identifier "uVar15")) (; ";")) (expression_statement "unaff_s0 = uVar7;" (assignment_expression "unaff_s0 = uVar7" (identifier "unaff_s0") (= "=") (identifier "uVar7")) (; ";")) (expression_statement "uVar7 = uVar10;" (assignment_expression "uVar7 = uVar10" (identifier "uVar7") (= "=") (identifier "uVar10")) (; ";")) (expression_statement "param_1 = param_2;" (assignment_expression "param_1 = param_2" (identifier "param_1") (= "=") (identifier "param_2")) (; ";")) (} "}")))) (if_statement "if (uVar5 == 0) {\n    uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14);\n    goto LAB_0002514c;\n  }" (if "if") (parenthesized_expression "(uVar5 == 0)" (( "(") (binary_expression "uVar5 == 0" (identifier "uVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14);\n    goto LAB_0002514c;\n  }" ({ "{") (expression_statement "uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14);" (assignment_expression "uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14)" (identifier "uVar7") (= "=") (call_expression "(*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14)" (parenthesized_expression "(*(code *)PTR___gmpn_divisible_p_0009d0f8)" (( "(") (pointer_expression "*(code *)PTR___gmpn_divisible_p_0009d0f8" (* "*") (cast_expression "(code *)PTR___gmpn_divisible_p_0009d0f8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_divisible_p_0009d0f8"))) () ")")) (argument_list "(unaff_s5,unaff_s0,puVar12,iVar14)" (( "(") (identifier "unaff_s5") (, ",") (identifier "unaff_s0") (, ",") (identifier "puVar12") (, ",") (identifier "iVar14") () ")")))) (; ";")) (goto_statement "goto LAB_0002514c;" (goto "goto") (statement_identifier "LAB_0002514c") (; ";")) (} "}"))) (expression_statement "unaff_s2 = (int *)*puVar12;" (assignment_expression "unaff_s2 = (int *)*puVar12" (identifier "unaff_s2") (= "=") (cast_expression "(int *)*puVar12" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar12" (* "*") (identifier "puVar12")))) (; ";")) (expression_statement "uVar5 = uVar3 ^ uVar5;" (assignment_expression "uVar5 = uVar3 ^ uVar5" (identifier "uVar5") (= "=") (binary_expression "uVar3 ^ uVar5" (identifier "uVar3") (^ "^") (identifier "uVar5"))) (; ";")) (expression_statement "piVar13 = *(int **)(param_1 + 8);" (assignment_expression "piVar13 = *(int **)(param_1 + 8)" (identifier "piVar13") (= "=") (pointer_expression "*(int **)(param_1 + 8)" (* "*") (cast_expression "(int **)(param_1 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "piVar11 = (int *)*piVar13;" (assignment_expression "piVar11 = (int *)*piVar13" (identifier "piVar11") (= "=") (cast_expression "(int *)*piVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar13" (* "*") (identifier "piVar13")))) (; ";")) (expression_statement "uVar10 = (-(int)unaff_s2 & (uint)unaff_s2) - 1;" (assignment_expression "uVar10 = (-(int)unaff_s2 & (uint)unaff_s2) - 1" (identifier "uVar10") (= "=") (binary_expression "(-(int)unaff_s2 & (uint)unaff_s2) - 1" (parenthesized_expression "(-(int)unaff_s2 & (uint)unaff_s2)" (( "(") (binary_expression "-(int)unaff_s2 & (uint)unaff_s2" (unary_expression "-(int)unaff_s2" (- "-") (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2"))) (& "&") (cast_expression "(uint)unaff_s2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s2"))) () ")")) (- "-") (number_literal "1"))) (; ";")) (if_statement "if ((int)uVar5 < 0) {\n    uVar15 = -(int)piVar11 - *unaff_s5;\n  }\n  else {\n    uVar15 = *unaff_s5 - (int)piVar11;\n  }" (if "if") (parenthesized_expression "((int)uVar5 < 0)" (( "(") (binary_expression "(int)uVar5 < 0" (cast_expression "(int)uVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar5")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    uVar15 = -(int)piVar11 - *unaff_s5;\n  }" ({ "{") (expression_statement "uVar15 = -(int)piVar11 - *unaff_s5;" (assignment_expression "uVar15 = -(int)piVar11 - *unaff_s5" (identifier "uVar15") (= "=") (binary_expression "-(int)piVar11 - *unaff_s5" (unary_expression "-(int)piVar11" (- "-") (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11"))) (- "-") (pointer_expression "*unaff_s5" (* "*") (identifier "unaff_s5")))) (; ";")) (} "}")) (else_clause "else {\n    uVar15 = *unaff_s5 - (int)piVar11;\n  }" (else "else") (compound_statement "{\n    uVar15 = *unaff_s5 - (int)piVar11;\n  }" ({ "{") (expression_statement "uVar15 = *unaff_s5 - (int)piVar11;" (assignment_expression "uVar15 = *unaff_s5 - (int)piVar11" (identifier "uVar15") (= "=") (binary_expression "*unaff_s5 - (int)piVar11" (pointer_expression "*unaff_s5" (* "*") (identifier "unaff_s5")) (- "-") (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")))) (; ";")) (} "}")))) (if_statement "if ((uVar15 & uVar10) != 0) {\n    uVar7 = 0;\n    goto LAB_0002514c;\n  }" (if "if") (parenthesized_expression "((uVar15 & uVar10) != 0)" (( "(") (binary_expression "(uVar15 & uVar10) != 0" (parenthesized_expression "(uVar15 & uVar10)" (( "(") (binary_expression "uVar15 & uVar10" (identifier "uVar15") (& "&") (identifier "uVar10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar7 = 0;\n    goto LAB_0002514c;\n  }" ({ "{") (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0002514c;" (goto "goto") (statement_identifier "LAB_0002514c") (; ";")) (} "}"))) (if_statement "if (uVar7 == 1) {\n    if (iVar14 != 1) {\n      if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }\n      else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));\n    }\n    if ((int)uVar5 < 0) {\n      if (unaff_s2 < piVar11) {\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }\n      else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }\n    }\n    if ((int)unaff_s0 < 10) {\n      uVar7 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }\n    piVar13 = (int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar11 < unaff_s2) {\n      uVar7 = (uint)(piVar11 == piVar13);\n    }\n    else {\n      if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);\n      uVar7 = (uint)(unaff_s2 == (int *)0x0);\n    }\n    goto LAB_0002514c;\n  }" (if "if") (parenthesized_expression "(uVar7 == 1)" (( "(") (binary_expression "uVar7 == 1" (identifier "uVar7") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    if (iVar14 != 1) {\n      if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }\n      else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));\n    }\n    if ((int)uVar5 < 0) {\n      if (unaff_s2 < piVar11) {\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }\n      else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }\n    }\n    if ((int)unaff_s0 < 10) {\n      uVar7 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }\n    piVar13 = (int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar11 < unaff_s2) {\n      uVar7 = (uint)(piVar11 == piVar13);\n    }\n    else {\n      if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);\n      uVar7 = (uint)(unaff_s2 == (int *)0x0);\n    }\n    goto LAB_0002514c;\n  }" ({ "{") (if_statement "if (iVar14 != 1) {\n      if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }\n      else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));\n    }" (if "if") (parenthesized_expression "(iVar14 != 1)" (( "(") (binary_expression "iVar14 != 1" (identifier "iVar14") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n      if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))\n      goto LAB_00024fe0;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }\n      else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }\n      unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));\n    }" ({ "{") (if_statement "if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))\n      goto LAB_00024fe0;" (if "if") (parenthesized_expression "(((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))" (( "(") (binary_expression "((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1])" (parenthesized_expression "((iVar14 != 2) || (unaff_s2 == (int *)0x0))" (( "(") (binary_expression "(iVar14 != 2) || (unaff_s2 == (int *)0x0)" (parenthesized_expression "(iVar14 != 2)" (( "(") (binary_expression "iVar14 != 2" (identifier "iVar14") (!= "!=") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "(unaff_s2 == (int *)0x0)" (( "(") (binary_expression "unaff_s2 == (int *)0x0" (identifier "unaff_s2") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(uVar10 < (uint)puVar12[1])" (( "(") (binary_expression "uVar10 < (uint)puVar12[1]" (identifier "uVar10") (< "<") (cast_expression "(uint)puVar12[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "puVar12[1]" (identifier "puVar12") ([ "[") (number_literal "1") (] "]")))) () ")"))) () ")")) (goto_statement "goto LAB_00024fe0;" (goto "goto") (statement_identifier "LAB_00024fe0") (; ";"))) (if_statement "if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }\n      else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }" (if "if") (parenthesized_expression "(((uint)unaff_s2 & 0xff) == 0)" (( "(") (binary_expression "((uint)unaff_s2 & 0xff) == 0" (parenthesized_expression "((uint)unaff_s2 & 0xff)" (( "(") (binary_expression "(uint)unaff_s2 & 0xff" (cast_expression "(uint)unaff_s2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s2")) (& "&") (number_literal "0xff")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar7 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }\n        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;\n      }" ({ "{") (expression_statement "uVar7 = (uint)unaff_s2 >> 8;" (assignment_expression "uVar7 = (uint)unaff_s2 >> 8" (identifier "uVar7") (= "=") (binary_expression "(uint)unaff_s2 >> 8" (cast_expression "(uint)unaff_s2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s2")) (>> ">>") (number_literal "8"))) (; ";")) (expression_statement "iVar14 = 6;" (assignment_expression "iVar14 = 6" (identifier "iVar14") (= "=") (number_literal "6")) (; ";")) (if_statement "if ((uVar7 & 0xff) == 0) {\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }" (if "if") (parenthesized_expression "((uVar7 & 0xff) == 0)" (( "(") (binary_expression "(uVar7 & 0xff) == 0" (parenthesized_expression "(uVar7 & 0xff)" (( "(") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar7 = (uint)unaff_s2 >> 0x10;\n          iVar14 = 0xe;\n          if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }\n        }" ({ "{") (expression_statement "uVar7 = (uint)unaff_s2 >> 0x10;" (assignment_expression "uVar7 = (uint)unaff_s2 >> 0x10" (identifier "uVar7") (= "=") (binary_expression "(uint)unaff_s2 >> 0x10" (cast_expression "(uint)unaff_s2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s2")) (>> ">>") (number_literal "0x10"))) (; ";")) (expression_statement "iVar14 = 0xe;" (assignment_expression "iVar14 = 0xe" (identifier "iVar14") (= "=") (number_literal "0xe")) (; ";")) (if_statement "if ((uVar7 & 0xff) == 0) {\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }" (if "if") (parenthesized_expression "((uVar7 & 0xff) == 0)" (( "(") (binary_expression "(uVar7 & 0xff) == 0" (parenthesized_expression "(uVar7 & 0xff)" (( "(") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar7 = (uint)unaff_s2 >> 0x18;\n            iVar14 = 0x1e;\n            if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }\n          }" ({ "{") (expression_statement "uVar7 = (uint)unaff_s2 >> 0x18;" (assignment_expression "uVar7 = (uint)unaff_s2 >> 0x18" (identifier "uVar7") (= "=") (binary_expression "(uint)unaff_s2 >> 0x18" (cast_expression "(uint)unaff_s2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s2")) (>> ">>") (number_literal "0x18"))) (; ";")) (expression_statement "iVar14 = 0x1e;" (assignment_expression "iVar14 = 0x1e" (identifier "iVar14") (= "=") (number_literal "0x1e")) (; ";")) (if_statement "if (uVar7 != 0) {\n              iVar14 = 0x16;\n            }" (if "if") (parenthesized_expression "(uVar7 != 0)" (( "(") (binary_expression "uVar7 != 0" (identifier "uVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              iVar14 = 0x16;\n            }" ({ "{") (expression_statement "iVar14 = 0x16;" (assignment_expression "iVar14 = 0x16" (identifier "iVar14") (= "=") (number_literal "0x16")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;" (assignment_expression "uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14" (identifier "uVar7") (= "=") (binary_expression "(uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14" (cast_expression "(uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7]" (identifier "PTR___gmpn_clz_tab_0009d18c") ([ "[") (binary_expression "-uVar7 & uVar7" (unary_expression "-uVar7" (- "-") (identifier "uVar7")) (& "&") (identifier "uVar7")) (] "]")))) (+ "+") (identifier "iVar14"))) (; ";")) (} "}")) (else_clause "else {\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }" (else "else") (compound_statement "{\n        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      }" ({ "{") (expression_statement "uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;" (assignment_expression "uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2" (identifier "uVar7") (= "=") (binary_expression "(byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2" (cast_expression "(byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2]" (identifier "PTR___gmpn_clz_tab_0009d18c") ([ "[") (binary_expression "-(int)unaff_s2 & (uint)unaff_s2" (unary_expression "-(int)unaff_s2" (- "-") (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2"))) (& "&") (cast_expression "(uint)unaff_s2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s2"))) (] "]"))) (- "-") (number_literal "2"))) (; ";")) (} "}")))) (expression_statement "unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));" (assignment_expression "unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f))" (identifier "unaff_s2") (= "=") (cast_expression "(int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f))" (( "(") (binary_expression "puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f)" (binary_expression "puVar12[1] << (-uVar7 & 0x1f)" (subscript_expression "puVar12[1]" (identifier "puVar12") ([ "[") (number_literal "1") (] "]")) (<< "<<") (parenthesized_expression "(-uVar7 & 0x1f)" (( "(") (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" (- "-") (identifier "uVar7")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uint)unaff_s2 >> (uVar7 & 0x1f)" (cast_expression "(uint)unaff_s2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s2")) (>> ">>") (parenthesized_expression "(uVar7 & 0x1f)" (( "(") (binary_expression "uVar7 & 0x1f" (identifier "uVar7") (& "&") (number_literal "0x1f")) () ")")))) () ")")))) (; ";")) (} "}"))) (if_statement "if ((int)uVar5 < 0) {\n      if (unaff_s2 < piVar11) {\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }\n      else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }\n    }" (if "if") (parenthesized_expression "((int)uVar5 < 0)" (( "(") (binary_expression "(int)uVar5 < 0" (cast_expression "(int)uVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar5")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      if (unaff_s2 < piVar11) {\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }\n      else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }\n    }" ({ "{") (if_statement "if (unaff_s2 < piVar11) {\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }\n      else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }" (if "if") (parenthesized_expression "(unaff_s2 < piVar11)" (( "(") (binary_expression "unaff_s2 < piVar11" (identifier "unaff_s2") (< "<") (identifier "piVar11")) () ")")) (compound_statement "{\n        if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }\n        piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));\n        if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }\n        piVar11 = (int *)((int)piVar13 - (int)piVar11);\n      }" ({ "{") (if_statement "if (unaff_s2 < (int *)0x10000) {\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }\n        else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }" (if "if") (parenthesized_expression "(unaff_s2 < (int *)0x10000)" (( "(") (binary_expression "unaff_s2 < (int *)0x10000" (identifier "unaff_s2") (< "<") (cast_expression "(int *)0x10000" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x10000"))) () ")")) (compound_statement "{\n          iVar14 = 0;\n          if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }\n          iVar9 = 9;\n          if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }\n        }" ({ "{") (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" (identifier "iVar14") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((int *)0xff < unaff_s2) {\n            iVar14 = 0x18;\n          }" (if "if") (parenthesized_expression "((int *)0xff < unaff_s2)" (( "(") (binary_expression "(int *)0xff < unaff_s2" (cast_expression "(int *)0xff" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xff")) (< "<") (identifier "unaff_s2")) () ")")) (compound_statement "{\n            iVar14 = 0x18;\n          }" ({ "{") (expression_statement "iVar14 = 0x18;" (assignment_expression "iVar14 = 0x18" (identifier "iVar14") (= "=") (number_literal "0x18")) (; ";")) (} "}"))) (expression_statement "iVar9 = 9;" (assignment_expression "iVar9 = 9" (identifier "iVar9") (= "=") (number_literal "9")) (; ";")) (if_statement "if ((int *)0xff >= unaff_s2) {\n            iVar9 = 1;\n          }" (if "if") (parenthesized_expression "((int *)0xff >= unaff_s2)" (( "(") (binary_expression "(int *)0xff >= unaff_s2" (cast_expression "(int *)0xff" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xff")) (>= ">=") (identifier "unaff_s2")) () ")")) (compound_statement "{\n            iVar9 = 1;\n          }" ({ "{") (expression_statement "iVar9 = 1;" (assignment_expression "iVar9 = 1" (identifier "iVar9") (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }" (else "else") (compound_statement "{\n          iVar14 = 0x10;\n          if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }\n          iVar9 = 0x19;\n          if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }\n        }" ({ "{") (expression_statement "iVar14 = 0x10;" (assignment_expression "iVar14 = 0x10" (identifier "iVar14") (= "=") (number_literal "0x10")) (; ";")) (if_statement "if ((int *)0xffffff < unaff_s2) {\n            iVar14 = 8;\n          }" (if "if") (parenthesized_expression "((int *)0xffffff < unaff_s2)" (( "(") (binary_expression "(int *)0xffffff < unaff_s2" (cast_expression "(int *)0xffffff" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffff")) (< "<") (identifier "unaff_s2")) () ")")) (compound_statement "{\n            iVar14 = 8;\n          }" ({ "{") (expression_statement "iVar14 = 8;" (assignment_expression "iVar14 = 8" (identifier "iVar14") (= "=") (number_literal "8")) (; ";")) (} "}"))) (expression_statement "iVar9 = 0x19;" (assignment_expression "iVar9 = 0x19" (identifier "iVar9") (= "=") (number_literal "0x19")) (; ";")) (if_statement "if ((int *)0xffffff >= unaff_s2) {\n            iVar9 = 0x11;\n          }" (if "if") (parenthesized_expression "((int *)0xffffff >= unaff_s2)" (( "(") (binary_expression "(int *)0xffffff >= unaff_s2" (cast_expression "(int *)0xffffff" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffff")) (>= ">=") (identifier "unaff_s2")) () ")")) (compound_statement "{\n            iVar9 = 0x11;\n          }" ({ "{") (expression_statement "iVar9 = 0x11;" (assignment_expression "iVar9 = 0x11" (identifier "iVar9") (= "=") (number_literal "0x11")) (; ";")) (} "}"))) (} "}")))) (expression_statement "piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f));" (assignment_expression "piVar13 = (int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f))" (identifier "piVar13") (= "=") (cast_expression "(int *)((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f))" (( "(") (binary_expression "(int)unaff_s2 <<\n                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f)" (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2")) (<< "<<") (parenthesized_expression "(iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f)" (( "(") (binary_expression "iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]\n                         & 0x1f" (binary_expression "iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]" (identifier "iVar14") (- "-") (cast_expression "(uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]" (identifier "PTR___gmpn_clz_tab_0009d18c") ([ "[") (binary_expression "(uint)unaff_s2 >> iVar9" (cast_expression "(uint)unaff_s2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s2")) (>> ">>") (identifier "iVar9")) (] "]"))))) (& "&") (number_literal "0x1f")) () ")"))) () ")")))) (; ";")) (if_statement "if (piVar13 < piVar11) {\n          piVar13 = (int *)((int)piVar13 << 1);\n        }" (if "if") (parenthesized_expression "(piVar13 < piVar11)" (( "(") (binary_expression "piVar13 < piVar11" (identifier "piVar13") (< "<") (identifier "piVar11")) () ")")) (compound_statement "{\n          piVar13 = (int *)((int)piVar13 << 1);\n        }" ({ "{") (expression_statement "piVar13 = (int *)((int)piVar13 << 1);" (assignment_expression "piVar13 = (int *)((int)piVar13 << 1)" (identifier "piVar13") (= "=") (cast_expression "(int *)((int)piVar13 << 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar13 << 1)" (( "(") (binary_expression "(int)piVar13 << 1" (cast_expression "(int)piVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar13")) (<< "<<") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (expression_statement "piVar11 = (int *)((int)piVar13 - (int)piVar11);" (assignment_expression "piVar11 = (int *)((int)piVar13 - (int)piVar11)" (identifier "piVar11") (= "=") (cast_expression "(int *)((int)piVar13 - (int)piVar11)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar13 - (int)piVar11)" (( "(") (binary_expression "(int)piVar13 - (int)piVar11" (cast_expression "(int)piVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar13")) (- "-") (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11"))) () ")")))) (; ";")) (} "}")) (else_clause "else {\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }" (else "else") (compound_statement "{\n        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);\n      }" ({ "{") (expression_statement "piVar11 = (int *)((int)unaff_s2 - (int)piVar11);" (assignment_expression "piVar11 = (int *)((int)unaff_s2 - (int)piVar11)" (identifier "piVar11") (= "=") (cast_expression "(int *)((int)unaff_s2 - (int)piVar11)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s2 - (int)piVar11)" (( "(") (binary_expression "(int)unaff_s2 - (int)piVar11" (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2")) (- "-") (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11"))) () ")")))) (; ";")) (} "}")))) (} "}"))) (if_statement "if ((int)unaff_s0 < 10) {\n      uVar7 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }" (if "if") (parenthesized_expression "((int)unaff_s0 < 10)" (( "(") (binary_expression "(int)unaff_s0 < 10" (cast_expression "(int)unaff_s0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s0")) (< "<") (number_literal "10")) () ")")) (compound_statement "{\n      uVar7 = 1;\n      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;\n      if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }\n      uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;\n      goto LAB_0002547c;\n    }" ({ "{") (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" (identifier "uVar7") (= "=") (number_literal "1")) (; ";")) (if_statement "if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;" (if "if") (parenthesized_expression "(((uint)unaff_s2 & 1) != 0)" (( "(") (binary_expression "((uint)unaff_s2 & 1) != 0" (parenthesized_expression "((uint)unaff_s2 & 1)" (( "(") (binary_expression "(uint)unaff_s2 & 1" (cast_expression "(uint)unaff_s2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s2")) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00025484;" (goto "goto") (statement_identifier "LAB_00025484") (; ";"))) (if_statement "if (((uint)unaff_s2 & 0xff) == 0) {\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }" (if "if") (parenthesized_expression "(((uint)unaff_s2 & 0xff) == 0)" (( "(") (binary_expression "((uint)unaff_s2 & 0xff) == 0" (parenthesized_expression "((uint)unaff_s2 & 0xff)" (( "(") (binary_expression "(uint)unaff_s2 & 0xff" (cast_expression "(uint)unaff_s2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s2")) (& "&") (number_literal "0xff")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar5 = (uint)unaff_s2 >> 8;\n        iVar14 = 6;\n        if ((uVar5 & 0xff) == 0) goto LAB_00025608;\n        goto LAB_000255b8;\n      }" ({ "{") (expression_statement "uVar5 = (uint)unaff_s2 >> 8;" (assignment_expression "uVar5 = (uint)unaff_s2 >> 8" (identifier "uVar5") (= "=") (binary_expression "(uint)unaff_s2 >> 8" (cast_expression "(uint)unaff_s2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s2")) (>> ">>") (number_literal "8"))) (; ";")) (expression_statement "iVar14 = 6;" (assignment_expression "iVar14 = 6" (identifier "iVar14") (= "=") (number_literal "6")) (; ";")) (if_statement "if ((uVar5 & 0xff) == 0) goto LAB_00025608;" (if "if") (parenthesized_expression "((uVar5 & 0xff) == 0)" (( "(") (binary_expression "(uVar5 & 0xff) == 0" (parenthesized_expression "(uVar5 & 0xff)" (( "(") (binary_expression "uVar5 & 0xff" (identifier "uVar5") (& "&") (number_literal "0xff")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00025608;" (goto "goto") (statement_identifier "LAB_00025608") (; ";"))) (goto_statement "goto LAB_000255b8;" (goto "goto") (statement_identifier "LAB_000255b8") (; ";")) (} "}"))) (expression_statement "uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;" (assignment_expression "uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2" (identifier "uVar5") (= "=") (binary_expression "(byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2" (cast_expression "(byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2]" (identifier "PTR___gmpn_clz_tab_0009d18c") ([ "[") (binary_expression "-(int)unaff_s2 & (uint)unaff_s2" (unary_expression "-(int)unaff_s2" (- "-") (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2"))) (& "&") (cast_expression "(uint)unaff_s2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s2"))) (] "]"))) (- "-") (number_literal "2"))) (; ";")) (goto_statement "goto LAB_0002547c;" (goto "goto") (statement_identifier "LAB_0002547c") (; ";")) (} "}"))) (expression_statement "piVar13 = (int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);" (assignment_expression "piVar13 = (int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2)" (identifier "piVar13") (= "=") (cast_expression "(int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2)" (parenthesized_expression "(*(code *)PTR___gmpn_mod_1_0009d4c0)" (( "(") (pointer_expression "*(code *)PTR___gmpn_mod_1_0009d4c0" (* "*") (cast_expression "(code *)PTR___gmpn_mod_1_0009d4c0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_mod_1_0009d4c0"))) () ")")) (argument_list "(unaff_s5,unaff_s0,unaff_s2)" (( "(") (identifier "unaff_s5") (, ",") (identifier "unaff_s0") (, ",") (identifier "unaff_s2") () ")"))))) (; ";")) (if_statement "if (piVar11 < unaff_s2) {\n      uVar7 = (uint)(piVar11 == piVar13);\n    }\n    else {\n      if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);\n      uVar7 = (uint)(unaff_s2 == (int *)0x0);\n    }" (if "if") (parenthesized_expression "(piVar11 < unaff_s2)" (( "(") (binary_expression "piVar11 < unaff_s2" (identifier "piVar11") (< "<") (identifier "unaff_s2")) () ")")) (compound_statement "{\n      uVar7 = (uint)(piVar11 == piVar13);\n    }" ({ "{") (expression_statement "uVar7 = (uint)(piVar11 == piVar13);" (assignment_expression "uVar7 = (uint)(piVar11 == piVar13)" (identifier "uVar7") (= "=") (call_expression "(uint)(piVar11 == piVar13)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(piVar11 == piVar13)" (( "(") (binary_expression "piVar11 == piVar13" (identifier "piVar11") (== "==") (identifier "piVar13")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n      if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);\n      uVar7 = (uint)(unaff_s2 == (int *)0x0);\n    }" (else "else") (compound_statement "{\n      if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }\n      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);\n      uVar7 = (uint)(unaff_s2 == (int *)0x0);\n    }" ({ "{") (if_statement "if (unaff_s2 == (int *)0x0) {\n        trap(7);\n      }" (if "if") (parenthesized_expression "(unaff_s2 == (int *)0x0)" (( "(") (binary_expression "unaff_s2 == (int *)0x0" (identifier "unaff_s2") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        trap(7);\n      }" ({ "{") (expression_statement "trap(7);" (call_expression "trap(7)" (identifier "trap") (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (} "}"))) (expression_statement "unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);" (assignment_expression "unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13)" (identifier "unaff_s2") (= "=") (cast_expression "(int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13)" (( "(") (binary_expression "(uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13" (binary_expression "(uint)piVar11 % (uint)unaff_s2" (cast_expression "(uint)piVar11" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar11")) (% "%") (cast_expression "(uint)unaff_s2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s2"))) (^ "^") (cast_expression "(uint)piVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar13"))) () ")")))) (; ";")) (expression_statement "uVar7 = (uint)(unaff_s2 == (int *)0x0);" (assignment_expression "uVar7 = (uint)(unaff_s2 == (int *)0x0)" (identifier "uVar7") (= "=") (call_expression "(uint)(unaff_s2 == (int *)0x0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(unaff_s2 == (int *)0x0)" (( "(") (binary_expression "unaff_s2 == (int *)0x0" (identifier "unaff_s2") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")))) (; ";")) (} "}")))) (goto_statement "goto LAB_0002514c;" (goto "goto") (statement_identifier "LAB_0002514c") (; ";")) (} "}"))) (labeled_statement "LAB_00024fe0:\n  uVar10 = unaff_s0 + 1;" (statement_identifier "LAB_00024fe0") (: ":") (expression_statement "uVar10 = unaff_s0 + 1;" (assignment_expression "uVar10 = unaff_s0 + 1" (identifier "uVar10") (= "=") (binary_expression "unaff_s0 + 1" (identifier "unaff_s0") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "unaff_s2 = (int *)(uVar10 * 4);" (assignment_expression "unaff_s2 = (int *)(uVar10 * 4)" (identifier "unaff_s2") (= "=") (cast_expression "(int *)(uVar10 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar10 * 4)" (( "(") (binary_expression "uVar10 * 4" (identifier "uVar10") (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (if_statement "if (unaff_s2 < (int *)0x7f01) {\n    piVar11 = (int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));\n  }\n  else {\n    piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2);\n  }" (if "if") (parenthesized_expression "(unaff_s2 < (int *)0x7f01)" (( "(") (binary_expression "unaff_s2 < (int *)0x7f01" (identifier "unaff_s2") (< "<") (cast_expression "(int *)0x7f01" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x7f01"))) () ")")) (compound_statement "{\n    piVar11 = (int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));\n  }" ({ "{") (expression_statement "piVar11 = (int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));" (assignment_expression "piVar11 = (int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8))" (identifier "piVar11") (= "=") (cast_expression "(int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8))" (( "(") (binary_expression "&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8)" (pointer_expression "&stack0xffffffb8" (& "&") (identifier "stack0xffffffb8")) (+ "+") (unary_expression "-((int)unaff_s2 + 7U & 0xfffffff8)" (- "-") (parenthesized_expression "((int)unaff_s2 + 7U & 0xfffffff8)" (( "(") (binary_expression "(int)unaff_s2 + 7U & 0xfffffff8" (binary_expression "(int)unaff_s2 + 7U" (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2")) (+ "+") (number_literal "7U")) (& "&") (number_literal "0xfffffff8")) () ")")))) () ")")))) (; ";")) (} "}")) (else_clause "else {\n    piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2);\n  }" (else "else") (compound_statement "{\n    piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2);\n  }" ({ "{") (expression_statement "piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2);" (assignment_expression "piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2)" (identifier "piVar11") (= "=") (cast_expression "(int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2)" (parenthesized_expression "(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)" (( "(") (pointer_expression "*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0" (* "*") (cast_expression "(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmp_tmp_reentrant_alloc_0009d2f0"))) () ")")) (argument_list "(&local_30,unaff_s2)" (( "(") (pointer_expression "&local_30" (& "&") (identifier "local_30")) (, ",") (identifier "unaff_s2") () ")"))))) (; ";")) (} "}")))) (if_statement "if ((int)uVar5 < 0) {\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7);\n    uVar5 = uVar7;\n    if (iVar9 != 0) {\n      if ((int)unaff_s0 <= (int)uVar7) {\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }\n    }\n    iVar9 = 0;\n    if ((piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5)) {\nLAB_000253d0:\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = iVar9;\n      uVar10 = unaff_s0;\n    }\n    else {\n      piVar8 = unaff_s5 + uVar5;\n      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      piVar13 = piVar11 + uVar5;\n      do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = 0;\n      uVar10 = unaff_s0;\n    }\n  }\n  else if ((int)uVar7 < (int)unaff_s0) {\n    iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);\n    if (iVar9 == 0) {\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }\n    else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    piVar13 = piVar11 + uVar10;\n    uVar10 = unaff_s0;\n    if (piVar13[-2] == 0) {\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }\n  }\n  else {\n    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));\n    uVar5 = unaff_s0;\n    do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);\n    if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);\nLAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar10 = 0;\n  }" (if "if") (parenthesized_expression "((int)uVar5 < 0)" (( "(") (binary_expression "(int)uVar5 < 0" (cast_expression "(int)uVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar5")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7);\n    uVar5 = uVar7;\n    if (iVar9 != 0) {\n      if ((int)unaff_s0 <= (int)uVar7) {\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }\n    }\n    iVar9 = 0;\n    if ((piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5)) {\nLAB_000253d0:\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = iVar9;\n      uVar10 = unaff_s0;\n    }\n    else {\n      piVar8 = unaff_s5 + uVar5;\n      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      piVar13 = piVar11 + uVar5;\n      do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = 0;\n      uVar10 = unaff_s0;\n    }\n  }" ({ "{") (expression_statement "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7)" (identifier "iVar9") (= "=") (call_expression "(*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7)" (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 "(piVar11,unaff_s5,piVar13,uVar7)" (( "(") (identifier "piVar11") (, ",") (identifier "unaff_s5") (, ",") (identifier "piVar13") (, ",") (identifier "uVar7") () ")")))) (; ";")) (expression_statement "uVar5 = uVar7;" (assignment_expression "uVar5 = uVar7" (identifier "uVar5") (= "=") (identifier "uVar7")) (; ";")) (if_statement "if (iVar9 != 0) {\n      if ((int)unaff_s0 <= (int)uVar7) {\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }\n    }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if ((int)unaff_s0 <= (int)uVar7) {\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + 1;\n      if (iVar9 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }\n    }" ({ "{") (if_statement "if ((int)unaff_s0 <= (int)uVar7) {\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }" (if "if") (parenthesized_expression "((int)unaff_s0 <= (int)uVar7)" (( "(") (binary_expression "(int)unaff_s0 <= (int)uVar7" (cast_expression "(int)unaff_s0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s0")) (<= "<=") (cast_expression "(int)uVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar7"))) () ")")) (compound_statement "{\nLAB_00025594:\n        unaff_s2 = piVar11 + uVar10;\n        unaff_s2[-1] = 1;\n        goto LAB_000250b0;\n      }" ({ "{") (labeled_statement "LAB_00025594:\n        unaff_s2 = piVar11 + uVar10;" (statement_identifier "LAB_00025594") (: ":") (expression_statement "unaff_s2 = piVar11 + uVar10;" (assignment_expression "unaff_s2 = piVar11 + uVar10" (identifier "unaff_s2") (= "=") (binary_expression "piVar11 + uVar10" (identifier "piVar11") (+ "+") (identifier "uVar10"))) (; ";"))) (expression_statement "unaff_s2[-1] = 1;" (assignment_expression "unaff_s2[-1] = 1" (subscript_expression "unaff_s2[-1]" (identifier "unaff_s2") ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_000250b0;" (goto "goto") (statement_identifier "LAB_000250b0") (; ";")) (} "}"))) (expression_statement "uVar5 = uVar7 + 1;" (assignment_expression "uVar5 = uVar7 + 1" (identifier "uVar5") (= "=") (binary_expression "uVar7 + 1" (identifier "uVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar13 = unaff_s5 + uVar7;" (assignment_expression "piVar13 = unaff_s5 + uVar7" (identifier "piVar13") (= "=") (binary_expression "unaff_s5 + uVar7" (identifier "unaff_s5") (+ "+") (identifier "uVar7"))) (; ";")) (expression_statement "iVar9 = *piVar13;" (assignment_expression "iVar9 = *piVar13" (identifier "iVar9") (= "=") (pointer_expression "*piVar13" (* "*") (identifier "piVar13"))) (; ";")) (expression_statement "piVar11[uVar7] = iVar9 + 1;" (assignment_expression "piVar11[uVar7] = iVar9 + 1" (subscript_expression "piVar11[uVar7]" (identifier "piVar11") ([ "[") (identifier "uVar7") (] "]")) (= "=") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar9 + 1 == 0) {\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }" (if "if") (parenthesized_expression "(iVar9 + 1 == 0)" (( "(") (binary_expression "iVar9 + 1 == 0" (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;\n        uVar5 = uVar7 + 2;\n        iVar9 = unaff_s5[uVar7 + 1] + 1;\n        piVar11[uVar7 + 1] = iVar9;\n        piVar8 = piVar11 + uVar7;\n        while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }\n      }" ({ "{") (if_statement "if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;" (if "if") (parenthesized_expression "((int)unaff_s0 <= (int)uVar5)" (( "(") (binary_expression "(int)unaff_s0 <= (int)uVar5" (cast_expression "(int)unaff_s0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s0")) (<= "<=") (cast_expression "(int)uVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar5"))) () ")")) (goto_statement "goto LAB_00025594;" (goto "goto") (statement_identifier "LAB_00025594") (; ";"))) (expression_statement "uVar5 = uVar7 + 2;" (assignment_expression "uVar5 = uVar7 + 2" (identifier "uVar5") (= "=") (binary_expression "uVar7 + 2" (identifier "uVar7") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar9 = unaff_s5[uVar7 + 1] + 1;" (assignment_expression "iVar9 = unaff_s5[uVar7 + 1] + 1" (identifier "iVar9") (= "=") (binary_expression "unaff_s5[uVar7 + 1] + 1" (subscript_expression "unaff_s5[uVar7 + 1]" (identifier "unaff_s5") ([ "[") (binary_expression "uVar7 + 1" (identifier "uVar7") (+ "+") (number_literal "1")) (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar11[uVar7 + 1] = iVar9;" (assignment_expression "piVar11[uVar7 + 1] = iVar9" (subscript_expression "piVar11[uVar7 + 1]" (identifier "piVar11") ([ "[") (binary_expression "uVar7 + 1" (identifier "uVar7") (+ "+") (number_literal "1")) (] "]")) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "piVar8 = piVar11 + uVar7;" (assignment_expression "piVar8 = piVar11 + uVar7" (identifier "piVar8") (= "=") (binary_expression "piVar11 + uVar7" (identifier "piVar11") (+ "+") (identifier "uVar7"))) (; ";")) (while_statement "while (iVar9 == 0) {\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }" (while "while") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }\n          piVar2 = piVar13 + 2;\n          uVar5 = uVar5 + 1;\n          piVar13 = piVar13 + 1;\n          iVar9 = *piVar2 + 1;\n          piVar8[2] = iVar9;\n          piVar8 = piVar8 + 1;\n        }" ({ "{") (if_statement "if (unaff_s0 == uVar5) {\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }" (if "if") (parenthesized_expression "(unaff_s0 == uVar5)" (( "(") (binary_expression "unaff_s0 == uVar5" (identifier "unaff_s0") (== "==") (identifier "uVar5")) () ")")) (compound_statement "{\n            iVar9 = 1;\n            unaff_s0 = uVar10;\n            goto LAB_000253d0;\n          }" ({ "{") (expression_statement "iVar9 = 1;" (assignment_expression "iVar9 = 1" (identifier "iVar9") (= "=") (number_literal "1")) (; ";")) (expression_statement "unaff_s0 = uVar10;" (assignment_expression "unaff_s0 = uVar10" (identifier "unaff_s0") (= "=") (identifier "uVar10")) (; ";")) (goto_statement "goto LAB_000253d0;" (goto "goto") (statement_identifier "LAB_000253d0") (; ";")) (} "}"))) (expression_statement "piVar2 = piVar13 + 2;" (assignment_expression "piVar2 = piVar13 + 2" (identifier "piVar2") (= "=") (binary_expression "piVar13 + 2" (identifier "piVar13") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "uVar5 = uVar5 + 1;" (assignment_expression "uVar5 = uVar5 + 1" (identifier "uVar5") (= "=") (binary_expression "uVar5 + 1" (identifier "uVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar13 = piVar13 + 1;" (assignment_expression "piVar13 = piVar13 + 1" (identifier "piVar13") (= "=") (binary_expression "piVar13 + 1" (identifier "piVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar9 = *piVar2 + 1;" (assignment_expression "iVar9 = *piVar2 + 1" (identifier "iVar9") (= "=") (binary_expression "*piVar2 + 1" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar8[2] = iVar9;" (assignment_expression "piVar8[2] = iVar9" (subscript_expression "piVar8[2]" (identifier "piVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" (identifier "piVar8") (= "=") (binary_expression "piVar8 + 1" (identifier "piVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5)) {\nLAB_000253d0:\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = iVar9;\n      uVar10 = unaff_s0;\n    }\n    else {\n      piVar8 = unaff_s5 + uVar5;\n      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      piVar13 = piVar11 + uVar5;\n      do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = 0;\n      uVar10 = unaff_s0;\n    }" (if "if") (parenthesized_expression "((piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5))" (( "(") (binary_expression "(piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5)" (parenthesized_expression "(piVar11 == unaff_s5)" (( "(") (binary_expression "piVar11 == unaff_s5" (identifier "piVar11") (== "==") (identifier "unaff_s5")) () ")")) (|| "||") (parenthesized_expression "((int)unaff_s0 <= (int)uVar5)" (( "(") (binary_expression "(int)unaff_s0 <= (int)uVar5" (cast_expression "(int)unaff_s0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s0")) (<= "<=") (cast_expression "(int)uVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar5"))) () ")"))) () ")")) (compound_statement "{\nLAB_000253d0:\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = iVar9;\n      uVar10 = unaff_s0;\n    }" ({ "{") (labeled_statement "LAB_000253d0:\n      unaff_s2 = piVar11 + uVar10;" (statement_identifier "LAB_000253d0") (: ":") (expression_statement "unaff_s2 = piVar11 + uVar10;" (assignment_expression "unaff_s2 = piVar11 + uVar10" (identifier "unaff_s2") (= "=") (binary_expression "piVar11 + uVar10" (identifier "piVar11") (+ "+") (identifier "uVar10"))) (; ";"))) (expression_statement "unaff_s2[-1] = iVar9;" (assignment_expression "unaff_s2[-1] = iVar9" (subscript_expression "unaff_s2[-1]" (identifier "unaff_s2") ([ "[") (number_literal "-1") (] "]")) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "uVar10 = unaff_s0;" (assignment_expression "uVar10 = unaff_s0" (identifier "uVar10") (= "=") (identifier "unaff_s0")) (; ";")) (} "}")) (else_clause "else {\n      piVar8 = unaff_s5 + uVar5;\n      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      piVar13 = piVar11 + uVar5;\n      do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = 0;\n      uVar10 = unaff_s0;\n    }" (else "else") (compound_statement "{\n      piVar8 = unaff_s5 + uVar5;\n      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));\n      piVar13 = piVar11 + uVar5;\n      do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);\n      unaff_s2 = piVar11 + uVar10;\n      unaff_s2[-1] = 0;\n      uVar10 = unaff_s0;\n    }" ({ "{") (expression_statement "piVar8 = unaff_s5 + uVar5;" (assignment_expression "piVar8 = unaff_s5 + uVar5" (identifier "piVar8") (= "=") (binary_expression "unaff_s5 + uVar5" (identifier "unaff_s5") (+ "+") (identifier "uVar5"))) (; ";")) (expression_statement "unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));" (assignment_expression "unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1))" (identifier "unaff_s5") (= "=") (cast_expression "(int *)((int)unaff_s5 + (int)(unaff_s2 + -1))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s5 + (int)(unaff_s2 + -1))" (( "(") (binary_expression "(int)unaff_s5 + (int)(unaff_s2 + -1)" (cast_expression "(int)unaff_s5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s5")) (+ "+") (cast_expression "(int)(unaff_s2 + -1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(unaff_s2 + -1)" (( "(") (binary_expression "unaff_s2 + -1" (identifier "unaff_s2") (+ "+") (number_literal "-1")) () ")")))) () ")")))) (; ";")) (expression_statement "piVar13 = piVar11 + uVar5;" (assignment_expression "piVar13 = piVar11 + uVar5" (identifier "piVar13") (= "=") (binary_expression "piVar11 + uVar5" (identifier "piVar11") (+ "+") (identifier "uVar5"))) (; ";")) (do_statement "do {\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while (unaff_s5 != piVar8);" (do "do") (compound_statement "{\n        iVar9 = *piVar8;\n        piVar8 = piVar8 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      }" ({ "{") (expression_statement "iVar9 = *piVar8;" (assignment_expression "iVar9 = *piVar8" (identifier "iVar9") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" (identifier "piVar8") (= "=") (binary_expression "piVar8 + 1" (identifier "piVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*piVar13 = iVar9;" (assignment_expression "*piVar13 = iVar9" (pointer_expression "*piVar13" (* "*") (identifier "piVar13")) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "piVar13 = piVar13 + 1;" (assignment_expression "piVar13 = piVar13 + 1" (identifier "piVar13") (= "=") (binary_expression "piVar13 + 1" (identifier "piVar13") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(unaff_s5 != piVar8)" (( "(") (binary_expression "unaff_s5 != piVar8" (identifier "unaff_s5") (!= "!=") (identifier "piVar8")) () ")")) (; ";")) (expression_statement "unaff_s2 = piVar11 + uVar10;" (assignment_expression "unaff_s2 = piVar11 + uVar10" (identifier "unaff_s2") (= "=") (binary_expression "piVar11 + uVar10" (identifier "piVar11") (+ "+") (identifier "uVar10"))) (; ";")) (expression_statement "unaff_s2[-1] = 0;" (assignment_expression "unaff_s2[-1] = 0" (subscript_expression "unaff_s2[-1]" (identifier "unaff_s2") ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar10 = unaff_s0;" (assignment_expression "uVar10 = unaff_s0" (identifier "uVar10") (= "=") (identifier "unaff_s0")) (; ";")) (} "}")))) (} "}")) (else_clause "else if ((int)uVar7 < (int)unaff_s0) {\n    iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);\n    if (iVar9 == 0) {\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }\n    else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    piVar13 = piVar11 + uVar10;\n    uVar10 = unaff_s0;\n    if (piVar13[-2] == 0) {\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }\n  }\n  else {\n    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));\n    uVar5 = unaff_s0;\n    do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);\n    if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);\nLAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar10 = 0;\n  }" (else "else") (if_statement "if ((int)uVar7 < (int)unaff_s0) {\n    iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);\n    if (iVar9 == 0) {\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }\n    else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    piVar13 = piVar11 + uVar10;\n    uVar10 = unaff_s0;\n    if (piVar13[-2] == 0) {\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }\n  }\n  else {\n    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));\n    uVar5 = unaff_s0;\n    do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);\n    if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);\nLAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar10 = 0;\n  }" (if "if") (parenthesized_expression "((int)uVar7 < (int)unaff_s0)" (( "(") (binary_expression "(int)uVar7 < (int)unaff_s0" (cast_expression "(int)uVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar7")) (< "<") (cast_expression "(int)unaff_s0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s0"))) () ")")) (compound_statement "{\n    iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);\n    if (iVar9 == 0) {\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }\n    else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }\nLAB_0002507c:\n    piVar13 = piVar11 + uVar10;\n    uVar10 = unaff_s0;\n    if (piVar13[-2] == 0) {\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }\n  }" ({ "{") (expression_statement "iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);" (assignment_expression "iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7)" (identifier "iVar9") (= "=") (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7)" (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 "(piVar11,unaff_s5,piVar13,uVar7)" (( "(") (identifier "piVar11") (, ",") (identifier "unaff_s5") (, ",") (identifier "piVar13") (, ",") (identifier "uVar7") () ")")))) (; ";")) (if_statement "if (iVar9 == 0) {\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }\n    else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (piVar11 == unaff_s5) goto LAB_00025070;\nLAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;\n      piVar13 = piVar11 + uVar7;\n      do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);\n    }" ({ "{") (if_statement "if (piVar11 == unaff_s5) goto LAB_00025070;" (if "if") (parenthesized_expression "(piVar11 == unaff_s5)" (( "(") (binary_expression "piVar11 == unaff_s5" (identifier "piVar11") (== "==") (identifier "unaff_s5")) () ")")) (goto_statement "goto LAB_00025070;" (goto "goto") (statement_identifier "LAB_00025070") (; ";"))) (labeled_statement "LAB_0002523c:\n      unaff_s5 = unaff_s5 + uVar7;" (statement_identifier "LAB_0002523c") (: ":") (expression_statement "unaff_s5 = unaff_s5 + uVar7;" (assignment_expression "unaff_s5 = unaff_s5 + uVar7" (identifier "unaff_s5") (= "=") (binary_expression "unaff_s5 + uVar7" (identifier "unaff_s5") (+ "+") (identifier "uVar7"))) (; ";"))) (expression_statement "piVar13 = piVar11 + uVar7;" (assignment_expression "piVar13 = piVar11 + uVar7" (identifier "piVar13") (= "=") (binary_expression "piVar11 + uVar7" (identifier "piVar11") (+ "+") (identifier "uVar7"))) (; ";")) (do_statement "do {\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      } while ((int)uVar7 < (int)unaff_s0);" (do "do") (compound_statement "{\n        iVar9 = *unaff_s5;\n        uVar7 = uVar7 + 1;\n        unaff_s5 = unaff_s5 + 1;\n        *piVar13 = iVar9;\n        piVar13 = piVar13 + 1;\n      }" ({ "{") (expression_statement "iVar9 = *unaff_s5;" (assignment_expression "iVar9 = *unaff_s5" (identifier "iVar9") (= "=") (pointer_expression "*unaff_s5" (* "*") (identifier "unaff_s5"))) (; ";")) (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" (identifier "uVar7") (= "=") (binary_expression "uVar7 + 1" (identifier "uVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "unaff_s5 = unaff_s5 + 1;" (assignment_expression "unaff_s5 = unaff_s5 + 1" (identifier "unaff_s5") (= "=") (binary_expression "unaff_s5 + 1" (identifier "unaff_s5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*piVar13 = iVar9;" (assignment_expression "*piVar13 = iVar9" (pointer_expression "*piVar13" (* "*") (identifier "piVar13")) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "piVar13 = piVar13 + 1;" (assignment_expression "piVar13 = piVar13 + 1" (identifier "piVar13") (= "=") (binary_expression "piVar13 + 1" (identifier "piVar13") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)uVar7 < (int)unaff_s0)" (( "(") (binary_expression "(int)uVar7 < (int)unaff_s0" (cast_expression "(int)uVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar7")) (< "<") (cast_expression "(int)unaff_s0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s0"))) () ")")) (; ";")) (} "}")) (else_clause "else {\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }" (else "else") (compound_statement "{\n      uVar5 = uVar7 + 1;\n      piVar13 = unaff_s5 + uVar7;\n      iVar9 = *piVar13;\n      piVar11[uVar7] = iVar9 + -1;\n      if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }\n    }" ({ "{") (expression_statement "uVar5 = uVar7 + 1;" (assignment_expression "uVar5 = uVar7 + 1" (identifier "uVar5") (= "=") (binary_expression "uVar7 + 1" (identifier "uVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar13 = unaff_s5 + uVar7;" (assignment_expression "piVar13 = unaff_s5 + uVar7" (identifier "piVar13") (= "=") (binary_expression "unaff_s5 + uVar7" (identifier "unaff_s5") (+ "+") (identifier "uVar7"))) (; ";")) (expression_statement "iVar9 = *piVar13;" (assignment_expression "iVar9 = *piVar13" (identifier "iVar9") (= "=") (pointer_expression "*piVar13" (* "*") (identifier "piVar13"))) (; ";")) (expression_statement "piVar11[uVar7] = iVar9 + -1;" (assignment_expression "piVar11[uVar7] = iVar9 + -1" (subscript_expression "piVar11[uVar7]" (identifier "piVar11") ([ "[") (identifier "uVar7") (] "]")) (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) (; ";")) (if_statement "if (iVar9 == 0) {\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }\n      else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }\n      }" ({ "{") (if_statement "if ((int)uVar5 < (int)unaff_s0) {\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }" (if "if") (parenthesized_expression "((int)uVar5 < (int)unaff_s0)" (( "(") (binary_expression "(int)uVar5 < (int)unaff_s0" (cast_expression "(int)uVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar5")) (< "<") (cast_expression "(int)unaff_s0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s0"))) () ")")) (compound_statement "{\n          uVar5 = uVar7 + 2;\n          iVar9 = unaff_s5[uVar7 + 1];\n          piVar11[uVar7 + 1] = iVar9 + -1;\n          piVar8 = piVar11 + uVar7;\n          while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }\n          goto LAB_0002522c;\n        }" ({ "{") (expression_statement "uVar5 = uVar7 + 2;" (assignment_expression "uVar5 = uVar7 + 2" (identifier "uVar5") (= "=") (binary_expression "uVar7 + 2" (identifier "uVar7") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar9 = unaff_s5[uVar7 + 1];" (assignment_expression "iVar9 = unaff_s5[uVar7 + 1]" (identifier "iVar9") (= "=") (subscript_expression "unaff_s5[uVar7 + 1]" (identifier "unaff_s5") ([ "[") (binary_expression "uVar7 + 1" (identifier "uVar7") (+ "+") (number_literal "1")) (] "]"))) (; ";")) (expression_statement "piVar11[uVar7 + 1] = iVar9 + -1;" (assignment_expression "piVar11[uVar7 + 1] = iVar9 + -1" (subscript_expression "piVar11[uVar7 + 1]" (identifier "piVar11") ([ "[") (binary_expression "uVar7 + 1" (identifier "uVar7") (+ "+") (number_literal "1")) (] "]")) (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "piVar8 = piVar11 + uVar7;" (assignment_expression "piVar8 = piVar11 + uVar7" (identifier "piVar8") (= "=") (binary_expression "piVar11 + uVar7" (identifier "piVar11") (+ "+") (identifier "uVar7"))) (; ";")) (while_statement "while (iVar9 == 0) {\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }" (while "while") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            if (unaff_s0 == uVar5) goto LAB_0002507c;\n            iVar9 = piVar13[2];\n            uVar5 = uVar5 + 1;\n            piVar13 = piVar13 + 1;\n            piVar8[2] = iVar9 + -1;\n            piVar8 = piVar8 + 1;\n          }" ({ "{") (if_statement "if (unaff_s0 == uVar5) goto LAB_0002507c;" (if "if") (parenthesized_expression "(unaff_s0 == uVar5)" (( "(") (binary_expression "unaff_s0 == uVar5" (identifier "unaff_s0") (== "==") (identifier "uVar5")) () ")")) (goto_statement "goto LAB_0002507c;" (goto "goto") (statement_identifier "LAB_0002507c") (; ";"))) (expression_statement "iVar9 = piVar13[2];" (assignment_expression "iVar9 = piVar13[2]" (identifier "iVar9") (= "=") (subscript_expression "piVar13[2]" (identifier "piVar13") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar5 = uVar5 + 1;" (assignment_expression "uVar5 = uVar5 + 1" (identifier "uVar5") (= "=") (binary_expression "uVar5 + 1" (identifier "uVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar13 = piVar13 + 1;" (assignment_expression "piVar13 = piVar13 + 1" (identifier "piVar13") (= "=") (binary_expression "piVar13 + 1" (identifier "piVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar8[2] = iVar9 + -1;" (assignment_expression "piVar8[2] = iVar9 + -1" (subscript_expression "piVar8[2]" (identifier "piVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" (identifier "piVar8") (= "=") (binary_expression "piVar8 + 1" (identifier "piVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0002522c;" (goto "goto") (statement_identifier "LAB_0002522c") (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }" (else "else") (compound_statement "{\nLAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }\n      }" ({ "{") (labeled_statement "LAB_0002522c:\n        if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }" (statement_identifier "LAB_0002522c") (: ":") (if_statement "if (piVar11 != unaff_s5) {\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }" (if "if") (parenthesized_expression "(piVar11 != unaff_s5)" (( "(") (binary_expression "piVar11 != unaff_s5" (identifier "piVar11") (!= "!=") (identifier "unaff_s5")) () ")")) (compound_statement "{\n          uVar7 = uVar5;\n          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;\n          goto LAB_0002523c;\n        }" ({ "{") (expression_statement "uVar7 = uVar5;" (assignment_expression "uVar7 = uVar5" (identifier "uVar7") (= "=") (identifier "uVar5")) (; ";")) (if_statement "if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;" (if "if") (parenthesized_expression "((int)unaff_s0 <= (int)uVar5)" (( "(") (binary_expression "(int)unaff_s0 <= (int)uVar5" (cast_expression "(int)unaff_s0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s0")) (<= "<=") (cast_expression "(int)uVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar5"))) () ")")) (goto_statement "goto LAB_00025070;" (goto "goto") (statement_identifier "LAB_00025070") (; ";"))) (goto_statement "goto LAB_0002523c;" (goto "goto") (statement_identifier "LAB_0002523c") (; ";")) (} "}")))) (} "}")))) (} "}")))) (labeled_statement "LAB_0002507c:\n    piVar13 = piVar11 + uVar10;" (statement_identifier "LAB_0002507c") (: ":") (expression_statement "piVar13 = piVar11 + uVar10;" (assignment_expression "piVar13 = piVar11 + uVar10" (identifier "piVar13") (= "=") (binary_expression "piVar11 + uVar10" (identifier "piVar11") (+ "+") (identifier "uVar10"))) (; ";"))) (expression_statement "uVar10 = unaff_s0;" (assignment_expression "uVar10 = unaff_s0" (identifier "uVar10") (= "=") (identifier "unaff_s0")) (; ";")) (if_statement "if (piVar13[-2] == 0) {\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }" (if "if") (parenthesized_expression "(piVar13[-2] == 0)" (( "(") (binary_expression "piVar13[-2] == 0" (subscript_expression "piVar13[-2]" (identifier "piVar13") ([ "[") (number_literal "-2") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);\n      do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);\n    }" ({ "{") (expression_statement "iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);" (assignment_expression "iVar9 = (int)piVar11 + (int)(unaff_s2 + -1)" (identifier "iVar9") (= "=") (binary_expression "(int)piVar11 + (int)(unaff_s2 + -1)" (cast_expression "(int)piVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar11")) (+ "+") (cast_expression "(int)(unaff_s2 + -1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(unaff_s2 + -1)" (( "(") (binary_expression "unaff_s2 + -1" (identifier "unaff_s2") (+ "+") (number_literal "-1")) () ")"))))) (; ";")) (do_statement "do {\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      } while (*piVar13 == 0);" (do "do") (compound_statement "{\n        unaff_s0 = unaff_s0 - 1;\n        if (unaff_s0 == 0) goto LAB_000250a8;\n        piVar13 = (int *)(iVar9 + -8);\n        iVar9 = iVar9 + -4;\n        uVar10 = unaff_s0;\n      }" ({ "{") (expression_statement "unaff_s0 = unaff_s0 - 1;" (assignment_expression "unaff_s0 = unaff_s0 - 1" (identifier "unaff_s0") (= "=") (binary_expression "unaff_s0 - 1" (identifier "unaff_s0") (- "-") (number_literal "1"))) (; ";")) (if_statement "if (unaff_s0 == 0) goto LAB_000250a8;" (if "if") (parenthesized_expression "(unaff_s0 == 0)" (( "(") (binary_expression "unaff_s0 == 0" (identifier "unaff_s0") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000250a8;" (goto "goto") (statement_identifier "LAB_000250a8") (; ";"))) (expression_statement "piVar13 = (int *)(iVar9 + -8);" (assignment_expression "piVar13 = (int *)(iVar9 + -8)" (identifier "piVar13") (= "=") (cast_expression "(int *)(iVar9 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + -8)" (( "(") (binary_expression "iVar9 + -8" (identifier "iVar9") (+ "+") (number_literal "-8")) () ")")))) (; ";")) (expression_statement "iVar9 = iVar9 + -4;" (assignment_expression "iVar9 = iVar9 + -4" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -4" (identifier "iVar9") (+ "+") (number_literal "-4"))) (; ";")) (expression_statement "uVar10 = unaff_s0;" (assignment_expression "uVar10 = unaff_s0" (identifier "uVar10") (= "=") (identifier "unaff_s0")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*piVar13 == 0)" (( "(") (binary_expression "*piVar13 == 0" (pointer_expression "*piVar13" (* "*") (identifier "piVar13")) (== "==") (number_literal "0")) () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));\n    uVar5 = unaff_s0;\n    do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);\n    if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);\nLAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar10 = 0;\n  }" (else "else") (compound_statement "{\n    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);\n    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));\n    uVar5 = unaff_s0;\n    do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);\n    if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }\nLAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);\nLAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;\nLAB_000250a8:\n    uVar10 = 0;\n  }" ({ "{") (expression_statement "iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);" (assignment_expression "iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1)" (identifier "iVar9") (= "=") (binary_expression "(int)unaff_s5 + (int)(unaff_s2 + -1)" (cast_expression "(int)unaff_s5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s5")) (+ "+") (cast_expression "(int)(unaff_s2 + -1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(unaff_s2 + -1)" (( "(") (binary_expression "unaff_s2 + -1" (identifier "unaff_s2") (+ "+") (number_literal "-1")) () ")"))))) (; ";")) (expression_statement "puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));" (assignment_expression "puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1))" (identifier "puVar6") (= "=") (cast_expression "(uint *)((int)piVar13 + (int)(unaff_s2 + -1))" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar13 + (int)(unaff_s2 + -1))" (( "(") (binary_expression "(int)piVar13 + (int)(unaff_s2 + -1)" (cast_expression "(int)piVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar13")) (+ "+") (cast_expression "(int)(unaff_s2 + -1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(unaff_s2 + -1)" (( "(") (binary_expression "unaff_s2 + -1" (identifier "unaff_s2") (+ "+") (number_literal "-1")) () ")")))) () ")")))) (; ";")) (expression_statement "uVar5 = unaff_s0;" (assignment_expression "uVar5 = unaff_s0" (identifier "uVar5") (= "=") (identifier "unaff_s0")) (; ";")) (do_statement "do {\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    } while (*puVar1 == *puVar6);" (do "do") (compound_statement "{\n      uVar5 = uVar5 - 1;\n      puVar6 = puVar6 + -1;\n      piVar8 = unaff_s5;\n      if (uVar5 == 0xffffffff) goto LAB_00025058;\n      puVar1 = (uint *)(iVar9 + -4);\n      iVar9 = iVar9 + -4;\n    }" ({ "{") (expression_statement "uVar5 = uVar5 - 1;" (assignment_expression "uVar5 = uVar5 - 1" (identifier "uVar5") (= "=") (binary_expression "uVar5 - 1" (identifier "uVar5") (- "-") (number_literal "1"))) (; ";")) (expression_statement "puVar6 = puVar6 + -1;" (assignment_expression "puVar6 = puVar6 + -1" (identifier "puVar6") (= "=") (binary_expression "puVar6 + -1" (identifier "puVar6") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "piVar8 = unaff_s5;" (assignment_expression "piVar8 = unaff_s5" (identifier "piVar8") (= "=") (identifier "unaff_s5")) (; ";")) (if_statement "if (uVar5 == 0xffffffff) goto LAB_00025058;" (if "if") (parenthesized_expression "(uVar5 == 0xffffffff)" (( "(") (binary_expression "uVar5 == 0xffffffff" (identifier "uVar5") (== "==") (number_literal "0xffffffff")) () ")")) (goto_statement "goto LAB_00025058;" (goto "goto") (statement_identifier "LAB_00025058") (; ";"))) (expression_statement "puVar1 = (uint *)(iVar9 + -4);" (assignment_expression "puVar1 = (uint *)(iVar9 + -4)" (identifier "puVar1") (= "=") (cast_expression "(uint *)(iVar9 + -4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + -4)" (( "(") (binary_expression "iVar9 + -4" (identifier "iVar9") (+ "+") (number_literal "-4")) () ")")))) (; ";")) (expression_statement "iVar9 = iVar9 + -4;" (assignment_expression "iVar9 = iVar9 + -4" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -4" (identifier "iVar9") (+ "+") (number_literal "-4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*puVar1 == *puVar6)" (( "(") (binary_expression "*puVar1 == *puVar6" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (== "==") (pointer_expression "*puVar6" (* "*") (identifier "puVar6"))) () ")")) (; ";")) (if_statement "if (*puVar1 <= *puVar6) {\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }" (if "if") (parenthesized_expression "(*puVar1 <= *puVar6)" (( "(") (binary_expression "*puVar1 <= *puVar6" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (<= "<=") (pointer_expression "*puVar6" (* "*") (identifier "puVar6"))) () ")")) (compound_statement "{\n      piVar8 = piVar13;\n      piVar13 = unaff_s5;\n      uVar7 = unaff_s0;\n    }" ({ "{") (expression_statement "piVar8 = piVar13;" (assignment_expression "piVar8 = piVar13" (identifier "piVar8") (= "=") (identifier "piVar13")) (; ";")) (expression_statement "piVar13 = unaff_s5;" (assignment_expression "piVar13 = unaff_s5" (identifier "piVar13") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "uVar7 = unaff_s0;" (assignment_expression "uVar7 = unaff_s0" (identifier "uVar7") (= "=") (identifier "unaff_s0")) (; ";")) (} "}"))) (labeled_statement "LAB_00025058:\n    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);" (statement_identifier "LAB_00025058") (: ":") (expression_statement "(*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);" (call_expression "(*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7)" (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 "(piVar11,piVar8,piVar13,uVar7)" (( "(") (identifier "piVar11") (, ",") (identifier "piVar8") (, ",") (identifier "piVar13") (, ",") (identifier "uVar7") () ")"))) (; ";"))) (labeled_statement "LAB_00025070:\n    if (uVar3 != 0) goto LAB_0002507c;" (statement_identifier "LAB_00025070") (: ":") (if_statement "if (uVar3 != 0) goto LAB_0002507c;" (if "if") (parenthesized_expression "(uVar3 != 0)" (( "(") (binary_expression "uVar3 != 0" (identifier "uVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0002507c;" (goto "goto") (statement_identifier "LAB_0002507c") (; ";")))) (labeled_statement "LAB_000250a8:\n    uVar10 = 0;" (statement_identifier "LAB_000250a8") (: ":") (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";"))) (} "}")))))) (labeled_statement "LAB_000250b0:\n  uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(piVar11,uVar10,puVar12,iVar14);" (statement_identifier "LAB_000250b0") (: ":") (expression_statement "uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(piVar11,uVar10,puVar12,iVar14);" (assignment_expression "uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(piVar11,uVar10,puVar12,iVar14)" (identifier "uVar7") (= "=") (call_expression "(*(code *)PTR___gmpn_divisible_p_0009d0f8)(piVar11,uVar10,puVar12,iVar14)" (parenthesized_expression "(*(code *)PTR___gmpn_divisible_p_0009d0f8)" (( "(") (pointer_expression "*(code *)PTR___gmpn_divisible_p_0009d0f8" (* "*") (cast_expression "(code *)PTR___gmpn_divisible_p_0009d0f8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_divisible_p_0009d0f8"))) () ")")) (argument_list "(piVar11,uVar10,puVar12,iVar14)" (( "(") (identifier "piVar11") (, ",") (identifier "uVar10") (, ",") (identifier "puVar12") (, ",") (identifier "iVar14") () ")")))) (; ";"))) (expression_statement "unaff_s0 = uVar10;" (assignment_expression "unaff_s0 = uVar10" (identifier "unaff_s0") (= "=") (identifier "uVar10")) (; ";")) (if_statement "if (local_30 != 0) {\n    (*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();\n  }" (if "if") (parenthesized_expression "(local_30 != 0)" (( "(") (binary_expression "local_30 != 0" (identifier "local_30") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();\n  }" ({ "{") (expression_statement "(*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();" (call_expression "(*(code *)PTR___gmp_tmp_reentrant_free_0009d618)()" (parenthesized_expression "(*(code *)PTR___gmp_tmp_reentrant_free_0009d618)" (( "(") (pointer_expression "*(code *)PTR___gmp_tmp_reentrant_free_0009d618" (* "*") (cast_expression "(code *)PTR___gmp_tmp_reentrant_free_0009d618" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmp_tmp_reentrant_free_0009d618"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_0002514c:\n  while (local_2c != *(int *)puVar4) {\n    (*(code *)PTR___stack_chk_fail_0009d4d0)();\nLAB_00025608:\n    uVar5 = (uint)unaff_s2 >> 0x10;\n    iVar14 = 0xe;\n    if ((uVar5 & 0xff) == 0) {\n      uVar5 = (uint)unaff_s2 >> 0x18;\n      iVar14 = 0x1e;\n      if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }\n    }\nLAB_000255b8:\n    uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;\nLAB_0002547c:\n    unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));\nLAB_00025484:\n    piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar13 != (int *)0x0) {\n      uVar7 = (uint)(unaff_s2 == piVar13);\n    }\n  }" (statement_identifier "LAB_0002514c") (: ":") (while_statement "while (local_2c != *(int *)puVar4) {\n    (*(code *)PTR___stack_chk_fail_0009d4d0)();\nLAB_00025608:\n    uVar5 = (uint)unaff_s2 >> 0x10;\n    iVar14 = 0xe;\n    if ((uVar5 & 0xff) == 0) {\n      uVar5 = (uint)unaff_s2 >> 0x18;\n      iVar14 = 0x1e;\n      if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }\n    }\nLAB_000255b8:\n    uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;\nLAB_0002547c:\n    unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));\nLAB_00025484:\n    piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar13 != (int *)0x0) {\n      uVar7 = (uint)(unaff_s2 == piVar13);\n    }\n  }" (while "while") (parenthesized_expression "(local_2c != *(int *)puVar4)" (( "(") (binary_expression "local_2c != *(int *)puVar4" (identifier "local_2c") (!= "!=") (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4")))) () ")")) (compound_statement "{\n    (*(code *)PTR___stack_chk_fail_0009d4d0)();\nLAB_00025608:\n    uVar5 = (uint)unaff_s2 >> 0x10;\n    iVar14 = 0xe;\n    if ((uVar5 & 0xff) == 0) {\n      uVar5 = (uint)unaff_s2 >> 0x18;\n      iVar14 = 0x1e;\n      if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }\n    }\nLAB_000255b8:\n    uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;\nLAB_0002547c:\n    unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));\nLAB_00025484:\n    piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);\n    if (piVar13 != (int *)0x0) {\n      uVar7 = (uint)(unaff_s2 == piVar13);\n    }\n  }" ({ "{") (expression_statement "(*(code *)PTR___stack_chk_fail_0009d4d0)();" (call_expression "(*(code *)PTR___stack_chk_fail_0009d4d0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0009d4d0)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_0009d4d0" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_0009d4d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_0009d4d0"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_00025608:\n    uVar5 = (uint)unaff_s2 >> 0x10;" (statement_identifier "LAB_00025608") (: ":") (expression_statement "uVar5 = (uint)unaff_s2 >> 0x10;" (assignment_expression "uVar5 = (uint)unaff_s2 >> 0x10" (identifier "uVar5") (= "=") (binary_expression "(uint)unaff_s2 >> 0x10" (cast_expression "(uint)unaff_s2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s2")) (>> ">>") (number_literal "0x10"))) (; ";"))) (expression_statement "iVar14 = 0xe;" (assignment_expression "iVar14 = 0xe" (identifier "iVar14") (= "=") (number_literal "0xe")) (; ";")) (if_statement "if ((uVar5 & 0xff) == 0) {\n      uVar5 = (uint)unaff_s2 >> 0x18;\n      iVar14 = 0x1e;\n      if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }\n    }" (if "if") (parenthesized_expression "((uVar5 & 0xff) == 0)" (( "(") (binary_expression "(uVar5 & 0xff) == 0" (parenthesized_expression "(uVar5 & 0xff)" (( "(") (binary_expression "uVar5 & 0xff" (identifier "uVar5") (& "&") (number_literal "0xff")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar5 = (uint)unaff_s2 >> 0x18;\n      iVar14 = 0x1e;\n      if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }\n    }" ({ "{") (expression_statement "uVar5 = (uint)unaff_s2 >> 0x18;" (assignment_expression "uVar5 = (uint)unaff_s2 >> 0x18" (identifier "uVar5") (= "=") (binary_expression "(uint)unaff_s2 >> 0x18" (cast_expression "(uint)unaff_s2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s2")) (>> ">>") (number_literal "0x18"))) (; ";")) (expression_statement "iVar14 = 0x1e;" (assignment_expression "iVar14 = 0x1e" (identifier "iVar14") (= "=") (number_literal "0x1e")) (; ";")) (if_statement "if (uVar5 != 0) {\n        iVar14 = 0x16;\n      }" (if "if") (parenthesized_expression "(uVar5 != 0)" (( "(") (binary_expression "uVar5 != 0" (identifier "uVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar14 = 0x16;\n      }" ({ "{") (expression_statement "iVar14 = 0x16;" (assignment_expression "iVar14 = 0x16" (identifier "iVar14") (= "=") (number_literal "0x16")) (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_000255b8:\n    uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;" (statement_identifier "LAB_000255b8") (: ":") (expression_statement "uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;" (assignment_expression "uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14" (identifier "uVar5") (= "=") (binary_expression "(uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14" (cast_expression "(uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5]" (identifier "PTR___gmpn_clz_tab_0009d18c") ([ "[") (binary_expression "-uVar5 & uVar5" (unary_expression "-uVar5" (- "-") (identifier "uVar5")) (& "&") (identifier "uVar5")) (] "]")))) (+ "+") (identifier "iVar14"))) (; ";"))) (labeled_statement "LAB_0002547c:\n    unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));" (statement_identifier "LAB_0002547c") (: ":") (expression_statement "unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));" (assignment_expression "unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f))" (identifier "unaff_s2") (= "=") (cast_expression "(int *)((uint)unaff_s2 >> (uVar5 & 0x1f))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)unaff_s2 >> (uVar5 & 0x1f))" (( "(") (binary_expression "(uint)unaff_s2 >> (uVar5 & 0x1f)" (cast_expression "(uint)unaff_s2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s2")) (>> ">>") (parenthesized_expression "(uVar5 & 0x1f)" (( "(") (binary_expression "uVar5 & 0x1f" (identifier "uVar5") (& "&") (number_literal "0x1f")) () ")"))) () ")")))) (; ";"))) (labeled_statement "LAB_00025484:\n    piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);" (statement_identifier "LAB_00025484") (: ":") (expression_statement "piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);" (assignment_expression "piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2)" (identifier "piVar13") (= "=") (cast_expression "(int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2)" (parenthesized_expression "(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)" (( "(") (pointer_expression "*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8" (* "*") (cast_expression "(code *)PTR___gmpn_modexact_1c_odd_0009d3d8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___gmpn_modexact_1c_odd_0009d3d8"))) () ")")) (argument_list "(unaff_s5,unaff_s0,unaff_s2)" (( "(") (identifier "unaff_s5") (, ",") (identifier "unaff_s0") (, ",") (identifier "unaff_s2") () ")"))))) (; ";"))) (if_statement "if (piVar13 != (int *)0x0) {\n      uVar7 = (uint)(unaff_s2 == piVar13);\n    }" (if "if") (parenthesized_expression "(piVar13 != (int *)0x0)" (( "(") (binary_expression "piVar13 != (int *)0x0" (identifier "piVar13") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      uVar7 = (uint)(unaff_s2 == piVar13);\n    }" ({ "{") (expression_statement "uVar7 = (uint)(unaff_s2 == piVar13);" (assignment_expression "uVar7 = (uint)(unaff_s2 == piVar13)" (identifier "uVar7") (= "=") (call_expression "(uint)(unaff_s2 == piVar13)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(unaff_s2 == piVar13)" (( "(") (binary_expression "unaff_s2 == piVar13" (identifier "unaff_s2") (== "==") (identifier "piVar13")) () ")")))) (; ";")) (} "}"))) (} "}")))) (return_statement "return uVar7;" (return "return") (identifier "uVar7") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) 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)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (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)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (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) (identifier) (identifier))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (pointer_expression argument: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (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 (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (unary_expression argument: (identifier)) right: (identifier))))) right: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) right: (number_literal))))))) (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (identifier)))))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) alternative: (else_clause (compound_statement (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (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: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (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: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (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: (pointer_expression argument: (identifier)) right: (unary_expression argument: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal)))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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 (pointer_expression argument: (identifier)) (identifier))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (goto_statement label: (statement_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: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (goto_statement label: (statement_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: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_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: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (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 (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (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: (identifier)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) alternative: (else_clause (compound_statement (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: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) 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: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier))))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_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: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (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: (identifier))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (labeled_statement label: (statement_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))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) (labeled_statement label: (statement_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)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (labeled_statement label: (statement_identifier) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) body: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_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))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (binary_expression left: (unary_expression argument: (identifier)) right: (identifier))))) right: (identifier))))) (labeled_statement label: (statement_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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))))))) (return_statement (identifier)))))

uint MASKED(int param_1,int param_2,int param_3)

{
  uint *puVar1;
  int *piVar2;
  uint uVar3;
  undefined *puVar4;
  uint uVar5;
  uint *puVar6;
  uint uVar7;
  int *piVar8;
  int iVar9;
  uint uVar10;
  int *piVar11;
  undefined4 *puVar12;
  int *piVar13;
  uint unaff_s0;
  int *unaff_s2;
  int iVar14;
  int *unaff_s5;
  uint uVar15;
  int local_30;
  int local_2c;
  
  puVar4 = PTR___stack_chk_guard_0009d540;
  iVar14 = *(int *)(param_3 + 4);
  local_2c = *(int *)PTR___stack_chk_guard_0009d540;
  if (iVar14 == 0) {
    iVar14 = (*(code *)PTR___gmpz_cmp_0009d244)();
    uVar7 = (uint)(iVar14 == 0);
    goto LAB_0002514c;
  }
  if (iVar14 < 0) {
    iVar14 = -iVar14;
  }
  uVar5 = *(uint *)(param_1 + 4);
  puVar12 = *(undefined4 **)(param_3 + 8);
  uVar7 = uVar5;
  if ((int)uVar5 < 0) {
    uVar7 = -uVar5;
  }
  uVar15 = *(uint *)(param_2 + 4);
  uVar10 = uVar15;
  if ((int)uVar15 < 0) {
    uVar10 = -uVar15;
  }
  if ((int)uVar7 < (int)uVar10) {
    unaff_s5 = *(int **)(param_2 + 8);
    uVar3 = uVar15;
    unaff_s0 = uVar10;
  }
  else {
    unaff_s5 = *(int **)(param_1 + 8);
    uVar3 = uVar5;
    uVar5 = uVar15;
    unaff_s0 = uVar7;
    uVar7 = uVar10;
    param_1 = param_2;
  }
  if (uVar5 == 0) {
    uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(unaff_s5,unaff_s0,puVar12,iVar14);
    goto LAB_0002514c;
  }
  unaff_s2 = (int *)*puVar12;
  uVar5 = uVar3 ^ uVar5;
  piVar13 = *(int **)(param_1 + 8);
  piVar11 = (int *)*piVar13;
  uVar10 = (-(int)unaff_s2 & (uint)unaff_s2) - 1;
  if ((int)uVar5 < 0) {
    uVar15 = -(int)piVar11 - *unaff_s5;
  }
  else {
    uVar15 = *unaff_s5 - (int)piVar11;
  }
  if ((uVar15 & uVar10) != 0) {
    uVar7 = 0;
    goto LAB_0002514c;
  }
  if (uVar7 == 1) {
    if (iVar14 != 1) {
      if (((iVar14 != 2) || (unaff_s2 == (int *)0x0)) || (uVar10 < (uint)puVar12[1]))
      goto LAB_00024fe0;
      if (((uint)unaff_s2 & 0xff) == 0) {
        uVar7 = (uint)unaff_s2 >> 8;
        iVar14 = 6;
        if ((uVar7 & 0xff) == 0) {
          uVar7 = (uint)unaff_s2 >> 0x10;
          iVar14 = 0xe;
          if ((uVar7 & 0xff) == 0) {
            uVar7 = (uint)unaff_s2 >> 0x18;
            iVar14 = 0x1e;
            if (uVar7 != 0) {
              iVar14 = 0x16;
            }
          }
        }
        uVar7 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar7 & uVar7] + iVar14;
      }
      else {
        uVar7 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;
      }
      unaff_s2 = (int *)(puVar12[1] << (-uVar7 & 0x1f) | (uint)unaff_s2 >> (uVar7 & 0x1f));
    }
    if ((int)uVar5 < 0) {
      if (unaff_s2 < piVar11) {
        if (unaff_s2 < (int *)0x10000) {
          iVar14 = 0;
          if ((int *)0xff < unaff_s2) {
            iVar14 = 0x18;
          }
          iVar9 = 9;
          if ((int *)0xff >= unaff_s2) {
            iVar9 = 1;
          }
        }
        else {
          iVar14 = 0x10;
          if ((int *)0xffffff < unaff_s2) {
            iVar14 = 8;
          }
          iVar9 = 0x19;
          if ((int *)0xffffff >= unaff_s2) {
            iVar9 = 0x11;
          }
        }
        piVar13 = (int *)((int)unaff_s2 <<
                         (iVar14 - (uint)(byte)PTR___gmpn_clz_tab_0009d18c[(uint)unaff_s2 >> iVar9]
                         & 0x1f));
        if (piVar13 < piVar11) {
          piVar13 = (int *)((int)piVar13 << 1);
        }
        piVar11 = (int *)((int)piVar13 - (int)piVar11);
      }
      else {
        piVar11 = (int *)((int)unaff_s2 - (int)piVar11);
      }
    }
    if ((int)unaff_s0 < 10) {
      uVar7 = 1;
      if (((uint)unaff_s2 & 1) != 0) goto LAB_00025484;
      if (((uint)unaff_s2 & 0xff) == 0) {
        uVar5 = (uint)unaff_s2 >> 8;
        iVar14 = 6;
        if ((uVar5 & 0xff) == 0) goto LAB_00025608;
        goto LAB_000255b8;
      }
      uVar5 = (byte)PTR___gmpn_clz_tab_0009d18c[-(int)unaff_s2 & (uint)unaff_s2] - 2;
      goto LAB_0002547c;
    }
    piVar13 = (int *)(*(code *)PTR___gmpn_mod_1_0009d4c0)(unaff_s5,unaff_s0,unaff_s2);
    if (piVar11 < unaff_s2) {
      uVar7 = (uint)(piVar11 == piVar13);
    }
    else {
      if (unaff_s2 == (int *)0x0) {
        trap(7);
      }
      unaff_s2 = (int *)((uint)piVar11 % (uint)unaff_s2 ^ (uint)piVar13);
      uVar7 = (uint)(unaff_s2 == (int *)0x0);
    }
    goto LAB_0002514c;
  }
LAB_00024fe0:
  uVar10 = unaff_s0 + 1;
  unaff_s2 = (int *)(uVar10 * 4);
  local_30 = 0;
  if (unaff_s2 < (int *)0x7f01) {
    piVar11 = (int *)(&stack0xffffffb8 + -((int)unaff_s2 + 7U & 0xfffffff8));
  }
  else {
    piVar11 = (int *)(*(code *)PTR___gmp_tmp_reentrant_alloc_0009d2f0)(&local_30,unaff_s2);
  }
  if ((int)uVar5 < 0) {
    iVar9 = (*(code *)PTR___gmpn_add_n_0009d334)(piVar11,unaff_s5,piVar13,uVar7);
    uVar5 = uVar7;
    if (iVar9 != 0) {
      if ((int)unaff_s0 <= (int)uVar7) {
LAB_00025594:
        unaff_s2 = piVar11 + uVar10;
        unaff_s2[-1] = 1;
        goto LAB_000250b0;
      }
      uVar5 = uVar7 + 1;
      piVar13 = unaff_s5 + uVar7;
      iVar9 = *piVar13;
      piVar11[uVar7] = iVar9 + 1;
      if (iVar9 + 1 == 0) {
        if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025594;
        uVar5 = uVar7 + 2;
        iVar9 = unaff_s5[uVar7 + 1] + 1;
        piVar11[uVar7 + 1] = iVar9;
        piVar8 = piVar11 + uVar7;
        while (iVar9 == 0) {
          if (unaff_s0 == uVar5) {
            iVar9 = 1;
            unaff_s0 = uVar10;
            goto LAB_000253d0;
          }
          piVar2 = piVar13 + 2;
          uVar5 = uVar5 + 1;
          piVar13 = piVar13 + 1;
          iVar9 = *piVar2 + 1;
          piVar8[2] = iVar9;
          piVar8 = piVar8 + 1;
        }
      }
    }
    iVar9 = 0;
    if ((piVar11 == unaff_s5) || ((int)unaff_s0 <= (int)uVar5)) {
LAB_000253d0:
      unaff_s2 = piVar11 + uVar10;
      unaff_s2[-1] = iVar9;
      uVar10 = unaff_s0;
    }
    else {
      piVar8 = unaff_s5 + uVar5;
      unaff_s5 = (int *)((int)unaff_s5 + (int)(unaff_s2 + -1));
      piVar13 = piVar11 + uVar5;
      do {
        iVar9 = *piVar8;
        piVar8 = piVar8 + 1;
        *piVar13 = iVar9;
        piVar13 = piVar13 + 1;
      } while (unaff_s5 != piVar8);
      unaff_s2 = piVar11 + uVar10;
      unaff_s2[-1] = 0;
      uVar10 = unaff_s0;
    }
  }
  else if ((int)uVar7 < (int)unaff_s0) {
    iVar9 = (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,unaff_s5,piVar13,uVar7);
    if (iVar9 == 0) {
      if (piVar11 == unaff_s5) goto LAB_00025070;
LAB_0002523c:
      unaff_s5 = unaff_s5 + uVar7;
      piVar13 = piVar11 + uVar7;
      do {
        iVar9 = *unaff_s5;
        uVar7 = uVar7 + 1;
        unaff_s5 = unaff_s5 + 1;
        *piVar13 = iVar9;
        piVar13 = piVar13 + 1;
      } while ((int)uVar7 < (int)unaff_s0);
    }
    else {
      uVar5 = uVar7 + 1;
      piVar13 = unaff_s5 + uVar7;
      iVar9 = *piVar13;
      piVar11[uVar7] = iVar9 + -1;
      if (iVar9 == 0) {
        if ((int)uVar5 < (int)unaff_s0) {
          uVar5 = uVar7 + 2;
          iVar9 = unaff_s5[uVar7 + 1];
          piVar11[uVar7 + 1] = iVar9 + -1;
          piVar8 = piVar11 + uVar7;
          while (iVar9 == 0) {
            if (unaff_s0 == uVar5) goto LAB_0002507c;
            iVar9 = piVar13[2];
            uVar5 = uVar5 + 1;
            piVar13 = piVar13 + 1;
            piVar8[2] = iVar9 + -1;
            piVar8 = piVar8 + 1;
          }
          goto LAB_0002522c;
        }
      }
      else {
LAB_0002522c:
        if (piVar11 != unaff_s5) {
          uVar7 = uVar5;
          if ((int)unaff_s0 <= (int)uVar5) goto LAB_00025070;
          goto LAB_0002523c;
        }
      }
    }
LAB_0002507c:
    piVar13 = piVar11 + uVar10;
    uVar10 = unaff_s0;
    if (piVar13[-2] == 0) {
      iVar9 = (int)piVar11 + (int)(unaff_s2 + -1);
      do {
        unaff_s0 = unaff_s0 - 1;
        if (unaff_s0 == 0) goto LAB_000250a8;
        piVar13 = (int *)(iVar9 + -8);
        iVar9 = iVar9 + -4;
        uVar10 = unaff_s0;
      } while (*piVar13 == 0);
    }
  }
  else {
    iVar9 = (int)unaff_s5 + (int)(unaff_s2 + -1);
    puVar6 = (uint *)((int)piVar13 + (int)(unaff_s2 + -1));
    uVar5 = unaff_s0;
    do {
      uVar5 = uVar5 - 1;
      puVar6 = puVar6 + -1;
      piVar8 = unaff_s5;
      if (uVar5 == 0xffffffff) goto LAB_00025058;
      puVar1 = (uint *)(iVar9 + -4);
      iVar9 = iVar9 + -4;
    } while (*puVar1 == *puVar6);
    if (*puVar1 <= *puVar6) {
      piVar8 = piVar13;
      piVar13 = unaff_s5;
      uVar7 = unaff_s0;
    }
LAB_00025058:
    (*(code *)PTR___gmpn_sub_n_0009d514)(piVar11,piVar8,piVar13,uVar7);
LAB_00025070:
    if (uVar3 != 0) goto LAB_0002507c;
LAB_000250a8:
    uVar10 = 0;
  }
LAB_000250b0:
  uVar7 = (*(code *)PTR___gmpn_divisible_p_0009d0f8)(piVar11,uVar10,puVar12,iVar14);
  unaff_s0 = uVar10;
  if (local_30 != 0) {
    (*(code *)PTR___gmp_tmp_reentrant_free_0009d618)();
  }
LAB_0002514c:
  while (local_2c != *(int *)puVar4) {
    (*(code *)PTR___stack_chk_fail_0009d4d0)();
LAB_00025608:
    uVar5 = (uint)unaff_s2 >> 0x10;
    iVar14 = 0xe;
    if ((uVar5 & 0xff) == 0) {
      uVar5 = (uint)unaff_s2 >> 0x18;
      iVar14 = 0x1e;
      if (uVar5 != 0) {
        iVar14 = 0x16;
      }
    }
LAB_000255b8:
    uVar5 = (uint)(byte)PTR___gmpn_clz_tab_0009d18c[-uVar5 & uVar5] + iVar14;
LAB_0002547c:
    unaff_s2 = (int *)((uint)unaff_s2 >> (uVar5 & 0x1f));
LAB_00025484:
    piVar13 = (int *)(*(code *)PTR___gmpn_modexact_1c_odd_0009d3d8)(unaff_s5,unaff_s0,unaff_s2);
    if (piVar13 != (int *)0x0) {
      uVar7 = (uint)(unaff_s2 == piVar13);
    }
  }
  return uVar7;
}

