
/* DWARF original prototype: void GetPeakAbsoluteDistortion._omp_fn.5(anon_struct_36_9_8e29d406 *
   param_0) */

void __thiscall GetPeakAbsoluteDistortion__omp_fn_5(void *this)

{
  undefined *puVar1;
  int iVar2;
  int iVar3;
  double *pdVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  double *pdVar7;
  float *pfVar8;
  int *piVar9;
  double *pdVar10;
  double *pdVar11;
  double *pdVar12;
  int iVar13;
  undefined4 uVar14;
  int iVar15;
  int iVar16;
  float *pfVar17;
  double *pdVar18;
  float *pfVar19;
  int iVar20;
  int iVar21;
  int iVar22;
  int iVar23;
  int iVar24;
  int *piVar25;
  uint uVar26;
  double *pdVar27;
  int iVar28;
  double *pdVar29;
  double *pdVar30;
  double *pdVar31;
  int *piVar32;
  double *pdVar33;
  int iVar34;
  int iVar35;
  int iVar36;
  int iVar37;
  int iVar38;
  int iVar39;
  double *unaff_s0;
  int unaff_s1;
  void *unaff_s2;
  int unaff_s5;
  int unaff_s6;
  int unaff_s7;
  int iVar40;
  int iVar41;
  undefined *puVar42;
  int iVar43;
  int iVar44;
  undefined4 uVar45;
  code *pcVar46;
  float fVar48;
  double dVar47;
  double dVar49;
  double dVar50;
  float fVar51;
  double dVar52;
  float fVar53;
  double dVar54;
  double dVar55;
  double dVar56;
  double dVar57;
  double in_f20_21;
  double in_f22_23;
  double in_f24_25;
  double dVar58;
  ulonglong uVar59;
  int iVar60;
  int iStack_f80;
  double *pdStack_f7c;
  int iStack_f78;
  int iStack_f54;
  float *pfStack_f50;
  double *pdStack_f4c;
  double *pdStack_f48;
  double adStack_f18 [64];
  double dStack_d18;
  double adStack_d10 [65];
  double adStack_b08 [65];
  double adStack_900 [65];
  double adStack_6f8 [65];
  double adStack_4f0 [65];
  int iStack_2e4;
  double *pdStack_2e0;
  int iStack_2dc;
  void *pvStack_2d8;
  int iStack_2d4;
  float *pfStack_2d0;
  int iStack_2cc;
  int iStack_2c8;
  int iStack_2c4;
  int iStack_2c0;
  code *pcStack_2bc;
  double dStack_2b8;
  double dStack_2b0;
  double dStack_2a8;
  undefined4 local_290;
  undefined4 local_28c;
  double local_250 [65];
  undefined8 uStack_48;
  
  puVar1 = PTR___stack_chk_guard_003a9230;
  uStack_48._4_4_ = *(int *)PTR___stack_chk_guard_003a9230;
  pdVar10 = (double *)this;
  iVar2 = (*(code *)PTR_omp_get_num_threads_003a990c)();
  iVar3 = (*(code *)PTR_omp_get_thread_num_003a9508)();
  puVar42 = PTR_LAB_003a88e0;
  if (iVar2 == 0) {
    trap(7);
  }
  iVar60 = *(int *)((int)this + 0x1c) / iVar2;
  iVar2 = *(int *)((int)this + 0x1c) % iVar2;
  if (iVar3 < iVar2) {
    iVar60 = iVar60 + 1;
    iVar2 = 0;
  }
  iVar2 = iVar60 * iVar3 + iVar2;
  iVar60 = iVar60 + iVar2;
  pfVar8 = (float *)this;
  if (iVar2 < iVar60) {
    unaff_s7 = *(int *)((int)this + 4);
    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);
    pdVar4 = *(double **)((int)this + 0x14);
    in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);
                    /* WARNING: Load size is inaccurate */
    unaff_s1 = *this;
    uVar5 = *(undefined4 *)((int)this + 0x10);
    unaff_s6 = *(int *)((int)this + 0x18);
    uVar6 = *(undefined4 *)((int)this + 0xc);
    pdVar7 = *(double **)((int)this + 8);
    unaff_s5 = iVar2;
    in_f22_23 = in_f20_21;
    do {
      while (unaff_s2 = this, *(int *)((int)this + 0x20) == 0) {
LAB_00073194:
        unaff_s5 = unaff_s5 + 1;
        if (iVar60 == unaff_s5) goto LAB_000731a4;
      }
      unaff_s0 = (double *)0x1;
      local_290 = 1;
      local_28c = uVar6;
      pfVar8 = (float *)(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(uVar5,0,unaff_s5,unaff_s6)
      ;
      local_290 = 1;
      pdVar10 = pdVar4;
      local_28c = uVar6;
      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);
      if ((pfVar8 != (float *)0x0) && (iVar2 != 0)) {
        unaff_s0 = local_250;
        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);
        if (0 < unaff_s6) {
          iVar3 = 0;
          piVar32 = *(int **)(unaff_s1 + 0x2d0);
          dVar54 = *(double *)(puVar42 + 0x1440);
          iVar38 = piVar32[0x13];
          fVar51 = *(float *)(PTR_LAB_003a88e0 + 0x3708);
          dVar55 = *(double *)(puVar42 + 0x1438);
          do {
            while (((iVar38 != 0 && (pfVar8[piVar32[0x14]] <= fVar51)) ||
                   ((iVar24 = *(int *)(unaff_s7 + 0x2d0), *(int *)(iVar24 + 0x4c) != 0 &&
                    (*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4) <= fVar51))))) {
              iVar3 = iVar3 + 1;
              pfVar8 = pfVar8 + *(int *)(unaff_s1 + 0x2c0);
              iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;
              if (iVar3 == unaff_s6) goto LAB_00073140;
            }
            if (piVar32[0xd] == 0) {
              iVar40 = *(int *)(iVar24 + 0x34);
              dVar58 = dVar55;
            }
            else {
              iVar40 = *(int *)(iVar24 + 0x34);
              dVar58 = (double)pfVar8[piVar32[0xe]] * dVar54;
            }
            dVar50 = in_f24_25;
            if (iVar40 != 0) {
              dVar50 = (double)*(float *)(iVar2 + *(int *)(iVar24 + 0x38) * 4) * dVar54;
            }
            iVar40 = *(int *)(unaff_s1 + 0x2c0);
            if (0 < iVar40) {
              piVar9 = piVar32;
              pdVar10 = unaff_s0;
              pfVar17 = pfVar8;
              do {
                iVar43 = *piVar9;
                iVar15 = iVar24 + iVar43 * 0xc;
                if (((piVar32[iVar43 * 3 + 1] != 0) && (uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0)
                    ) && ((uVar26 & 2) != 0)) {
                  dVar52 = (double)*(float *)(iVar2 + *(int *)(iVar15 + 8) * 4);
                  if (iVar43 == 4) {
                    dVar52 = ABS((double)*pfVar17 - dVar52) * in_f22_23;
                  }
                  else {
                    dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21;
                  }
                  if (*pdVar10 < dVar52) {
                    *pdVar10 = dVar52;
                  }
                  if (local_250[0x40] < dVar52) {
                    local_250[0x40] = dVar52;
                  }
                }
                piVar9 = piVar9 + 3;
                pdVar10 = pdVar10 + 1;
                pfVar17 = pfVar17 + 1;
              } while (piVar9 != piVar32 + iVar40 * 3);
            }
            iVar3 = iVar3 + 1;
            pfVar8 = pfVar8 + iVar40;
            iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;
          } while (iVar3 != unaff_s6);
        }
LAB_00073140:
        (*(code *)PTR_GOMP_critical_name_start_003a9734)
                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);
        pdVar10 = pdVar7;
        do {
          if (*pdVar10 < *unaff_s0) {
            *pdVar10 = *unaff_s0;
          }
          unaff_s0 = unaff_s0 + 1;
          pdVar10 = pdVar10 + 1;
        } while ((double *)&uStack_48 != unaff_s0);
        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;
        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();
        goto LAB_00073194;
      }
      unaff_s5 = unaff_s5 + 1;
      *(undefined4 *)((int)this + 0x20) = 0;
    } while (iVar60 != unaff_s5);
  }
LAB_000731a4:
  if (uStack_48._4_4_ == *(int *)puVar1) {
    return;
  }
  pcVar46 = GetStructuralSimilarityDistortion__omp_fn_7;
  puVar42 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  piVar32 = *(int **)(puVar42 + 0x335fec);
  iStack_2e4 = *piVar32;
  pdStack_2e0 = unaff_s0;
  iStack_2dc = unaff_s1;
  pvStack_2d8 = unaff_s2;
  iStack_2d4 = iVar2;
  pfStack_2d0 = pfVar8;
  iStack_2cc = unaff_s5;
  iStack_2c8 = unaff_s6;
  iStack_2c4 = unaff_s7;
  iStack_2c0 = iVar60;
  pcStack_2bc = pcVar46;
  dStack_2b8 = in_f20_21;
  dStack_2b0 = in_f22_23;
  dStack_2a8 = in_f24_25;
  iVar3 = (**(code **)(puVar42 + 0x3366c8))();
  iVar2 = (**(code **)(puVar42 + 0x3362c4))();
  if (iVar3 == 0) {
    trap(7);
  }
  iVar60 = *(int *)(pdVar10 + 6) / iVar3;
  pdVar4 = (double *)(*(int *)(pdVar10 + 6) % iVar3);
  if (iVar2 < (int)pdVar4) {
    iVar60 = iVar60 + 1;
    pdVar4 = (double *)0x0;
  }
  pdStack_f48 = (double *)(iVar60 * iVar2 + (int)pdVar4);
  pdVar7 = (double *)(iVar60 + (int)pdStack_f48);
  if ((int)pdStack_f48 < (int)pdVar7) {
    dVar55 = pdVar10[1];
    iVar3 = *(int *)(pdVar10 + 5);
    pdVar18 = *(double **)((int)pdVar10 + 0x2c);
    dVar54 = *pdVar10;
    dVar58 = *(double *)(*(int *)(puVar42 + 0x33569c) + 0x1440);
    pdVar11 = *(double **)((int)pdVar10 + 0x24);
    uVar5 = *(undefined4 *)(pdVar10 + 4);
    uVar6 = *(undefined4 *)((int)pdVar10 + 0x1c);
    pdVar12 = *(double **)(pdVar10 + 3);
    iVar2 = *(int *)((int)pdVar10 + 0x14);
    iVar60 = *(int *)(pdVar10 + 2);
    pdVar4 = pdVar18;
    do {
      if (*(int *)((int)pdVar10 + 0x34) != 0) {
        pfStack_f50 = (float *)(**(code **)(puVar42 + 0x336418))
                                         (uVar5,-(*(int *)(iVar3 + 4) / 2),
                                          (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,
                                          (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),
                                          uVar6);
        pdVar4 = pdVar11;
        iStack_f54 = (**(code **)(puVar42 + 0x336418))
                               (pdVar11,-(*(int *)(iVar3 + 4) / 2),
                                (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,
                                (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),uVar6);
        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {
          *(undefined4 *)((int)pdVar10 + 0x34) = 0;
        }
        else {
          (**(code **)(puVar42 + 0x336490))(adStack_f18,0,0x208);
          if (0 < (int)pdVar18) {
            pdStack_f4c = (double *)0x0;
            iVar24 = *(int *)(iVar60 + 0x2c0);
            iVar38 = *(int *)(iVar2 + 0x2c0);
            iVar40 = iVar38 * 4;
            pcVar46 = *(code **)(puVar42 + 0x336490);
            do {
              (*pcVar46)(adStack_d10,0,0x208);
              (**(code **)(puVar42 + 0x336490))(adStack_900,0,0x208);
              (**(code **)(puVar42 + 0x336490))(adStack_b08,0,0x208);
              (**(code **)(puVar42 + 0x336490))(adStack_6f8,0,0x208);
              (**(code **)(puVar42 + 0x336490))(adStack_4f0,0,0x208);
              iVar15 = *(int *)(iVar3 + 8);
              pdStack_f7c = *(double **)(iVar3 + 0x14);
              if (0 < iVar15) {
                iVar43 = *(int *)(iVar3 + 4);
                iStack_f78 = 0;
                iStack_f80 = iStack_f54;
                pfVar8 = pfStack_f50;
                do {
                  if (0 < iVar43) {
                    iVar39 = 0;
                    pdVar4 = pdStack_f7c;
                    iVar36 = iStack_f80;
                    pfVar17 = pfVar8;
                    do {
                      if (0 < iVar24) {
                        iVar34 = *(int *)(iVar2 + 0x2d0);
                        piVar25 = *(int **)(iVar60 + 0x2d0);
                        iVar13 = 0;
                        piVar9 = piVar25;
                        pfVar19 = pfVar17;
                        do {
                          iVar21 = iVar34 + *piVar9 * 0xc;
                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&
                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&
                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {
                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);
                            pdVar29 = (double *)((int)adStack_900 + iVar13);
                            pdVar31 = (double *)((int)adStack_d10 + iVar13);
                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);
                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;
                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;
                            dVar50 = *pdVar4 * dVar52;
                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;
                            *pdVar29 = dVar56 * dVar52 + *pdVar29;
                            *pdVar27 = dVar52 * dVar50 + *pdVar27;
                            *pdVar31 = *pdVar31 + dVar56;
                            *pdVar33 = *pdVar33 + dVar50;
                          }
                          iVar13 = iVar13 + 8;
                          piVar9 = piVar9 + 3;
                          pfVar19 = pfVar19 + 1;
                        } while (iVar24 << 3 != iVar13);
                      }
                      iVar39 = iVar39 + 1;
                      pdVar4 = pdVar4 + 1;
                      pfVar17 = pfVar17 + iVar24;
                      iVar36 = iVar36 + iVar40;
                    } while (iVar39 != iVar43);
                    pdStack_f7c = pdStack_f7c + iVar43;
                    pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4);
                    iStack_f80 = iStack_f80 + iVar43 * iVar40;
                  }
                  pfVar8 = (float *)((int)pfVar8 + iVar24 * (int)pdVar18 * 4);
                  iStack_f78 = iStack_f78 + 1;
                  iStack_f80 = iStack_f80 + (int)pdVar18 * 4 * iVar38;
                } while (iStack_f78 != iVar15);
              }
              if (0 < iVar24) {
                piVar25 = *(int **)(iVar60 + 0x2d0);
                iVar15 = 0;
                iVar43 = *(int *)(iVar2 + 0x2d0);
                piVar9 = piVar25;
                do {
                  if (((piVar25[*piVar9 * 3 + 1] != 0) &&
                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)) &&
                     ((uVar26 & 2) != 0)) {
                    dVar57 = *(double *)((int)adStack_d10 + iVar15);
                    dVar50 = *(double *)((int)adStack_6f8 + iVar15);
                    pdVar4 = (double *)((int)adStack_f18 + iVar15);
                    dVar52 = dVar57 * dVar50;
                    dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52;
                    dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /
                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +
                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)
                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54));
                    *pdVar4 = *pdVar4 + dVar50;
                    dStack_d18 = dStack_d18 + dVar50;
                  }
                  iVar15 = iVar15 + 8;
                  piVar9 = piVar9 + 3;
                } while (iVar15 != iVar24 << 3);
              }
              pfStack_f50 = pfStack_f50 + iVar24;
              pdStack_f4c = (double *)((int)pdStack_f4c + 1);
              iStack_f54 = iStack_f54 + iVar40;
              pcVar46 = *(code **)(puVar42 + 0x336490);
            } while (pdVar18 != pdStack_f4c);
          }
          (**(code **)(puVar42 + 0x3364f0))(*(undefined4 *)(puVar42 + 0x3360c4));
          pdVar4 = adStack_f18;
          pdVar30 = pdVar12;
          do {
            pdVar27 = pdVar4 + 1;
            *pdVar30 = *pdVar30 + *pdVar4;
            pdVar4 = pdVar27;
            pdVar30 = pdVar30 + 1;
          } while (adStack_d10 != pdVar27);
          pdVar4 = *(double **)(puVar42 + 0x3360c4);
          (**(code **)(puVar42 + 0x336168))();
        }
      }
      pdStack_f48 = (double *)((int)pdStack_f48 + 1);
    } while (pdVar7 != pdStack_f48);
  }
  if (iStack_2e4 == *piVar32) {
    return;
  }
  pcVar46 = *(code **)(puVar42 + 0x335e20);
  (*pcVar46)();
  iVar3 = (**(code **)(pcVar46 + 0x336064))();
  iVar2 = (**(code **)(pcVar46 + 0x335c60))();
  if (iVar3 == 0) {
    trap(7);
  }
  iVar60 = *(int *)((int)pdVar4 + 0x34) / iVar3;
  iVar3 = *(int *)((int)pdVar4 + 0x34) % iVar3;
  if (iVar2 < iVar3) {
    iVar60 = iVar60 + 1;
    iVar3 = 0;
  }
  iVar3 = iVar60 * iVar2 + iVar3;
  iVar60 = iVar60 + iVar3;
  iVar2 = *(int *)(pcVar46 + 0x335038);
  if (iVar3 < iVar60) {
    iVar38 = *(int *)(pcVar46 + 0x335038);
    iVar24 = *(int *)(pcVar46 + 0x335038);
    uVar59 = (ulonglong)*(uint *)(iVar2 + 0x1a50);
    uVar5 = *(undefined4 *)((int)pdVar4 + 0x1c);
    dVar54 = *pdVar4;
    iVar40 = *(int *)(pdVar4 + 4);
    dVar55 = *(double *)(iVar38 + 0x1438);
    iVar15 = *(int *)((int)pdVar4 + 0xc);
    dVar58 = *(double *)(iVar24 + 0x1440);
    iVar36 = *(int *)(pdVar4 + 1);
    iVar43 = *(int *)(pdVar4 + 6);
    uVar45 = *(undefined4 *)(pdVar4 + 2);
    uVar6 = *(undefined4 *)(pdVar4 + 3);
    uVar14 = *(undefined4 *)((int)pdVar4 + 0x14);
    do {
      if (*(int *)(pdVar4 + 7) != 0) {
        iVar39 = (**(code **)(pcVar46 + 0x335db4))(uVar6,0,iVar3,iVar43,1,uVar45);
        iVar13 = (**(code **)(pcVar46 + 0x335db4))(uVar5,0,iVar3,iVar43,1,uVar45);
        iVar34 = (**(code **)(pcVar46 + 0x3353a8))(uVar14,0,iVar3,iVar43,1,uVar45);
        if (((iVar39 != 0) && (iVar13 != 0)) && (iVar34 != 0)) {
          if (0 < iVar43) {
            iVar21 = 0;
            piVar32 = *(int **)(iVar36 + 0x2d0);
            iVar35 = *(int *)((int)pdVar4 + 0x2c);
            fVar53 = *(float *)(iVar2 + 0x1a50);
            iVar41 = piVar32[0x13];
            iVar44 = *(int *)((int)pdVar4 + 0x24);
            fVar51 = *(float *)(*(int *)(pcVar46 + 0x335038) + 0x3708);
            iVar37 = *(int *)(pdVar4 + 5);
            dVar50 = *(double *)(iVar38 + 0x1438);
            dVar52 = *(double *)(iVar24 + 0x1440);
            do {
              while (((iVar41 != 0 && (*(float *)(iVar39 + piVar32[0x14] * 4) <= fVar51)) ||
                     ((iVar16 = *(int *)(iVar15 + 0x2d0), *(int *)(iVar16 + 0x4c) != 0 &&
                      (*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51))))) {
                iVar16 = *(int *)(iVar40 + 0x2d0);
                dVar57 = *(double *)(iVar35 + 0x30);
                dVar56 = *(double *)(iVar35 + 0x38);
                iVar22 = *(int *)(iVar16 + 0x14);
                iVar20 = *(int *)(iVar16 + 0x20);
                iVar28 = *(int *)(iVar16 + 0x28);
                *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar35 + 0x28);
                *(float *)(iVar34 + iVar22 * 4) = (float)dVar57;
                *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;
                if (iVar28 != 0) {
                  *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =
                       (float)*(double *)(iVar35 + 0x40);
                }
                if (*(int *)(iVar16 + 0x34) != 0) {
                  fVar48 = fVar53;
                  if (*(int *)(iVar35 + 8) != 0) {
                    fVar48 = (float)*(double *)(iVar35 + 0x48);
                  }
                  *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;
                }
                iVar21 = iVar21 + 1;
                iVar39 = iVar39 + *(int *)(iVar36 + 0x2c0) * 4;
                iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;
                iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;
                if (iVar21 == iVar43) goto LAB_00073d60;
              }
              dVar56 = dVar50;
              if (piVar32[0xd] != 0) {
                dVar56 = (double)*(float *)(iVar39 + piVar32[0xe] * 4) * dVar52;
              }
              dVar57 = dVar55;
              if (*(int *)(iVar16 + 0x34) != 0) {
                dVar57 = (double)*(float *)(iVar13 + *(int *)(iVar16 + 0x38) * 4) * dVar58;
              }
              iVar22 = *(int *)(iVar36 + 0x2c0);
              iVar20 = 0;
              piVar9 = piVar32;
              if (0 < iVar22) {
                do {
                  iVar23 = *piVar9;
                  iVar28 = iVar16 + iVar23 * 0xc;
                  if (((piVar32[iVar23 * 3 + 1] != 0) &&
                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)) && ((uVar26 & 2) != 0)) {
                    dVar49 = (double)*(float *)(iVar39 + iVar20 * 4);
                    dVar47 = (double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4);
                    if (iVar23 == 4) {
                      dVar49 = dVar49 - dVar47;
                      dVar49 = dVar49 * dVar49;
                    }
                    else {
                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;
                      dVar49 = dVar49 * dVar49;
                    }
                    if (dVar54 <= dVar49) {
                      iVar16 = *(int *)(iVar40 + 0x2d0);
                      dVar57 = *(double *)(iVar44 + 0x30);
                      dVar56 = *(double *)(iVar44 + 0x38);
                      iVar28 = *(int *)(iVar16 + 0x14);
                      iVar20 = *(int *)(iVar16 + 0x20);
                      iVar23 = *(int *)(iVar16 + 0x28);
                      *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =
                           (float)*(double *)(iVar44 + 0x28);
                      *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;
                      *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;
                      if (iVar23 != 0) {
                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =
                             (float)*(double *)(iVar44 + 0x40);
                      }
                      if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;
                      fVar48 = fVar53;
                      if (*(int *)(iVar44 + 8) != 0) {
                        fVar48 = (float)*(double *)(iVar44 + 0x48);
                      }
                      goto LAB_00073d28;
                    }
                  }
                  iVar20 = iVar20 + 1;
                  piVar9 = piVar9 + 3;
                } while (iVar22 != iVar20);
              }
              iVar16 = *(int *)(iVar40 + 0x2d0);
              dVar57 = *(double *)(iVar37 + 0x30);
              dVar56 = *(double *)(iVar37 + 0x38);
              iVar28 = *(int *)(iVar16 + 0x14);
              iVar20 = *(int *)(iVar16 + 0x20);
              iVar23 = *(int *)(iVar16 + 0x28);
              *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar37 + 0x28);
              *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;
              *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;
              if (iVar23 != 0) {
                *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) = (float)*(double *)(iVar37 + 0x40)
                ;
              }
              if (*(int *)(iVar16 + 0x34) != 0) {
                if (*(int *)(iVar37 + 8) == 0) {
                  fVar48 = (float)uVar59;
                }
                else {
                  fVar48 = (float)*(double *)(iVar37 + 0x48);
                }
LAB_00073d28:
                *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;
              }
LAB_00073d38:
              iVar21 = iVar21 + 1;
              iVar39 = iVar39 + iVar22 * 4;
              iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;
              iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;
            } while (iVar21 != iVar43);
          }
LAB_00073d60:
          iVar39 = (**(code **)(pcVar46 + 0x335c50))(uVar14,uVar45);
          if (iVar39 != 0) goto LAB_00073d80;
        }
        *(undefined4 *)(pdVar4 + 7) = 0;
      }
LAB_00073d80:
      iVar3 = iVar3 + 1;
    } while (iVar60 != iVar3);
  }
  return;
}



void FUN_00072dc0(double *param_1)

{
  undefined *puVar1;
  int iVar2;
  int iVar3;
  double *pdVar4;
  float fVar5;
  float fVar6;
  double *pdVar7;
  double *pdVar8;
  int *piVar9;
  double *pdVar10;
  double *pdVar11;
  float fVar12;
  int iVar13;
  undefined4 uVar14;
  undefined4 uVar15;
  undefined4 uVar16;
  int iVar17;
  int iVar18;
  int iVar19;
  double *pdVar20;
  float *pfVar21;
  int iVar22;
  int iVar23;
  int iVar24;
  int iVar25;
  int iVar26;
  int *piVar27;
  uint uVar28;
  double *pdVar29;
  int iVar30;
  double *pdVar31;
  double *pdVar32;
  double *pdVar33;
  int *piVar34;
  double *pdVar35;
  int iVar36;
  int iVar37;
  float fVar38;
  int iVar39;
  int iVar40;
  int iVar41;
  int iVar42;
  double *unaff_s0;
  float unaff_s1;
  double *unaff_s2;
  int unaff_s5;
  float unaff_s6;
  float unaff_s7;
  float *pfVar43;
  int iVar44;
  undefined *puVar45;
  int iVar46;
  int iVar47;
  undefined4 uVar48;
  code *pcVar49;
  float *pfVar50;
  double dVar51;
  double dVar52;
  double dVar53;
  float fVar54;
  double dVar55;
  double dVar56;
  double dVar57;
  double dVar58;
  double dVar59;
  double in_f20_21;
  double in_f22_23;
  double in_f24_25;
  double dVar60;
  ulonglong uVar61;
  int iVar62;
  int iStack_f80;
  double *pdStack_f7c;
  int iStack_f78;
  int iStack_f54;
  float *pfStack_f50;
  double *pdStack_f4c;
  double *pdStack_f48;
  double adStack_f18 [64];
  double dStack_d18;
  double adStack_d10 [65];
  double adStack_b08 [65];
  double adStack_900 [65];
  double adStack_6f8 [65];
  double adStack_4f0 [65];
  int iStack_2e4;
  double *pdStack_2e0;
  float fStack_2dc;
  double *pdStack_2d8;
  int iStack_2d4;
  double *pdStack_2d0;
  int iStack_2cc;
  float fStack_2c8;
  float fStack_2c4;
  int iStack_2c0;
  code *pcStack_2bc;
  double dStack_2b8;
  double dStack_2b0;
  double dStack_2a8;
  undefined4 local_290;
  float local_28c;
  double local_250 [65];
  undefined8 uStack_48;
  
  puVar1 = PTR___stack_chk_guard_003a9230;
  uStack_48._4_4_ = *(int *)PTR___stack_chk_guard_003a9230;
  pdVar10 = param_1;
  iVar2 = (*(code *)PTR_omp_get_num_threads_003a990c)();
  iVar3 = (*(code *)PTR_omp_get_thread_num_003a9508)();
  puVar45 = PTR_LAB_003a88e0;
  if (iVar2 == 0) {
    trap(7);
  }
  iVar62 = (int)*(float *)((int)param_1 + 0x1c) / iVar2;
  iVar2 = (int)*(float *)((int)param_1 + 0x1c) % iVar2;
  if (iVar3 < iVar2) {
    iVar62 = iVar62 + 1;
    iVar2 = 0;
  }
  iVar2 = iVar62 * iVar3 + iVar2;
  iVar62 = iVar62 + iVar2;
  pdVar8 = param_1;
  if (iVar2 < iVar62) {
    unaff_s7 = *(float *)((int)param_1 + 4);
    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);
    pdVar4 = *(double **)((int)param_1 + 0x14);
    in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);
    unaff_s1 = *(float *)param_1;
    fVar5 = *(float *)(param_1 + 2);
    unaff_s6 = *(float *)(param_1 + 3);
    fVar6 = *(float *)((int)param_1 + 0xc);
    pdVar7 = *(double **)(param_1 + 1);
    unaff_s5 = iVar2;
    in_f22_23 = in_f20_21;
    do {
      while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {
LAB_00073194:
        unaff_s5 = unaff_s5 + 1;
        if (iVar62 == unaff_s5) goto LAB_000731a4;
      }
      unaff_s0 = (double *)0x1;
      local_290 = 1;
      local_28c = fVar6;
      pdVar8 = (double *)
               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);
      local_290 = 1;
      pdVar10 = pdVar4;
      local_28c = fVar6;
      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);
      if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {
        unaff_s0 = local_250;
        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);
        if (0 < (int)unaff_s6) {
          fVar38 = 0.0;
          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);
          dVar56 = *(double *)(puVar45 + 0x1440);
          iVar3 = piVar34[0x13];
          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);
          dVar57 = *(double *)(puVar45 + 0x1438);
          do {
            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||
                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&
                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {
              fVar38 = (float)((int)fVar38 + 1);
              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);
              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;
              if (fVar38 == unaff_s6) goto LAB_00073140;
            }
            if (piVar34[0xd] == 0) {
              iVar46 = *(int *)(iVar26 + 0x34);
              dVar60 = dVar57;
            }
            else {
              iVar46 = *(int *)(iVar26 + 0x34);
              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;
            }
            dVar53 = in_f24_25;
            if (iVar46 != 0) {
              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;
            }
            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);
            if (0 < iVar46) {
              piVar9 = piVar34;
              pdVar10 = unaff_s0;
              pdVar11 = pdVar8;
              do {
                iVar42 = *piVar9;
                iVar40 = iVar26 + iVar42 * 0xc;
                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)
                    ) && ((uVar28 & 2) != 0)) {
                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);
                  if (iVar42 == 4) {
                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;
                  }
                  else {
                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;
                  }
                  if (*pdVar10 < dVar55) {
                    *pdVar10 = dVar55;
                  }
                  if (local_250[0x40] < dVar55) {
                    local_250[0x40] = dVar55;
                  }
                }
                piVar9 = piVar9 + 3;
                pdVar10 = pdVar10 + 1;
                pdVar11 = (double *)((int)pdVar11 + 4);
              } while (piVar9 != piVar34 + iVar46 * 3);
            }
            fVar38 = (float)((int)fVar38 + 1);
            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);
            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;
          } while (fVar38 != unaff_s6);
        }
LAB_00073140:
        (*(code *)PTR_GOMP_critical_name_start_003a9734)
                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);
        pdVar10 = pdVar7;
        do {
          if (*pdVar10 < *unaff_s0) {
            *pdVar10 = *unaff_s0;
          }
          unaff_s0 = unaff_s0 + 1;
          pdVar10 = pdVar10 + 1;
        } while ((double *)&uStack_48 != unaff_s0);
        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;
        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();
        goto LAB_00073194;
      }
      unaff_s5 = unaff_s5 + 1;
      *(float *)(param_1 + 4) = 0.0;
    } while (iVar62 != unaff_s5);
  }
LAB_000731a4:
  if (uStack_48._4_4_ == *(int *)puVar1) {
    return;
  }
  pcVar49 = FUN_00073244;
  puVar45 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  piVar34 = *(int **)(puVar45 + 0x335fec);
  iStack_2e4 = *piVar34;
  pdStack_2e0 = unaff_s0;
  fStack_2dc = unaff_s1;
  pdStack_2d8 = unaff_s2;
  iStack_2d4 = iVar2;
  pdStack_2d0 = pdVar8;
  iStack_2cc = unaff_s5;
  fStack_2c8 = unaff_s6;
  fStack_2c4 = unaff_s7;
  iStack_2c0 = iVar62;
  pcStack_2bc = pcVar49;
  dStack_2b8 = in_f20_21;
  dStack_2b0 = in_f22_23;
  dStack_2a8 = in_f24_25;
  iVar3 = (**(code **)(puVar45 + 0x3366c8))();
  iVar2 = (**(code **)(puVar45 + 0x3362c4))();
  if (iVar3 == 0) {
    trap(7);
  }
  iVar62 = (int)*(float *)(pdVar10 + 6) / iVar3;
  pdVar8 = (double *)((int)*(float *)(pdVar10 + 6) % iVar3);
  if (iVar2 < (int)pdVar8) {
    iVar62 = iVar62 + 1;
    pdVar8 = (double *)0x0;
  }
  pdStack_f48 = (double *)(iVar62 * iVar2 + (int)pdVar8);
  pdVar4 = (double *)(iVar62 + (int)pdStack_f48);
  if ((int)pdStack_f48 < (int)pdVar4) {
    dVar57 = pdVar10[1];
    fVar5 = *(float *)(pdVar10 + 5);
    pdVar20 = *(double **)((int)pdVar10 + 0x2c);
    dVar56 = *pdVar10;
    dVar60 = *(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440);
    pdVar7 = *(double **)((int)pdVar10 + 0x24);
    fVar6 = *(float *)(pdVar10 + 4);
    fVar38 = *(float *)((int)pdVar10 + 0x1c);
    pdVar11 = *(double **)(pdVar10 + 3);
    fVar54 = *(float *)((int)pdVar10 + 0x14);
    fVar12 = *(float *)(pdVar10 + 2);
    pdVar8 = pdVar20;
    do {
      if (*(float *)((int)pdVar10 + 0x34) != 0.0) {
        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))
                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),
                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,
                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),
                                          *(int *)((int)fVar5 + 8),fVar38);
        pdVar8 = pdVar7;
        iStack_f54 = (**(code **)(puVar45 + 0x336418))
                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),
                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,
                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),
                                fVar38);
        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {
          *(float *)((int)pdVar10 + 0x34) = 0.0;
        }
        else {
          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);
          if (0 < (int)pdVar20) {
            pdStack_f4c = (double *)0x0;
            iVar2 = *(int *)((int)fVar12 + 0x2c0);
            iVar3 = *(int *)((int)fVar54 + 0x2c0);
            iVar62 = iVar3 * 4;
            pcVar49 = *(code **)(puVar45 + 0x336490);
            do {
              (*pcVar49)(adStack_d10,0,0x208);
              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);
              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);
              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);
              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);
              iVar26 = *(int *)((int)fVar5 + 8);
              pdStack_f7c = *(double **)((int)fVar5 + 0x14);
              if (0 < iVar26) {
                iVar46 = *(int *)((int)fVar5 + 4);
                iStack_f78 = 0;
                iStack_f80 = iStack_f54;
                pfVar50 = pfStack_f50;
                do {
                  if (0 < iVar46) {
                    iVar42 = 0;
                    pdVar8 = pdStack_f7c;
                    iVar40 = iStack_f80;
                    pfVar43 = pfVar50;
                    do {
                      if (0 < iVar2) {
                        iVar36 = *(int *)((int)fVar54 + 0x2d0);
                        piVar27 = *(int **)((int)fVar12 + 0x2d0);
                        iVar13 = 0;
                        piVar9 = piVar27;
                        pfVar21 = pfVar43;
                        do {
                          iVar23 = iVar36 + *piVar9 * 0xc;
                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&
                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&
                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {
                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);
                            pdVar31 = (double *)((int)adStack_900 + iVar13);
                            pdVar33 = (double *)((int)adStack_d10 + iVar13);
                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);
                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;
                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;
                            dVar53 = *pdVar8 * dVar55;
                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;
                            *pdVar31 = dVar58 * dVar55 + *pdVar31;
                            *pdVar29 = dVar55 * dVar53 + *pdVar29;
                            *pdVar33 = *pdVar33 + dVar58;
                            *pdVar35 = *pdVar35 + dVar53;
                          }
                          iVar13 = iVar13 + 8;
                          piVar9 = piVar9 + 3;
                          pfVar21 = pfVar21 + 1;
                        } while (iVar2 << 3 != iVar13);
                      }
                      iVar42 = iVar42 + 1;
                      pdVar8 = pdVar8 + 1;
                      pfVar43 = pfVar43 + iVar2;
                      iVar40 = iVar40 + iVar62;
                    } while (iVar42 != iVar46);
                    pdStack_f7c = pdStack_f7c + iVar46;
                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);
                    iStack_f80 = iStack_f80 + iVar46 * iVar62;
                  }
                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);
                  iStack_f78 = iStack_f78 + 1;
                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;
                } while (iStack_f78 != iVar26);
              }
              if (0 < iVar2) {
                piVar27 = *(int **)((int)fVar12 + 0x2d0);
                iVar26 = 0;
                iVar46 = *(int *)((int)fVar54 + 0x2d0);
                piVar9 = piVar27;
                do {
                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&
                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&
                     ((uVar28 & 2) != 0)) {
                    dVar59 = *(double *)((int)adStack_d10 + iVar26);
                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);
                    pdVar8 = (double *)((int)adStack_f18 + iVar26);
                    dVar55 = dVar59 * dVar53;
                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;
                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /
                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +
                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)
                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));
                    *pdVar8 = *pdVar8 + dVar53;
                    dStack_d18 = dStack_d18 + dVar53;
                  }
                  iVar26 = iVar26 + 8;
                  piVar9 = piVar9 + 3;
                } while (iVar26 != iVar2 << 3);
              }
              pfStack_f50 = pfStack_f50 + iVar2;
              pdStack_f4c = (double *)((int)pdStack_f4c + 1);
              iStack_f54 = iStack_f54 + iVar62;
              pcVar49 = *(code **)(puVar45 + 0x336490);
            } while (pdVar20 != pdStack_f4c);
          }
          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));
          pdVar8 = adStack_f18;
          pdVar32 = pdVar11;
          do {
            pdVar29 = pdVar8 + 1;
            *pdVar32 = *pdVar32 + *pdVar8;
            pdVar8 = pdVar29;
            pdVar32 = pdVar32 + 1;
          } while (adStack_d10 != pdVar29);
          pdVar8 = *(double **)(puVar45 + 0x3360c4);
          (**(code **)(puVar45 + 0x336168))();
        }
      }
      pdStack_f48 = (double *)((int)pdStack_f48 + 1);
    } while (pdVar4 != pdStack_f48);
  }
  if (iStack_2e4 == *piVar34) {
    return;
  }
  pcVar49 = *(code **)(puVar45 + 0x335e20);
  (*pcVar49)();
  iVar3 = (**(code **)(pcVar49 + 0x336064))();
  iVar2 = (**(code **)(pcVar49 + 0x335c60))();
  if (iVar3 == 0) {
    trap(7);
  }
  iVar62 = *(int *)((int)pdVar8 + 0x34) / iVar3;
  iVar3 = *(int *)((int)pdVar8 + 0x34) % iVar3;
  if (iVar2 < iVar3) {
    iVar62 = iVar62 + 1;
    iVar3 = 0;
  }
  iVar3 = iVar62 * iVar2 + iVar3;
  iVar62 = iVar62 + iVar3;
  iVar2 = *(int *)(pcVar49 + 0x335038);
  if (iVar3 < iVar62) {
    iVar26 = *(int *)(pcVar49 + 0x335038);
    iVar46 = *(int *)(pcVar49 + 0x335038);
    uVar61 = (ulonglong)*(uint *)(iVar2 + 0x1a50);
    uVar14 = *(undefined4 *)((int)pdVar8 + 0x1c);
    dVar56 = *pdVar8;
    iVar40 = *(int *)(pdVar8 + 4);
    dVar57 = *(double *)(iVar26 + 0x1438);
    iVar42 = *(int *)((int)pdVar8 + 0xc);
    dVar60 = *(double *)(iVar46 + 0x1440);
    iVar36 = *(int *)(pdVar8 + 1);
    iVar13 = *(int *)(pdVar8 + 6);
    uVar48 = *(undefined4 *)(pdVar8 + 2);
    uVar15 = *(undefined4 *)(pdVar8 + 3);
    uVar16 = *(undefined4 *)((int)pdVar8 + 0x14);
    do {
      if (*(int *)(pdVar8 + 7) != 0) {
        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);
        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);
        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);
        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {
          if (0 < iVar13) {
            iVar37 = 0;
            piVar34 = *(int **)(iVar36 + 0x2d0);
            iVar39 = *(int *)((int)pdVar8 + 0x2c);
            fVar6 = *(float *)(iVar2 + 0x1a50);
            iVar44 = piVar34[0x13];
            iVar47 = *(int *)((int)pdVar8 + 0x24);
            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);
            iVar41 = *(int *)(pdVar8 + 5);
            dVar53 = *(double *)(iVar26 + 0x1438);
            dVar55 = *(double *)(iVar46 + 0x1440);
            do {
              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||
                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&
                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {
                iVar19 = *(int *)(iVar40 + 0x2d0);
                dVar59 = *(double *)(iVar39 + 0x30);
                dVar58 = *(double *)(iVar39 + 0x38);
                iVar24 = *(int *)(iVar19 + 0x14);
                iVar22 = *(int *)(iVar19 + 0x20);
                iVar30 = *(int *)(iVar19 + 0x28);
                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);
                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;
                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;
                if (iVar30 != 0) {
                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =
                       (float)*(double *)(iVar39 + 0x40);
                }
                if (*(int *)(iVar19 + 0x34) != 0) {
                  fVar38 = fVar6;
                  if (*(int *)(iVar39 + 8) != 0) {
                    fVar38 = (float)*(double *)(iVar39 + 0x48);
                  }
                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;
                }
                iVar37 = iVar37 + 1;
                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;
                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;
                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;
                if (iVar37 == iVar13) goto LAB_00073d60;
              }
              dVar58 = dVar53;
              if (piVar34[0xd] != 0) {
                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;
              }
              dVar59 = dVar57;
              if (*(int *)(iVar19 + 0x34) != 0) {
                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;
              }
              iVar24 = *(int *)(iVar36 + 0x2c0);
              iVar22 = 0;
              piVar9 = piVar34;
              if (0 < iVar24) {
                do {
                  iVar25 = *piVar9;
                  iVar30 = iVar19 + iVar25 * 0xc;
                  if (((piVar34[iVar25 * 3 + 1] != 0) &&
                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {
                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);
                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);
                    if (iVar25 == 4) {
                      dVar52 = dVar52 - dVar51;
                      dVar52 = dVar52 * dVar52;
                    }
                    else {
                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;
                      dVar52 = dVar52 * dVar52;
                    }
                    if (dVar56 <= dVar52) {
                      iVar19 = *(int *)(iVar40 + 0x2d0);
                      dVar59 = *(double *)(iVar47 + 0x30);
                      dVar58 = *(double *)(iVar47 + 0x38);
                      iVar30 = *(int *)(iVar19 + 0x14);
                      iVar22 = *(int *)(iVar19 + 0x20);
                      iVar25 = *(int *)(iVar19 + 0x28);
                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =
                           (float)*(double *)(iVar47 + 0x28);
                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;
                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;
                      if (iVar25 != 0) {
                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =
                             (float)*(double *)(iVar47 + 0x40);
                      }
                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;
                      fVar38 = fVar6;
                      if (*(int *)(iVar47 + 8) != 0) {
                        fVar38 = (float)*(double *)(iVar47 + 0x48);
                      }
                      goto LAB_00073d28;
                    }
                  }
                  iVar22 = iVar22 + 1;
                  piVar9 = piVar9 + 3;
                } while (iVar24 != iVar22);
              }
              iVar19 = *(int *)(iVar40 + 0x2d0);
              dVar59 = *(double *)(iVar41 + 0x30);
              dVar58 = *(double *)(iVar41 + 0x38);
              iVar30 = *(int *)(iVar19 + 0x14);
              iVar22 = *(int *)(iVar19 + 0x20);
              iVar25 = *(int *)(iVar19 + 0x28);
              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);
              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;
              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;
              if (iVar25 != 0) {
                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)
                ;
              }
              if (*(int *)(iVar19 + 0x34) != 0) {
                if (*(int *)(iVar41 + 8) == 0) {
                  fVar38 = (float)uVar61;
                }
                else {
                  fVar38 = (float)*(double *)(iVar41 + 0x48);
                }
LAB_00073d28:
                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;
              }
LAB_00073d38:
              iVar37 = iVar37 + 1;
              iVar23 = iVar23 + iVar24 * 4;
              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;
              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;
            } while (iVar37 != iVar13);
          }
LAB_00073d60:
          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);
          if (iVar23 != 0) goto LAB_00073d80;
        }
        *(undefined4 *)(pdVar8 + 7) = 0;
      }
LAB_00073d80:
      iVar3 = iVar3 + 1;
    } while (iVar62 != iVar3);
  }
  return;
}


lui gp,0x34
addiu gp,gp,-0x2510
addu gp,gp,t9
lw v0,-0x7680(gp)
addiu sp,sp,-0x2a0
lw t9,-0x6fa4(gp)
sdc1 f24,0x298(sp)
sw v0,0x38(sp)
sw gp,0x18(sp)
sw ra,0x284(sp)
sw s8,0x280(sp)
sw s4,0x270(sp)
or s4,a0,zero
sw s3,0x26c(sp)
sw s7,0x27c(sp)
sw s6,0x278(sp)
sw s5,0x274(sp)
sw s2,0x268(sp)
sw s1,0x264(sp)
sw s0,0x260(sp)
lw v0,0x0(v0)
sdc1 f22,0x290(sp)
sdc1 f20,0x288(sp)
sw v0,0x25c(sp)
jalr t9
_nop
lw gp,0x18(sp)
lw t9,-0x73a8(gp)
jalr t9
_or s3,v0,zero
lw s8,0x1c(s4)
lw gp,0x18(sp)
teq s3,zero
div s8,s3
mfhi s3
slt v1,v0,s3
beq v1,zero,0x00072e60
_mflo s8
addiu s8,s8,0x1
or s3,zero,zero
mul v1,s8,v0
addu s3,v1,s3
addu s8,s8,s3
slt v0,s3,s8
beq v0,zero,0x000731a0
_lw v0,-0x7fd0(gp)
or s2,s4,zero
lw v1,-0x7fd0(gp)
lw s5,0x4(s4)
ldc1 f22,0x1440(v0)
sw v0,0x48(sp)
lw v0,0x14(s4)
ldc1 f24,0x1438(v1)
lw s7,0x0(s4)
sw v0,0x2c(sp)
lw v0,0x10(s4)
lw s6,0x18(s4)
or s1,s7,zero
mov.D f20,f22
or s7,s5,zero
sw v1,0x4c(sp)
sw v0,0x30(sp)
or s5,s3,zero
lw v0,0xc(s4)
sw v0,0x34(sp)
lw v0,0x8(s4)
sw v0,0x3c(sp)
lw v0,0x20(s2)
beq v0,zero,0x00073194
_lw t9,-0x7254(gp)
lw s3,0x34(sp)
li s0,0x1
or a1,zero,zero
lw a0,0x30(sp)
or a3,s6,zero
sw s3,0x14(sp)
or a2,s5,zero
jalr t9
_sw s0,0x10(sp)
or a1,zero,zero
lw gp,0x18(sp)
or a3,s6,zero
lw a0,0x2c(sp)
or a2,s5,zero
sw s3,0x14(sp)
or s4,v0,zero
lw t9,-0x7254(gp)
jalr t9
_sw s0,0x10(sp)
lw gp,0x18(sp)
beq s4,zero,0x000731ec
_or s3,v0,zero
beq v0,zero,0x000731ec
_lw t9,-0x71dc(gp)
addiu s0,sp,0x50
li a2,0x208
or a1,zero,zero
jalr t9
_or a0,s0,zero
blez s6,0x00073140
_lw gp,0x18(sp)
lw v0,0x48(sp)
or t5,zero,zero
lw t3,0x2d0(s1)
li t8,0x4
lw t6,0x40(sp)
ldc1 f12,0x1440(v0)
lw v0,-0x7fd0(gp)
lw t7,0x4c(t3)
lwc1 f8,0x3708(v0)
lw v0,0x4c(sp)
or t2,t7,zero
lw t7,0x44(sp)
ldc1 f14,0x1438(v0)
mov.D f16,f12
b 0x00072fd0
_mov.S f6,f8
lw v0,0x50(t3)
sll v0,v0,0x2
addu v0,s4,v0
lwc1 f0,0x0(v0)
c.le.S f0,f6
bc1f 0x1,0x00072fd8
_nop
lw v1,0x2c0(s1)
addiu t5,t5,0x1
lw v0,0x2c0(s7)
sll v1,v1,0x2
sll v0,v0,0x2
addu s4,s4,v1
beq t5,s6,0x00073138
_addu s3,s3,v0
bne t2,zero,0x00072f94
_nop
lw a2,0x2d0(s7)
lw v0,0x4c(a2)
beq v0,zero,0x00073004
_nop
lw v0,0x50(a2)
sll v0,v0,0x2
addu v0,s3,v0
lwc1 f0,0x0(v0)
c.le.S f0,f8
bc1t 0x2,0x00072fb0
_nop
lw v0,0x34(t3)
beq v0,zero,0x00073224
_nop
lw v0,0x38(t3)
sll v0,v0,0x2
addu v0,s4,v0
lwc1 f2,0x0(v0)
lw v0,0x34(a2)
cvt.d.S f2,f2
beq v0,zero,0x00073230
_mul.D f2,f2,f16
lw v0,0x38(a2)
sll v0,v0,0x2
addu v0,s3,v0
lwc1 f10,0x0(v0)
cvt.d.S f10,f10
mul.D f10,f10,f12
lw a3,0x2c0(s1)
blez a3,0x0007311c
_or v0,t3,zero
sll a1,a3,0x1
addu a1,a1,a3
or v1,s0,zero
sll a1,a1,0x2
or a0,s4,zero
addu a1,a1,t3
lw t1,0x0(v0)
sll t0,t1,0x1
addu t0,t0,t1
sll t0,t0,0x2
addu t4,t3,t0
lw t4,0x4(t4)
beq t4,zero,0x0007310c
_addu t0,a2,t0
lw t4,0x4(t0)
beq t4,zero,0x0007310c
_andi t4,t4,0x2
beq t4,zero,0x0007310c
_nop
lw t0,0x8(t0)
lwc1 f0,0x0(a0)
sll t0,t0,0x2
addu t0,s3,t0
lwc1 f4,0x0(t0)
cvt.d.S f0,f0
beq t1,t8,0x00073200
_cvt.d.S f4,f4
mul.D f4,f10,f4
msub.D f0,f4,f2,f0
mfc1 t1,f0
mfhc1 t0,f0
or t7,t1,zero
mtc1 t1,f0
ext t6,t0,0x0,0x1f
mthc1 t6,f0
mul.D f0,f0,f20
ldc1 f4,0x0(v1)
c.lt.D f4,f0
bc1f 0x3,0x000730fc
_ldc1 f4,0x250(sp)
sdc1 f0,0x0(v1)
ldc1 f4,0x250(sp)
c.lt.D f4,f0
bc1f 0x4,0x0007310c
_nop
sdc1 f0,0x250(sp)
addiu v0,v0,0xc
addiu v1,v1,0x8
bne v0,a1,0x0007306c
_addiu a0,a0,0x4
lw v0,0x2c0(s7)
sll a3,a3,0x2
addiu t5,t5,0x1
addu s4,s4,a3
sll v0,v0,0x2
bne t5,s6,0x00072fd0
_addu s3,s3,v0
sw t7,0x44(sp)
sw t6,0x40(sp)
lw t9,-0x717c(gp)
lw a0,-0x726c(gp)
jalr t9
_nop
addiu v1,sp,0x258
lw gp,0x18(sp)
lw v0,0x3c(sp)
ldc1 f0,0x0(s0)
ldc1 f2,0x0(v0)
c.lt.D f2,f0
bc1f 0x00073174
_nop
sdc1 f0,0x0(v0)
addiu s0,s0,0x8
bne v1,s0,0x0007315c
_addiu v0,v0,0x8
lw t9,-0x7504(gp)
lw a0,-0x726c(gp)
jalr t9
_nop
lw gp,0x18(sp)
addiu s5,s5,0x1
bne s8,s5,0x00072ecc
_nop
lw v0,0x38(sp)
lw v1,0x25c(sp)
lw v0,0x0(v0)
bne v1,v0,0x00073238
_lw ra,0x284(sp)
lw s8,0x280(sp)
lw s7,0x27c(sp)
lw s6,0x278(sp)
lw s5,0x274(sp)
lw s4,0x270(sp)
lw s3,0x26c(sp)
lw s2,0x268(sp)
lw s1,0x264(sp)
lw s0,0x260(sp)
ldc1 f24,0x298(sp)
ldc1 f22,0x290(sp)
ldc1 f20,0x288(sp)
jr ra
_addiu sp,sp,0x2a0
addiu s5,s5,0x1
bne s8,s5,0x00072ecc
_sw zero,0x20(s2)
b 0x000731a4
_lw v0,0x38(sp)
sub.D D f0,f0,f4
mfhc1 t0,f0
mfc1 t1,f0
ext t4,t0,0x0,0x1f
sw t1,0x24(sp)
sw t4,0x20(sp)
ldc1 f0,0x20(sp)
b 0x000730e4
_mul.D f0,f0,f22
lw v0,0x34(a2)
bne v0,zero,0x00073030
_mov.D f2,f14
b 0x00073048
_mov.D f10,f24
lw t9,-0x784c(gp)
jalr t9
_nop
(translation_unit "void FUN_00072dc0(double *param_1)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  double *pdVar4;\n  float fVar5;\n  float fVar6;\n  double *pdVar7;\n  double *pdVar8;\n  int *piVar9;\n  double *pdVar10;\n  double *pdVar11;\n  float fVar12;\n  int iVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  undefined4 uVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  double *pdVar20;\n  float *pfVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  int iVar25;\n  int iVar26;\n  int *piVar27;\n  uint uVar28;\n  double *pdVar29;\n  int iVar30;\n  double *pdVar31;\n  double *pdVar32;\n  double *pdVar33;\n  int *piVar34;\n  double *pdVar35;\n  int iVar36;\n  int iVar37;\n  float fVar38;\n  int iVar39;\n  int iVar40;\n  int iVar41;\n  int iVar42;\n  double *unaff_s0;\n  float unaff_s1;\n  double *unaff_s2;\n  int unaff_s5;\n  float unaff_s6;\n  float unaff_s7;\n  float *pfVar43;\n  int iVar44;\n  undefined *puVar45;\n  int iVar46;\n  int iVar47;\n  undefined4 uVar48;\n  code *pcVar49;\n  float *pfVar50;\n  double dVar51;\n  double dVar52;\n  double dVar53;\n  float fVar54;\n  double dVar55;\n  double dVar56;\n  double dVar57;\n  double dVar58;\n  double dVar59;\n  double in_f20_21;\n  double in_f22_23;\n  double in_f24_25;\n  double dVar60;\n  ulonglong uVar61;\n  int iVar62;\n  int iStack_f80;\n  double *pdStack_f7c;\n  int iStack_f78;\n  int iStack_f54;\n  float *pfStack_f50;\n  double *pdStack_f4c;\n  double *pdStack_f48;\n  double adStack_f18 [64];\n  double dStack_d18;\n  double adStack_d10 [65];\n  double adStack_b08 [65];\n  double adStack_900 [65];\n  double adStack_6f8 [65];\n  double adStack_4f0 [65];\n  int iStack_2e4;\n  double *pdStack_2e0;\n  float fStack_2dc;\n  double *pdStack_2d8;\n  int iStack_2d4;\n  double *pdStack_2d0;\n  int iStack_2cc;\n  float fStack_2c8;\n  float fStack_2c4;\n  int iStack_2c0;\n  code *pcStack_2bc;\n  double dStack_2b8;\n  double dStack_2b0;\n  double dStack_2a8;\n  undefined4 local_290;\n  float local_28c;\n  double local_250 [65];\n  undefined8 uStack_48;\n  \n  puVar1 = PTR___stack_chk_guard_003a9230;\n  uStack_48._4_4_ = *(int *)PTR___stack_chk_guard_003a9230;\n  pdVar10 = param_1;\n  iVar2 = (*(code *)PTR_omp_get_num_threads_003a990c)();\n  iVar3 = (*(code *)PTR_omp_get_thread_num_003a9508)();\n  puVar45 = PTR_LAB_003a88e0;\n  if (iVar2 == 0) {\n    trap(7);\n  }\n  iVar62 = (int)*(float *)((int)param_1 + 0x1c) / iVar2;\n  iVar2 = (int)*(float *)((int)param_1 + 0x1c) % iVar2;\n  if (iVar3 < iVar2) {\n    iVar62 = iVar62 + 1;\n    iVar2 = 0;\n  }\n  iVar2 = iVar62 * iVar3 + iVar2;\n  iVar62 = iVar62 + iVar2;\n  pdVar8 = param_1;\n  if (iVar2 < iVar62) {\n    unaff_s7 = *(float *)((int)param_1 + 4);\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n    pdVar4 = *(double **)((int)param_1 + 0x14);\n    in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n    unaff_s1 = *(float *)param_1;\n    fVar5 = *(float *)(param_1 + 2);\n    unaff_s6 = *(float *)(param_1 + 3);\n    fVar6 = *(float *)((int)param_1 + 0xc);\n    pdVar7 = *(double **)(param_1 + 1);\n    unaff_s5 = iVar2;\n    in_f22_23 = in_f20_21;\n    do {\n      while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = fVar6;\n      pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = fVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(float *)(param_1 + 4) = 0.0;\n    } while (iVar62 != unaff_s5);\n  }\nLAB_000731a4:\n  if (uStack_48._4_4_ == *(int *)puVar1) {\n    return;\n  }\n  pcVar49 = FUN_00073244;\n  puVar45 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  piVar34 = *(int **)(puVar45 + 0x335fec);\n  iStack_2e4 = *piVar34;\n  pdStack_2e0 = unaff_s0;\n  fStack_2dc = unaff_s1;\n  pdStack_2d8 = unaff_s2;\n  iStack_2d4 = iVar2;\n  pdStack_2d0 = pdVar8;\n  iStack_2cc = unaff_s5;\n  fStack_2c8 = unaff_s6;\n  fStack_2c4 = unaff_s7;\n  iStack_2c0 = iVar62;\n  pcStack_2bc = pcVar49;\n  dStack_2b8 = in_f20_21;\n  dStack_2b0 = in_f22_23;\n  dStack_2a8 = in_f24_25;\n  iVar3 = (**(code **)(puVar45 + 0x3366c8))();\n  iVar2 = (**(code **)(puVar45 + 0x3362c4))();\n  if (iVar3 == 0) {\n    trap(7);\n  }\n  iVar62 = (int)*(float *)(pdVar10 + 6) / iVar3;\n  pdVar8 = (double *)((int)*(float *)(pdVar10 + 6) % iVar3);\n  if (iVar2 < (int)pdVar8) {\n    iVar62 = iVar62 + 1;\n    pdVar8 = (double *)0x0;\n  }\n  pdStack_f48 = (double *)(iVar62 * iVar2 + (int)pdVar8);\n  pdVar4 = (double *)(iVar62 + (int)pdStack_f48);\n  if ((int)pdStack_f48 < (int)pdVar4) {\n    dVar57 = pdVar10[1];\n    fVar5 = *(float *)(pdVar10 + 5);\n    pdVar20 = *(double **)((int)pdVar10 + 0x2c);\n    dVar56 = *pdVar10;\n    dVar60 = *(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440);\n    pdVar7 = *(double **)((int)pdVar10 + 0x24);\n    fVar6 = *(float *)(pdVar10 + 4);\n    fVar38 = *(float *)((int)pdVar10 + 0x1c);\n    pdVar11 = *(double **)(pdVar10 + 3);\n    fVar54 = *(float *)((int)pdVar10 + 0x14);\n    fVar12 = *(float *)(pdVar10 + 2);\n    pdVar8 = pdVar20;\n    do {\n      if (*(float *)((int)pdVar10 + 0x34) != 0.0) {\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    } while (pdVar4 != pdStack_f48);\n  }\n  if (iStack_2e4 == *piVar34) {\n    return;\n  }\n  pcVar49 = *(code **)(puVar45 + 0x335e20);\n  (*pcVar49)();\n  iVar3 = (**(code **)(pcVar49 + 0x336064))();\n  iVar2 = (**(code **)(pcVar49 + 0x335c60))();\n  if (iVar3 == 0) {\n    trap(7);\n  }\n  iVar62 = *(int *)((int)pdVar8 + 0x34) / iVar3;\n  iVar3 = *(int *)((int)pdVar8 + 0x34) % iVar3;\n  if (iVar2 < iVar3) {\n    iVar62 = iVar62 + 1;\n    iVar3 = 0;\n  }\n  iVar3 = iVar62 * iVar2 + iVar3;\n  iVar62 = iVar62 + iVar3;\n  iVar2 = *(int *)(pcVar49 + 0x335038);\n  if (iVar3 < iVar62) {\n    iVar26 = *(int *)(pcVar49 + 0x335038);\n    iVar46 = *(int *)(pcVar49 + 0x335038);\n    uVar61 = (ulonglong)*(uint *)(iVar2 + 0x1a50);\n    uVar14 = *(undefined4 *)((int)pdVar8 + 0x1c);\n    dVar56 = *pdVar8;\n    iVar40 = *(int *)(pdVar8 + 4);\n    dVar57 = *(double *)(iVar26 + 0x1438);\n    iVar42 = *(int *)((int)pdVar8 + 0xc);\n    dVar60 = *(double *)(iVar46 + 0x1440);\n    iVar36 = *(int *)(pdVar8 + 1);\n    iVar13 = *(int *)(pdVar8 + 6);\n    uVar48 = *(undefined4 *)(pdVar8 + 2);\n    uVar15 = *(undefined4 *)(pdVar8 + 3);\n    uVar16 = *(undefined4 *)((int)pdVar8 + 0x14);\n    do {\n      if (*(int *)(pdVar8 + 7) != 0) {\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    } while (iVar62 != iVar3);\n  }\n  return;\n}\n\n" (function_definition "void FUN_00072dc0(double *param_1)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  double *pdVar4;\n  float fVar5;\n  float fVar6;\n  double *pdVar7;\n  double *pdVar8;\n  int *piVar9;\n  double *pdVar10;\n  double *pdVar11;\n  float fVar12;\n  int iVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  undefined4 uVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  double *pdVar20;\n  float *pfVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  int iVar25;\n  int iVar26;\n  int *piVar27;\n  uint uVar28;\n  double *pdVar29;\n  int iVar30;\n  double *pdVar31;\n  double *pdVar32;\n  double *pdVar33;\n  int *piVar34;\n  double *pdVar35;\n  int iVar36;\n  int iVar37;\n  float fVar38;\n  int iVar39;\n  int iVar40;\n  int iVar41;\n  int iVar42;\n  double *unaff_s0;\n  float unaff_s1;\n  double *unaff_s2;\n  int unaff_s5;\n  float unaff_s6;\n  float unaff_s7;\n  float *pfVar43;\n  int iVar44;\n  undefined *puVar45;\n  int iVar46;\n  int iVar47;\n  undefined4 uVar48;\n  code *pcVar49;\n  float *pfVar50;\n  double dVar51;\n  double dVar52;\n  double dVar53;\n  float fVar54;\n  double dVar55;\n  double dVar56;\n  double dVar57;\n  double dVar58;\n  double dVar59;\n  double in_f20_21;\n  double in_f22_23;\n  double in_f24_25;\n  double dVar60;\n  ulonglong uVar61;\n  int iVar62;\n  int iStack_f80;\n  double *pdStack_f7c;\n  int iStack_f78;\n  int iStack_f54;\n  float *pfStack_f50;\n  double *pdStack_f4c;\n  double *pdStack_f48;\n  double adStack_f18 [64];\n  double dStack_d18;\n  double adStack_d10 [65];\n  double adStack_b08 [65];\n  double adStack_900 [65];\n  double adStack_6f8 [65];\n  double adStack_4f0 [65];\n  int iStack_2e4;\n  double *pdStack_2e0;\n  float fStack_2dc;\n  double *pdStack_2d8;\n  int iStack_2d4;\n  double *pdStack_2d0;\n  int iStack_2cc;\n  float fStack_2c8;\n  float fStack_2c4;\n  int iStack_2c0;\n  code *pcStack_2bc;\n  double dStack_2b8;\n  double dStack_2b0;\n  double dStack_2a8;\n  undefined4 local_290;\n  float local_28c;\n  double local_250 [65];\n  undefined8 uStack_48;\n  \n  puVar1 = PTR___stack_chk_guard_003a9230;\n  uStack_48._4_4_ = *(int *)PTR___stack_chk_guard_003a9230;\n  pdVar10 = param_1;\n  iVar2 = (*(code *)PTR_omp_get_num_threads_003a990c)();\n  iVar3 = (*(code *)PTR_omp_get_thread_num_003a9508)();\n  puVar45 = PTR_LAB_003a88e0;\n  if (iVar2 == 0) {\n    trap(7);\n  }\n  iVar62 = (int)*(float *)((int)param_1 + 0x1c) / iVar2;\n  iVar2 = (int)*(float *)((int)param_1 + 0x1c) % iVar2;\n  if (iVar3 < iVar2) {\n    iVar62 = iVar62 + 1;\n    iVar2 = 0;\n  }\n  iVar2 = iVar62 * iVar3 + iVar2;\n  iVar62 = iVar62 + iVar2;\n  pdVar8 = param_1;\n  if (iVar2 < iVar62) {\n    unaff_s7 = *(float *)((int)param_1 + 4);\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n    pdVar4 = *(double **)((int)param_1 + 0x14);\n    in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n    unaff_s1 = *(float *)param_1;\n    fVar5 = *(float *)(param_1 + 2);\n    unaff_s6 = *(float *)(param_1 + 3);\n    fVar6 = *(float *)((int)param_1 + 0xc);\n    pdVar7 = *(double **)(param_1 + 1);\n    unaff_s5 = iVar2;\n    in_f22_23 = in_f20_21;\n    do {\n      while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = fVar6;\n      pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = fVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(float *)(param_1 + 4) = 0.0;\n    } while (iVar62 != unaff_s5);\n  }\nLAB_000731a4:\n  if (uStack_48._4_4_ == *(int *)puVar1) {\n    return;\n  }\n  pcVar49 = FUN_00073244;\n  puVar45 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  piVar34 = *(int **)(puVar45 + 0x335fec);\n  iStack_2e4 = *piVar34;\n  pdStack_2e0 = unaff_s0;\n  fStack_2dc = unaff_s1;\n  pdStack_2d8 = unaff_s2;\n  iStack_2d4 = iVar2;\n  pdStack_2d0 = pdVar8;\n  iStack_2cc = unaff_s5;\n  fStack_2c8 = unaff_s6;\n  fStack_2c4 = unaff_s7;\n  iStack_2c0 = iVar62;\n  pcStack_2bc = pcVar49;\n  dStack_2b8 = in_f20_21;\n  dStack_2b0 = in_f22_23;\n  dStack_2a8 = in_f24_25;\n  iVar3 = (**(code **)(puVar45 + 0x3366c8))();\n  iVar2 = (**(code **)(puVar45 + 0x3362c4))();\n  if (iVar3 == 0) {\n    trap(7);\n  }\n  iVar62 = (int)*(float *)(pdVar10 + 6) / iVar3;\n  pdVar8 = (double *)((int)*(float *)(pdVar10 + 6) % iVar3);\n  if (iVar2 < (int)pdVar8) {\n    iVar62 = iVar62 + 1;\n    pdVar8 = (double *)0x0;\n  }\n  pdStack_f48 = (double *)(iVar62 * iVar2 + (int)pdVar8);\n  pdVar4 = (double *)(iVar62 + (int)pdStack_f48);\n  if ((int)pdStack_f48 < (int)pdVar4) {\n    dVar57 = pdVar10[1];\n    fVar5 = *(float *)(pdVar10 + 5);\n    pdVar20 = *(double **)((int)pdVar10 + 0x2c);\n    dVar56 = *pdVar10;\n    dVar60 = *(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440);\n    pdVar7 = *(double **)((int)pdVar10 + 0x24);\n    fVar6 = *(float *)(pdVar10 + 4);\n    fVar38 = *(float *)((int)pdVar10 + 0x1c);\n    pdVar11 = *(double **)(pdVar10 + 3);\n    fVar54 = *(float *)((int)pdVar10 + 0x14);\n    fVar12 = *(float *)(pdVar10 + 2);\n    pdVar8 = pdVar20;\n    do {\n      if (*(float *)((int)pdVar10 + 0x34) != 0.0) {\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    } while (pdVar4 != pdStack_f48);\n  }\n  if (iStack_2e4 == *piVar34) {\n    return;\n  }\n  pcVar49 = *(code **)(puVar45 + 0x335e20);\n  (*pcVar49)();\n  iVar3 = (**(code **)(pcVar49 + 0x336064))();\n  iVar2 = (**(code **)(pcVar49 + 0x335c60))();\n  if (iVar3 == 0) {\n    trap(7);\n  }\n  iVar62 = *(int *)((int)pdVar8 + 0x34) / iVar3;\n  iVar3 = *(int *)((int)pdVar8 + 0x34) % iVar3;\n  if (iVar2 < iVar3) {\n    iVar62 = iVar62 + 1;\n    iVar3 = 0;\n  }\n  iVar3 = iVar62 * iVar2 + iVar3;\n  iVar62 = iVar62 + iVar3;\n  iVar2 = *(int *)(pcVar49 + 0x335038);\n  if (iVar3 < iVar62) {\n    iVar26 = *(int *)(pcVar49 + 0x335038);\n    iVar46 = *(int *)(pcVar49 + 0x335038);\n    uVar61 = (ulonglong)*(uint *)(iVar2 + 0x1a50);\n    uVar14 = *(undefined4 *)((int)pdVar8 + 0x1c);\n    dVar56 = *pdVar8;\n    iVar40 = *(int *)(pdVar8 + 4);\n    dVar57 = *(double *)(iVar26 + 0x1438);\n    iVar42 = *(int *)((int)pdVar8 + 0xc);\n    dVar60 = *(double *)(iVar46 + 0x1440);\n    iVar36 = *(int *)(pdVar8 + 1);\n    iVar13 = *(int *)(pdVar8 + 6);\n    uVar48 = *(undefined4 *)(pdVar8 + 2);\n    uVar15 = *(undefined4 *)(pdVar8 + 3);\n    uVar16 = *(undefined4 *)((int)pdVar8 + 0x14);\n    do {\n      if (*(int *)(pdVar8 + 7) != 0) {\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    } while (iVar62 != iVar3);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00072dc0(double *param_1)" identifier (parameter_list "(double *param_1)" ( (parameter_declaration "double *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  double *pdVar4;\n  float fVar5;\n  float fVar6;\n  double *pdVar7;\n  double *pdVar8;\n  int *piVar9;\n  double *pdVar10;\n  double *pdVar11;\n  float fVar12;\n  int iVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  undefined4 uVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  double *pdVar20;\n  float *pfVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  int iVar25;\n  int iVar26;\n  int *piVar27;\n  uint uVar28;\n  double *pdVar29;\n  int iVar30;\n  double *pdVar31;\n  double *pdVar32;\n  double *pdVar33;\n  int *piVar34;\n  double *pdVar35;\n  int iVar36;\n  int iVar37;\n  float fVar38;\n  int iVar39;\n  int iVar40;\n  int iVar41;\n  int iVar42;\n  double *unaff_s0;\n  float unaff_s1;\n  double *unaff_s2;\n  int unaff_s5;\n  float unaff_s6;\n  float unaff_s7;\n  float *pfVar43;\n  int iVar44;\n  undefined *puVar45;\n  int iVar46;\n  int iVar47;\n  undefined4 uVar48;\n  code *pcVar49;\n  float *pfVar50;\n  double dVar51;\n  double dVar52;\n  double dVar53;\n  float fVar54;\n  double dVar55;\n  double dVar56;\n  double dVar57;\n  double dVar58;\n  double dVar59;\n  double in_f20_21;\n  double in_f22_23;\n  double in_f24_25;\n  double dVar60;\n  ulonglong uVar61;\n  int iVar62;\n  int iStack_f80;\n  double *pdStack_f7c;\n  int iStack_f78;\n  int iStack_f54;\n  float *pfStack_f50;\n  double *pdStack_f4c;\n  double *pdStack_f48;\n  double adStack_f18 [64];\n  double dStack_d18;\n  double adStack_d10 [65];\n  double adStack_b08 [65];\n  double adStack_900 [65];\n  double adStack_6f8 [65];\n  double adStack_4f0 [65];\n  int iStack_2e4;\n  double *pdStack_2e0;\n  float fStack_2dc;\n  double *pdStack_2d8;\n  int iStack_2d4;\n  double *pdStack_2d0;\n  int iStack_2cc;\n  float fStack_2c8;\n  float fStack_2c4;\n  int iStack_2c0;\n  code *pcStack_2bc;\n  double dStack_2b8;\n  double dStack_2b0;\n  double dStack_2a8;\n  undefined4 local_290;\n  float local_28c;\n  double local_250 [65];\n  undefined8 uStack_48;\n  \n  puVar1 = PTR___stack_chk_guard_003a9230;\n  uStack_48._4_4_ = *(int *)PTR___stack_chk_guard_003a9230;\n  pdVar10 = param_1;\n  iVar2 = (*(code *)PTR_omp_get_num_threads_003a990c)();\n  iVar3 = (*(code *)PTR_omp_get_thread_num_003a9508)();\n  puVar45 = PTR_LAB_003a88e0;\n  if (iVar2 == 0) {\n    trap(7);\n  }\n  iVar62 = (int)*(float *)((int)param_1 + 0x1c) / iVar2;\n  iVar2 = (int)*(float *)((int)param_1 + 0x1c) % iVar2;\n  if (iVar3 < iVar2) {\n    iVar62 = iVar62 + 1;\n    iVar2 = 0;\n  }\n  iVar2 = iVar62 * iVar3 + iVar2;\n  iVar62 = iVar62 + iVar2;\n  pdVar8 = param_1;\n  if (iVar2 < iVar62) {\n    unaff_s7 = *(float *)((int)param_1 + 4);\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n    pdVar4 = *(double **)((int)param_1 + 0x14);\n    in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n    unaff_s1 = *(float *)param_1;\n    fVar5 = *(float *)(param_1 + 2);\n    unaff_s6 = *(float *)(param_1 + 3);\n    fVar6 = *(float *)((int)param_1 + 0xc);\n    pdVar7 = *(double **)(param_1 + 1);\n    unaff_s5 = iVar2;\n    in_f22_23 = in_f20_21;\n    do {\n      while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = fVar6;\n      pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = fVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(float *)(param_1 + 4) = 0.0;\n    } while (iVar62 != unaff_s5);\n  }\nLAB_000731a4:\n  if (uStack_48._4_4_ == *(int *)puVar1) {\n    return;\n  }\n  pcVar49 = FUN_00073244;\n  puVar45 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  piVar34 = *(int **)(puVar45 + 0x335fec);\n  iStack_2e4 = *piVar34;\n  pdStack_2e0 = unaff_s0;\n  fStack_2dc = unaff_s1;\n  pdStack_2d8 = unaff_s2;\n  iStack_2d4 = iVar2;\n  pdStack_2d0 = pdVar8;\n  iStack_2cc = unaff_s5;\n  fStack_2c8 = unaff_s6;\n  fStack_2c4 = unaff_s7;\n  iStack_2c0 = iVar62;\n  pcStack_2bc = pcVar49;\n  dStack_2b8 = in_f20_21;\n  dStack_2b0 = in_f22_23;\n  dStack_2a8 = in_f24_25;\n  iVar3 = (**(code **)(puVar45 + 0x3366c8))();\n  iVar2 = (**(code **)(puVar45 + 0x3362c4))();\n  if (iVar3 == 0) {\n    trap(7);\n  }\n  iVar62 = (int)*(float *)(pdVar10 + 6) / iVar3;\n  pdVar8 = (double *)((int)*(float *)(pdVar10 + 6) % iVar3);\n  if (iVar2 < (int)pdVar8) {\n    iVar62 = iVar62 + 1;\n    pdVar8 = (double *)0x0;\n  }\n  pdStack_f48 = (double *)(iVar62 * iVar2 + (int)pdVar8);\n  pdVar4 = (double *)(iVar62 + (int)pdStack_f48);\n  if ((int)pdStack_f48 < (int)pdVar4) {\n    dVar57 = pdVar10[1];\n    fVar5 = *(float *)(pdVar10 + 5);\n    pdVar20 = *(double **)((int)pdVar10 + 0x2c);\n    dVar56 = *pdVar10;\n    dVar60 = *(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440);\n    pdVar7 = *(double **)((int)pdVar10 + 0x24);\n    fVar6 = *(float *)(pdVar10 + 4);\n    fVar38 = *(float *)((int)pdVar10 + 0x1c);\n    pdVar11 = *(double **)(pdVar10 + 3);\n    fVar54 = *(float *)((int)pdVar10 + 0x14);\n    fVar12 = *(float *)(pdVar10 + 2);\n    pdVar8 = pdVar20;\n    do {\n      if (*(float *)((int)pdVar10 + 0x34) != 0.0) {\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    } while (pdVar4 != pdStack_f48);\n  }\n  if (iStack_2e4 == *piVar34) {\n    return;\n  }\n  pcVar49 = *(code **)(puVar45 + 0x335e20);\n  (*pcVar49)();\n  iVar3 = (**(code **)(pcVar49 + 0x336064))();\n  iVar2 = (**(code **)(pcVar49 + 0x335c60))();\n  if (iVar3 == 0) {\n    trap(7);\n  }\n  iVar62 = *(int *)((int)pdVar8 + 0x34) / iVar3;\n  iVar3 = *(int *)((int)pdVar8 + 0x34) % iVar3;\n  if (iVar2 < iVar3) {\n    iVar62 = iVar62 + 1;\n    iVar3 = 0;\n  }\n  iVar3 = iVar62 * iVar2 + iVar3;\n  iVar62 = iVar62 + iVar3;\n  iVar2 = *(int *)(pcVar49 + 0x335038);\n  if (iVar3 < iVar62) {\n    iVar26 = *(int *)(pcVar49 + 0x335038);\n    iVar46 = *(int *)(pcVar49 + 0x335038);\n    uVar61 = (ulonglong)*(uint *)(iVar2 + 0x1a50);\n    uVar14 = *(undefined4 *)((int)pdVar8 + 0x1c);\n    dVar56 = *pdVar8;\n    iVar40 = *(int *)(pdVar8 + 4);\n    dVar57 = *(double *)(iVar26 + 0x1438);\n    iVar42 = *(int *)((int)pdVar8 + 0xc);\n    dVar60 = *(double *)(iVar46 + 0x1440);\n    iVar36 = *(int *)(pdVar8 + 1);\n    iVar13 = *(int *)(pdVar8 + 6);\n    uVar48 = *(undefined4 *)(pdVar8 + 2);\n    uVar15 = *(undefined4 *)(pdVar8 + 3);\n    uVar16 = *(undefined4 *)((int)pdVar8 + 0x14);\n    do {\n      if (*(int *)(pdVar8 + 7) != 0) {\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    } while (iVar62 != iVar3);\n  }\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "double *pdVar4;" primitive_type (pointer_declarator "*pdVar4" * identifier) ;) (declaration "float fVar5;" primitive_type identifier ;) (declaration "float fVar6;" primitive_type identifier ;) (declaration "double *pdVar7;" primitive_type (pointer_declarator "*pdVar7" * identifier) ;) (declaration "double *pdVar8;" primitive_type (pointer_declarator "*pdVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "double *pdVar10;" primitive_type (pointer_declarator "*pdVar10" * identifier) ;) (declaration "double *pdVar11;" primitive_type (pointer_declarator "*pdVar11" * identifier) ;) (declaration "float fVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "double *pdVar20;" primitive_type (pointer_declarator "*pdVar20" * identifier) ;) (declaration "float *pfVar21;" primitive_type (pointer_declarator "*pfVar21" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "int *piVar27;" primitive_type (pointer_declarator "*piVar27" * identifier) ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "double *pdVar29;" primitive_type (pointer_declarator "*pdVar29" * identifier) ;) (declaration "int iVar30;" primitive_type identifier ;) (declaration "double *pdVar31;" primitive_type (pointer_declarator "*pdVar31" * identifier) ;) (declaration "double *pdVar32;" primitive_type (pointer_declarator "*pdVar32" * identifier) ;) (declaration "double *pdVar33;" primitive_type (pointer_declarator "*pdVar33" * identifier) ;) (declaration "int *piVar34;" primitive_type (pointer_declarator "*piVar34" * identifier) ;) (declaration "double *pdVar35;" primitive_type (pointer_declarator "*pdVar35" * identifier) ;) (declaration "int iVar36;" primitive_type identifier ;) (declaration "int iVar37;" primitive_type identifier ;) (declaration "float fVar38;" primitive_type identifier ;) (declaration "int iVar39;" primitive_type identifier ;) (declaration "int iVar40;" primitive_type identifier ;) (declaration "int iVar41;" primitive_type identifier ;) (declaration "int iVar42;" primitive_type identifier ;) (declaration "double *unaff_s0;" primitive_type (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "float unaff_s1;" primitive_type identifier ;) (declaration "double *unaff_s2;" primitive_type (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "int unaff_s5;" primitive_type identifier ;) (declaration "float unaff_s6;" primitive_type identifier ;) (declaration "float unaff_s7;" primitive_type identifier ;) (declaration "float *pfVar43;" primitive_type (pointer_declarator "*pfVar43" * identifier) ;) (declaration "int iVar44;" primitive_type identifier ;) (declaration "undefined *puVar45;" type_identifier (pointer_declarator "*puVar45" * identifier) ;) (declaration "int iVar46;" primitive_type identifier ;) (declaration "int iVar47;" primitive_type identifier ;) (declaration "undefined4 uVar48;" type_identifier identifier ;) (declaration "code *pcVar49;" type_identifier (pointer_declarator "*pcVar49" * identifier) ;) (declaration "float *pfVar50;" primitive_type (pointer_declarator "*pfVar50" * identifier) ;) (declaration "double dVar51;" primitive_type identifier ;) (declaration "double dVar52;" primitive_type identifier ;) (declaration "double dVar53;" primitive_type identifier ;) (declaration "float fVar54;" primitive_type identifier ;) (declaration "double dVar55;" primitive_type identifier ;) (declaration "double dVar56;" primitive_type identifier ;) (declaration "double dVar57;" primitive_type identifier ;) (declaration "double dVar58;" primitive_type identifier ;) (declaration "double dVar59;" primitive_type identifier ;) (declaration "double in_f20_21;" primitive_type identifier ;) (declaration "double in_f22_23;" primitive_type identifier ;) (declaration "double in_f24_25;" primitive_type identifier ;) (declaration "double dVar60;" primitive_type identifier ;) (declaration "ulonglong uVar61;" type_identifier identifier ;) (declaration "int iVar62;" primitive_type identifier ;) (declaration "int iStack_f80;" primitive_type identifier ;) (declaration "double *pdStack_f7c;" primitive_type (pointer_declarator "*pdStack_f7c" * identifier) ;) (declaration "int iStack_f78;" primitive_type identifier ;) (declaration "int iStack_f54;" primitive_type identifier ;) (declaration "float *pfStack_f50;" primitive_type (pointer_declarator "*pfStack_f50" * identifier) ;) (declaration "double *pdStack_f4c;" primitive_type (pointer_declarator "*pdStack_f4c" * identifier) ;) (declaration "double *pdStack_f48;" primitive_type (pointer_declarator "*pdStack_f48" * identifier) ;) (declaration "double adStack_f18 [64];" primitive_type (array_declarator "adStack_f18 [64]" identifier [ number_literal ]) ;) (declaration "double dStack_d18;" primitive_type identifier ;) (declaration "double adStack_d10 [65];" primitive_type (array_declarator "adStack_d10 [65]" identifier [ number_literal ]) ;) (declaration "double adStack_b08 [65];" primitive_type (array_declarator "adStack_b08 [65]" identifier [ number_literal ]) ;) (declaration "double adStack_900 [65];" primitive_type (array_declarator "adStack_900 [65]" identifier [ number_literal ]) ;) (declaration "double adStack_6f8 [65];" primitive_type (array_declarator "adStack_6f8 [65]" identifier [ number_literal ]) ;) (declaration "double adStack_4f0 [65];" primitive_type (array_declarator "adStack_4f0 [65]" identifier [ number_literal ]) ;) (declaration "int iStack_2e4;" primitive_type identifier ;) (declaration "double *pdStack_2e0;" primitive_type (pointer_declarator "*pdStack_2e0" * identifier) ;) (declaration "float fStack_2dc;" primitive_type identifier ;) (declaration "double *pdStack_2d8;" primitive_type (pointer_declarator "*pdStack_2d8" * identifier) ;) (declaration "int iStack_2d4;" primitive_type identifier ;) (declaration "double *pdStack_2d0;" primitive_type (pointer_declarator "*pdStack_2d0" * identifier) ;) (declaration "int iStack_2cc;" primitive_type identifier ;) (declaration "float fStack_2c8;" primitive_type identifier ;) (declaration "float fStack_2c4;" primitive_type identifier ;) (declaration "int iStack_2c0;" primitive_type identifier ;) (declaration "code *pcStack_2bc;" type_identifier (pointer_declarator "*pcStack_2bc" * identifier) ;) (declaration "double dStack_2b8;" primitive_type identifier ;) (declaration "double dStack_2b0;" primitive_type identifier ;) (declaration "double dStack_2a8;" primitive_type identifier ;) (declaration "undefined4 local_290;" type_identifier identifier ;) (declaration "float local_28c;" primitive_type identifier ;) (declaration "double local_250 [65];" primitive_type (array_declarator "local_250 [65]" identifier [ number_literal ]) ;) (declaration "undefined8 uStack_48;" type_identifier identifier ;) (expression_statement "puVar1 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar1 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "uStack_48._4_4_ = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "uStack_48._4_4_ = *(int *)PTR___stack_chk_guard_003a9230" (field_expression "uStack_48._4_4_" identifier . field_identifier) = (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" * (cast_expression "(int *)PTR___stack_chk_guard_003a9230" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pdVar10 = param_1;" (assignment_expression "pdVar10 = param_1" identifier = identifier) ;) (expression_statement "iVar2 = (*(code *)PTR_omp_get_num_threads_003a990c)();" (assignment_expression "iVar2 = (*(code *)PTR_omp_get_num_threads_003a990c)()" identifier = (call_expression "(*(code *)PTR_omp_get_num_threads_003a990c)()" (parenthesized_expression "(*(code *)PTR_omp_get_num_threads_003a990c)" ( (pointer_expression "*(code *)PTR_omp_get_num_threads_003a990c" * (cast_expression "(code *)PTR_omp_get_num_threads_003a990c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "iVar3 = (*(code *)PTR_omp_get_thread_num_003a9508)();" (assignment_expression "iVar3 = (*(code *)PTR_omp_get_thread_num_003a9508)()" identifier = (call_expression "(*(code *)PTR_omp_get_thread_num_003a9508)()" (parenthesized_expression "(*(code *)PTR_omp_get_thread_num_003a9508)" ( (pointer_expression "*(code *)PTR_omp_get_thread_num_003a9508" * (cast_expression "(code *)PTR_omp_get_thread_num_003a9508" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "puVar45 = PTR_LAB_003a88e0;" (assignment_expression "puVar45 = PTR_LAB_003a88e0" identifier = identifier) ;) (if_statement "if (iVar2 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    trap(7);\n  }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "iVar62 = (int)*(float *)((int)param_1 + 0x1c) / iVar2;" (assignment_expression "iVar62 = (int)*(float *)((int)param_1 + 0x1c) / iVar2" identifier = (binary_expression "(int)*(float *)((int)param_1 + 0x1c) / iVar2" (cast_expression "(int)*(float *)((int)param_1 + 0x1c)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(float *)((int)param_1 + 0x1c)" * (cast_expression "(float *)((int)param_1 + 0x1c)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x1c)" ( (binary_expression "(int)param_1 + 0x1c" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) / identifier)) ;) (expression_statement "iVar2 = (int)*(float *)((int)param_1 + 0x1c) % iVar2;" (assignment_expression "iVar2 = (int)*(float *)((int)param_1 + 0x1c) % iVar2" identifier = (binary_expression "(int)*(float *)((int)param_1 + 0x1c) % iVar2" (cast_expression "(int)*(float *)((int)param_1 + 0x1c)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(float *)((int)param_1 + 0x1c)" * (cast_expression "(float *)((int)param_1 + 0x1c)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x1c)" ( (binary_expression "(int)param_1 + 0x1c" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) % identifier)) ;) (if_statement "if (iVar3 < iVar2) {\n    iVar62 = iVar62 + 1;\n    iVar2 = 0;\n  }" if (parenthesized_expression "(iVar3 < iVar2)" ( (binary_expression "iVar3 < iVar2" identifier < identifier) )) (compound_statement "{\n    iVar62 = iVar62 + 1;\n    iVar2 = 0;\n  }" { (expression_statement "iVar62 = iVar62 + 1;" (assignment_expression "iVar62 = iVar62 + 1" identifier = (binary_expression "iVar62 + 1" identifier + number_literal)) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) })) (expression_statement "iVar2 = iVar62 * iVar3 + iVar2;" (assignment_expression "iVar2 = iVar62 * iVar3 + iVar2" identifier = (binary_expression "iVar62 * iVar3 + iVar2" (binary_expression "iVar62 * iVar3" identifier * identifier) + identifier)) ;) (expression_statement "iVar62 = iVar62 + iVar2;" (assignment_expression "iVar62 = iVar62 + iVar2" identifier = (binary_expression "iVar62 + iVar2" identifier + identifier)) ;) (expression_statement "pdVar8 = param_1;" (assignment_expression "pdVar8 = param_1" identifier = identifier) ;) (if_statement "if (iVar2 < iVar62) {\n    unaff_s7 = *(float *)((int)param_1 + 4);\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n    pdVar4 = *(double **)((int)param_1 + 0x14);\n    in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n    unaff_s1 = *(float *)param_1;\n    fVar5 = *(float *)(param_1 + 2);\n    unaff_s6 = *(float *)(param_1 + 3);\n    fVar6 = *(float *)((int)param_1 + 0xc);\n    pdVar7 = *(double **)(param_1 + 1);\n    unaff_s5 = iVar2;\n    in_f22_23 = in_f20_21;\n    do {\n      while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = fVar6;\n      pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = fVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(float *)(param_1 + 4) = 0.0;\n    } while (iVar62 != unaff_s5);\n  }" if (parenthesized_expression "(iVar2 < iVar62)" ( (binary_expression "iVar2 < iVar62" identifier < identifier) )) (compound_statement "{\n    unaff_s7 = *(float *)((int)param_1 + 4);\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n    pdVar4 = *(double **)((int)param_1 + 0x14);\n    in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n    unaff_s1 = *(float *)param_1;\n    fVar5 = *(float *)(param_1 + 2);\n    unaff_s6 = *(float *)(param_1 + 3);\n    fVar6 = *(float *)((int)param_1 + 0xc);\n    pdVar7 = *(double **)(param_1 + 1);\n    unaff_s5 = iVar2;\n    in_f22_23 = in_f20_21;\n    do {\n      while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = fVar6;\n      pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = fVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(float *)(param_1 + 4) = 0.0;\n    } while (iVar62 != unaff_s5);\n  }" { (expression_statement "unaff_s7 = *(float *)((int)param_1 + 4);" (assignment_expression "unaff_s7 = *(float *)((int)param_1 + 4)" identifier = (pointer_expression "*(float *)((int)param_1 + 4)" * (cast_expression "(float *)((int)param_1 + 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 4)" ( (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);" (assignment_expression "in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440)" identifier = (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1440)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1440)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1440)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1440" identifier + number_literal) ))))) ;) (expression_statement "pdVar4 = *(double **)((int)param_1 + 0x14);" (assignment_expression "pdVar4 = *(double **)((int)param_1 + 0x14)" identifier = (pointer_expression "*(double **)((int)param_1 + 0x14)" * (cast_expression "(double **)((int)param_1 + 0x14)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)param_1 + 0x14)" ( (binary_expression "(int)param_1 + 0x14" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);" (assignment_expression "in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438)" identifier = (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1438)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1438)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1438" identifier + number_literal) ))))) ;) (expression_statement "unaff_s1 = *(float *)param_1;" (assignment_expression "unaff_s1 = *(float *)param_1" identifier = (pointer_expression "*(float *)param_1" * (cast_expression "(float *)param_1" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "fVar5 = *(float *)(param_1 + 2);" (assignment_expression "fVar5 = *(float *)(param_1 + 2)" identifier = (pointer_expression "*(float *)(param_1 + 2)" * (cast_expression "(float *)(param_1 + 2)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) ))))) ;) (expression_statement "unaff_s6 = *(float *)(param_1 + 3);" (assignment_expression "unaff_s6 = *(float *)(param_1 + 3)" identifier = (pointer_expression "*(float *)(param_1 + 3)" * (cast_expression "(float *)(param_1 + 3)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) ))))) ;) (expression_statement "fVar6 = *(float *)((int)param_1 + 0xc);" (assignment_expression "fVar6 = *(float *)((int)param_1 + 0xc)" identifier = (pointer_expression "*(float *)((int)param_1 + 0xc)" * (cast_expression "(float *)((int)param_1 + 0xc)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0xc)" ( (binary_expression "(int)param_1 + 0xc" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pdVar7 = *(double **)(param_1 + 1);" (assignment_expression "pdVar7 = *(double **)(param_1 + 1)" identifier = (pointer_expression "*(double **)(param_1 + 1)" * (cast_expression "(double **)(param_1 + 1)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 1)" ( (binary_expression "param_1 + 1" identifier + number_literal) ))))) ;) (expression_statement "unaff_s5 = iVar2;" (assignment_expression "unaff_s5 = iVar2" identifier = identifier) ;) (expression_statement "in_f22_23 = in_f20_21;" (assignment_expression "in_f22_23 = in_f20_21" identifier = identifier) ;) (do_statement "do {\n      while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = fVar6;\n      pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = fVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(float *)(param_1 + 4) = 0.0;\n    } while (iVar62 != unaff_s5);" do (compound_statement "{\n      while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = fVar6;\n      pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = fVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(float *)(param_1 + 4) = 0.0;\n    }" { (while_statement "while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }" while (parenthesized_expression "(unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0)" ( (comma_expression "unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0" (assignment_expression "unaff_s2 = param_1" identifier = identifier) , (binary_expression "*(float *)(param_1 + 4) == 0.0" (pointer_expression "*(float *)(param_1 + 4)" * (cast_expression "(float *)(param_1 + 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) == number_literal)) )) (compound_statement "{\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }" { (labeled_statement "LAB_00073194:\n        unaff_s5 = unaff_s5 + 1;" statement_identifier : (expression_statement "unaff_s5 = unaff_s5 + 1;" (assignment_expression "unaff_s5 = unaff_s5 + 1" identifier = (binary_expression "unaff_s5 + 1" identifier + number_literal)) ;)) (if_statement "if (iVar62 == unaff_s5) goto LAB_000731a4;" if (parenthesized_expression "(iVar62 == unaff_s5)" ( (binary_expression "iVar62 == unaff_s5" identifier == identifier) )) (goto_statement "goto LAB_000731a4;" goto statement_identifier ;)) })) (expression_statement "unaff_s0 = (double *)0x1;" (assignment_expression "unaff_s0 = (double *)0x1" identifier = (cast_expression "(double *)0x1" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_290 = 1;" (assignment_expression "local_290 = 1" identifier = number_literal) ;) (expression_statement "local_28c = fVar6;" (assignment_expression "local_28c = fVar6" identifier = identifier) ;) (expression_statement "pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);" (assignment_expression "pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6)" identifier = (cast_expression "(double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6)" (parenthesized_expression "(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)" ( (pointer_expression "*(code *)PTR_GetCacheViewVirtualPixels_003a965c" * (cast_expression "(code *)PTR_GetCacheViewVirtualPixels_003a965c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(fVar5,0,unaff_s5,unaff_s6)" ( identifier , number_literal , identifier , identifier ))))) ;) (expression_statement "local_290 = 1;" (assignment_expression "local_290 = 1" identifier = number_literal) ;) (expression_statement "pdVar10 = pdVar4;" (assignment_expression "pdVar10 = pdVar4" identifier = identifier) ;) (expression_statement "local_28c = fVar6;" (assignment_expression "local_28c = fVar6" identifier = identifier) ;) (expression_statement "iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);" (assignment_expression "iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6)" identifier = (call_expression "(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6)" (parenthesized_expression "(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)" ( (pointer_expression "*(code *)PTR_GetCacheViewVirtualPixels_003a965c" * (cast_expression "(code *)PTR_GetCacheViewVirtualPixels_003a965c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pdVar4,0,unaff_s5,unaff_s6)" ( identifier , number_literal , identifier , identifier )))) ;) (if_statement "if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }" if (parenthesized_expression "((pdVar8 != (double *)0x0) && (iVar2 != 0))" ( (binary_expression "(pdVar8 != (double *)0x0) && (iVar2 != 0)" (parenthesized_expression "(pdVar8 != (double *)0x0)" ( (binary_expression "pdVar8 != (double *)0x0" identifier != (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) ))) )) (compound_statement "{\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }" { (expression_statement "unaff_s0 = local_250;" (assignment_expression "unaff_s0 = local_250" identifier = identifier) ;) (expression_statement "(*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);" (call_expression "(*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208)" (parenthesized_expression "(*(code *)PTR_memset_003a96d4)" ( (pointer_expression "*(code *)PTR_memset_003a96d4" * (cast_expression "(code *)PTR_memset_003a96d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0,0,0x208)" ( identifier , number_literal , number_literal ))) ;) (if_statement "if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }" if (parenthesized_expression "(0 < (int)unaff_s6)" ( (binary_expression "0 < (int)unaff_s6" number_literal < (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }" { (expression_statement "fVar38 = 0.0;" (assignment_expression "fVar38 = 0.0" identifier = number_literal) ;) (expression_statement "piVar34 = *(int **)((int)unaff_s1 + 0x2d0);" (assignment_expression "piVar34 = *(int **)((int)unaff_s1 + 0x2d0)" identifier = (pointer_expression "*(int **)((int)unaff_s1 + 0x2d0)" * (cast_expression "(int **)((int)unaff_s1 + 0x2d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)unaff_s1 + 0x2d0)" ( (binary_expression "(int)unaff_s1 + 0x2d0" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "dVar56 = *(double *)(puVar45 + 0x1440);" (assignment_expression "dVar56 = *(double *)(puVar45 + 0x1440)" identifier = (pointer_expression "*(double *)(puVar45 + 0x1440)" * (cast_expression "(double *)(puVar45 + 0x1440)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar45 + 0x1440)" ( (binary_expression "puVar45 + 0x1440" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = piVar34[0x13];" (assignment_expression "iVar3 = piVar34[0x13]" identifier = (subscript_expression "piVar34[0x13]" identifier [ number_literal ])) ;) (expression_statement "fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);" (assignment_expression "fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708)" identifier = (pointer_expression "*(float *)(PTR_LAB_003a88e0 + 0x3708)" * (cast_expression "(float *)(PTR_LAB_003a88e0 + 0x3708)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x3708)" ( (binary_expression "PTR_LAB_003a88e0 + 0x3708" identifier + number_literal) ))))) ;) (expression_statement "dVar57 = *(double *)(puVar45 + 0x1438);" (assignment_expression "dVar57 = *(double *)(puVar45 + 0x1438)" identifier = (pointer_expression "*(double *)(puVar45 + 0x1438)" * (cast_expression "(double *)(puVar45 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar45 + 0x1438)" ( (binary_expression "puVar45 + 0x1438" identifier + number_literal) ))))) ;) (do_statement "do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);" do (compound_statement "{\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          }" { (while_statement "while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }" while (parenthesized_expression "(((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54)))))" ( (parenthesized_expression "((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))" ( (binary_expression "(iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54)))" (parenthesized_expression "(iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54))" ( (binary_expression "iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)" (binary_expression "iVar3 != 0" identifier != number_literal) && (parenthesized_expression "(*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)" ( (binary_expression "*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54" (pointer_expression "*(float *)((int)pdVar8 + piVar34[0x14] * 4)" * (cast_expression "(float *)((int)pdVar8 + piVar34[0x14] * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar8 + piVar34[0x14] * 4)" ( (binary_expression "(int)pdVar8 + piVar34[0x14] * 4" (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "piVar34[0x14] * 4" (subscript_expression "piVar34[0x14]" identifier [ number_literal ]) * number_literal)) )))) <= identifier) ))) )) || (parenthesized_expression "((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54)))" ( (parenthesized_expression "(iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))" ( (comma_expression "iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54)" (assignment_expression "iVar26 = *(int *)((int)unaff_s7 + 0x2d0)" identifier = (pointer_expression "*(int *)((int)unaff_s7 + 0x2d0)" * (cast_expression "(int *)((int)unaff_s7 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + 0x2d0)" ( (binary_expression "(int)unaff_s7 + 0x2d0" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) , (binary_expression "*(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54)" (binary_expression "*(int *)(iVar26 + 0x4c) != 0" (pointer_expression "*(int *)(iVar26 + 0x4c)" * (cast_expression "(int *)(iVar26 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x4c)" ( (binary_expression "iVar26 + 0x4c" identifier + number_literal) )))) != number_literal) && (parenthesized_expression "(*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54)" ( (binary_expression "*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54" (pointer_expression "*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4)" * (cast_expression "(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + *(int *)(iVar26 + 0x50) * 4)" ( (binary_expression "iVar2 + *(int *)(iVar26 + 0x50) * 4" identifier + (binary_expression "*(int *)(iVar26 + 0x50) * 4" (pointer_expression "*(int *)(iVar26 + 0x50)" * (cast_expression "(int *)(iVar26 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x50)" ( (binary_expression "iVar26 + 0x50" identifier + number_literal) )))) * number_literal)) )))) <= identifier) )))) )) ))) )) )) (compound_statement "{\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }" { (expression_statement "fVar38 = (float)((int)fVar38 + 1);" (assignment_expression "fVar38 = (float)((int)fVar38 + 1)" identifier = (cast_expression "(float)((int)fVar38 + 1)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((int)fVar38 + 1)" ( (binary_expression "(int)fVar38 + 1" (cast_expression "(int)fVar38" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);" (assignment_expression "pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4)" identifier = (cast_expression "(double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4)" ( (binary_expression "(int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4" (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "*(int *)((int)unaff_s1 + 0x2c0) * 4" (pointer_expression "*(int *)((int)unaff_s1 + 0x2c0)" * (cast_expression "(int *)((int)unaff_s1 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s1 + 0x2c0)" ( (binary_expression "(int)unaff_s1 + 0x2c0" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) ;) (expression_statement "iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;" (assignment_expression "iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4" identifier = (binary_expression "iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4" identifier + (binary_expression "*(int *)((int)unaff_s7 + 0x2c0) * 4" (pointer_expression "*(int *)((int)unaff_s7 + 0x2c0)" * (cast_expression "(int *)((int)unaff_s7 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + 0x2c0)" ( (binary_expression "(int)unaff_s7 + 0x2c0" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal))) ;) (if_statement "if (fVar38 == unaff_s6) goto LAB_00073140;" if (parenthesized_expression "(fVar38 == unaff_s6)" ( (binary_expression "fVar38 == unaff_s6" identifier == identifier) )) (goto_statement "goto LAB_00073140;" goto statement_identifier ;)) })) (if_statement "if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }" if (parenthesized_expression "(piVar34[0xd] == 0)" ( (binary_expression "piVar34[0xd] == 0" (subscript_expression "piVar34[0xd]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }" { (expression_statement "iVar46 = *(int *)(iVar26 + 0x34);" (assignment_expression "iVar46 = *(int *)(iVar26 + 0x34)" identifier = (pointer_expression "*(int *)(iVar26 + 0x34)" * (cast_expression "(int *)(iVar26 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x34)" ( (binary_expression "iVar26 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "dVar60 = dVar57;" (assignment_expression "dVar60 = dVar57" identifier = identifier) ;) }) (else_clause "else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }" else (compound_statement "{\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }" { (expression_statement "iVar46 = *(int *)(iVar26 + 0x34);" (assignment_expression "iVar46 = *(int *)(iVar26 + 0x34)" identifier = (pointer_expression "*(int *)(iVar26 + 0x34)" * (cast_expression "(int *)(iVar26 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x34)" ( (binary_expression "iVar26 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;" (assignment_expression "dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56" identifier = (binary_expression "(double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56" (cast_expression "(double)*(float *)((int)pdVar8 + piVar34[0xe] * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)((int)pdVar8 + piVar34[0xe] * 4)" * (cast_expression "(float *)((int)pdVar8 + piVar34[0xe] * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar8 + piVar34[0xe] * 4)" ( (binary_expression "(int)pdVar8 + piVar34[0xe] * 4" (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "piVar34[0xe] * 4" (subscript_expression "piVar34[0xe]" identifier [ number_literal ]) * number_literal)) ))))) * identifier)) ;) }))) (expression_statement "dVar53 = in_f24_25;" (assignment_expression "dVar53 = in_f24_25" identifier = identifier) ;) (if_statement "if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }" if (parenthesized_expression "(iVar46 != 0)" ( (binary_expression "iVar46 != 0" identifier != number_literal) )) (compound_statement "{\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }" { (expression_statement "dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;" (assignment_expression "dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56" identifier = (binary_expression "(double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56" (cast_expression "(double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4)" * (cast_expression "(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + *(int *)(iVar26 + 0x38) * 4)" ( (binary_expression "iVar2 + *(int *)(iVar26 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar26 + 0x38) * 4" (pointer_expression "*(int *)(iVar26 + 0x38)" * (cast_expression "(int *)(iVar26 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x38)" ( (binary_expression "iVar26 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) * identifier)) ;) })) (expression_statement "iVar46 = *(int *)((int)unaff_s1 + 0x2c0);" (assignment_expression "iVar46 = *(int *)((int)unaff_s1 + 0x2c0)" identifier = (pointer_expression "*(int *)((int)unaff_s1 + 0x2c0)" * (cast_expression "(int *)((int)unaff_s1 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s1 + 0x2c0)" ( (binary_expression "(int)unaff_s1 + 0x2c0" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }" if (parenthesized_expression "(0 < iVar46)" ( (binary_expression "0 < iVar46" number_literal < identifier) )) (compound_statement "{\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }" { (expression_statement "piVar9 = piVar34;" (assignment_expression "piVar9 = piVar34" identifier = identifier) ;) (expression_statement "pdVar10 = unaff_s0;" (assignment_expression "pdVar10 = unaff_s0" identifier = identifier) ;) (expression_statement "pdVar11 = pdVar8;" (assignment_expression "pdVar11 = pdVar8" identifier = identifier) ;) (do_statement "do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);" do (compound_statement "{\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              }" { (expression_statement "iVar42 = *piVar9;" (assignment_expression "iVar42 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "iVar40 = iVar26 + iVar42 * 0xc;" (assignment_expression "iVar40 = iVar26 + iVar42 * 0xc" identifier = (binary_expression "iVar26 + iVar42 * 0xc" identifier + (binary_expression "iVar42 * 0xc" identifier * number_literal))) ;) (if_statement "if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }" if (parenthesized_expression "(((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0))" ( (binary_expression "((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)" (parenthesized_expression "((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    )" ( (binary_expression "(piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)" (parenthesized_expression "(piVar34[iVar42 * 3 + 1] != 0)" ( (binary_expression "piVar34[iVar42 * 3 + 1] != 0" (subscript_expression "piVar34[iVar42 * 3 + 1]" identifier [ (binary_expression "iVar42 * 3 + 1" (binary_expression "iVar42 * 3" identifier * number_literal) + number_literal) ]) != number_literal) )) && (parenthesized_expression "(uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)" ( (comma_expression "uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0" (assignment_expression "uVar28 = *(uint *)(iVar40 + 4)" identifier = (pointer_expression "*(uint *)(iVar40 + 4)" * (cast_expression "(uint *)(iVar40 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 4)" ( (binary_expression "iVar40 + 4" identifier + number_literal) ))))) , (binary_expression "uVar28 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "((uVar28 & 2) != 0)" ( (binary_expression "(uVar28 & 2) != 0" (parenthesized_expression "(uVar28 & 2)" ( (binary_expression "uVar28 & 2" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }" { (expression_statement "dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);" (assignment_expression "dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4)" identifier = (cast_expression "(double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4)" * (cast_expression "(float *)(iVar2 + *(int *)(iVar40 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + *(int *)(iVar40 + 8) * 4)" ( (binary_expression "iVar2 + *(int *)(iVar40 + 8) * 4" identifier + (binary_expression "*(int *)(iVar40 + 8) * 4" (pointer_expression "*(int *)(iVar40 + 8)" * (cast_expression "(int *)(iVar40 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 8)" ( (binary_expression "iVar40 + 8" identifier + number_literal) )))) * number_literal)) )))))) ;) (if_statement "if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }" if (parenthesized_expression "(iVar42 == 4)" ( (binary_expression "iVar42 == 4" identifier == number_literal) )) (compound_statement "{\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }" { (expression_statement "dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;" (assignment_expression "dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23" identifier = (binary_expression "ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23" (call_expression "ABS((double)*(float *)pdVar11 - dVar55)" identifier (argument_list "((double)*(float *)pdVar11 - dVar55)" ( (binary_expression "(double)*(float *)pdVar11 - dVar55" (cast_expression "(double)*(float *)pdVar11" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)pdVar11" * (cast_expression "(float *)pdVar11" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) - identifier) ))) * identifier)) ;) }) (else_clause "else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }" else (compound_statement "{\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }" { (expression_statement "dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;" (assignment_expression "dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21" identifier = (binary_expression "ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21" (call_expression "ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55)" identifier (argument_list "(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55)" ( (binary_expression "dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55" (binary_expression "dVar60 * (double)*(float *)pdVar11" identifier * (cast_expression "(double)*(float *)pdVar11" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)pdVar11" * (cast_expression "(float *)pdVar11" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) - (binary_expression "dVar53 * dVar55" identifier * identifier)) ))) * identifier)) ;) }))) (if_statement "if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }" if (parenthesized_expression "(*pdVar10 < dVar55)" ( (binary_expression "*pdVar10 < dVar55" (pointer_expression "*pdVar10" * identifier) < identifier) )) (compound_statement "{\n                    *pdVar10 = dVar55;\n                  }" { (expression_statement "*pdVar10 = dVar55;" (assignment_expression "*pdVar10 = dVar55" (pointer_expression "*pdVar10" * identifier) = identifier) ;) })) (if_statement "if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }" if (parenthesized_expression "(local_250[0x40] < dVar55)" ( (binary_expression "local_250[0x40] < dVar55" (subscript_expression "local_250[0x40]" identifier [ number_literal ]) < identifier) )) (compound_statement "{\n                    local_250[0x40] = dVar55;\n                  }" { (expression_statement "local_250[0x40] = dVar55;" (assignment_expression "local_250[0x40] = dVar55" (subscript_expression "local_250[0x40]" identifier [ number_literal ]) = identifier) ;) })) })) (expression_statement "piVar9 = piVar9 + 3;" (assignment_expression "piVar9 = piVar9 + 3" identifier = (binary_expression "piVar9 + 3" identifier + number_literal)) ;) (expression_statement "pdVar10 = pdVar10 + 1;" (assignment_expression "pdVar10 = pdVar10 + 1" identifier = (binary_expression "pdVar10 + 1" identifier + number_literal)) ;) (expression_statement "pdVar11 = (double *)((int)pdVar11 + 4);" (assignment_expression "pdVar11 = (double *)((int)pdVar11 + 4)" identifier = (cast_expression "(double *)((int)pdVar11 + 4)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar11 + 4)" ( (binary_expression "(int)pdVar11 + 4" (cast_expression "(int)pdVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(piVar9 != piVar34 + iVar46 * 3)" ( (binary_expression "piVar9 != piVar34 + iVar46 * 3" identifier != (binary_expression "piVar34 + iVar46 * 3" identifier + (binary_expression "iVar46 * 3" identifier * number_literal))) )) ;) })) (expression_statement "fVar38 = (float)((int)fVar38 + 1);" (assignment_expression "fVar38 = (float)((int)fVar38 + 1)" identifier = (cast_expression "(float)((int)fVar38 + 1)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((int)fVar38 + 1)" ( (binary_expression "(int)fVar38 + 1" (cast_expression "(int)fVar38" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);" (assignment_expression "pdVar8 = (double *)((int)pdVar8 + iVar46 * 4)" identifier = (cast_expression "(double *)((int)pdVar8 + iVar46 * 4)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar8 + iVar46 * 4)" ( (binary_expression "(int)pdVar8 + iVar46 * 4" (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar46 * 4" identifier * number_literal)) )))) ;) (expression_statement "iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;" (assignment_expression "iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4" identifier = (binary_expression "iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4" identifier + (binary_expression "*(int *)((int)unaff_s7 + 0x2c0) * 4" (pointer_expression "*(int *)((int)unaff_s7 + 0x2c0)" * (cast_expression "(int *)((int)unaff_s7 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + 0x2c0)" ( (binary_expression "(int)unaff_s7 + 0x2c0" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal))) ;) }) while (parenthesized_expression "(fVar38 != unaff_s6)" ( (binary_expression "fVar38 != unaff_s6" identifier != identifier) )) ;) })) (labeled_statement "LAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);" statement_identifier : (expression_statement "(*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);" (call_expression "(*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644)" (parenthesized_expression "(*(code *)PTR_GOMP_critical_name_start_003a9734)" ( (pointer_expression "*(code *)PTR_GOMP_critical_name_start_003a9734" * (cast_expression "(code *)PTR_GOMP_critical_name_start_003a9734" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644)" ( identifier ))) ;)) (expression_statement "pdVar10 = pdVar7;" (assignment_expression "pdVar10 = pdVar7" identifier = identifier) ;) (do_statement "do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);" do (compound_statement "{\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        }" { (if_statement "if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }" if (parenthesized_expression "(*pdVar10 < *unaff_s0)" ( (binary_expression "*pdVar10 < *unaff_s0" (pointer_expression "*pdVar10" * identifier) < (pointer_expression "*unaff_s0" * identifier)) )) (compound_statement "{\n            *pdVar10 = *unaff_s0;\n          }" { (expression_statement "*pdVar10 = *unaff_s0;" (assignment_expression "*pdVar10 = *unaff_s0" (pointer_expression "*pdVar10" * identifier) = (pointer_expression "*unaff_s0" * identifier)) ;) })) (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (expression_statement "pdVar10 = pdVar10 + 1;" (assignment_expression "pdVar10 = pdVar10 + 1" identifier = (binary_expression "pdVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((double *)&uStack_48 != unaff_s0)" ( (binary_expression "(double *)&uStack_48 != unaff_s0" (cast_expression "(double *)&uStack_48" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_48" & identifier)) != identifier) )) ;) (expression_statement "pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;" (assignment_expression "pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644" identifier = (cast_expression "(double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(*(code *)PTR_GOMP_critical_name_end_003a93ac)();" (call_expression "(*(code *)PTR_GOMP_critical_name_end_003a93ac)()" (parenthesized_expression "(*(code *)PTR_GOMP_critical_name_end_003a93ac)" ( (pointer_expression "*(code *)PTR_GOMP_critical_name_end_003a93ac" * (cast_expression "(code *)PTR_GOMP_critical_name_end_003a93ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00073194;" goto statement_identifier ;) })) (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 "*(float *)(param_1 + 4) = 0.0;" (assignment_expression "*(float *)(param_1 + 4) = 0.0" (pointer_expression "*(float *)(param_1 + 4)" * (cast_expression "(float *)(param_1 + 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) }) while (parenthesized_expression "(iVar62 != unaff_s5)" ( (binary_expression "iVar62 != unaff_s5" identifier != identifier) )) ;) })) (labeled_statement "LAB_000731a4:\n  if (uStack_48._4_4_ == *(int *)puVar1) {\n    return;\n  }" statement_identifier : (if_statement "if (uStack_48._4_4_ == *(int *)puVar1) {\n    return;\n  }" if (parenthesized_expression "(uStack_48._4_4_ == *(int *)puVar1)" ( (binary_expression "uStack_48._4_4_ == *(int *)puVar1" (field_expression "uStack_48._4_4_" identifier . field_identifier) == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "pcVar49 = FUN_00073244;" (assignment_expression "pcVar49 = FUN_00073244" identifier = identifier) ;) (expression_statement "puVar45 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar45 = PTR___stack_chk_fail_003a9064" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "piVar34 = *(int **)(puVar45 + 0x335fec);" (assignment_expression "piVar34 = *(int **)(puVar45 + 0x335fec)" identifier = (pointer_expression "*(int **)(puVar45 + 0x335fec)" * (cast_expression "(int **)(puVar45 + 0x335fec)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x335fec)" ( (binary_expression "puVar45 + 0x335fec" identifier + number_literal) ))))) ;) (expression_statement "iStack_2e4 = *piVar34;" (assignment_expression "iStack_2e4 = *piVar34" identifier = (pointer_expression "*piVar34" * identifier)) ;) (expression_statement "pdStack_2e0 = unaff_s0;" (assignment_expression "pdStack_2e0 = unaff_s0" identifier = identifier) ;) (expression_statement "fStack_2dc = unaff_s1;" (assignment_expression "fStack_2dc = unaff_s1" identifier = identifier) ;) (expression_statement "pdStack_2d8 = unaff_s2;" (assignment_expression "pdStack_2d8 = unaff_s2" identifier = identifier) ;) (expression_statement "iStack_2d4 = iVar2;" (assignment_expression "iStack_2d4 = iVar2" identifier = identifier) ;) (expression_statement "pdStack_2d0 = pdVar8;" (assignment_expression "pdStack_2d0 = pdVar8" identifier = identifier) ;) (expression_statement "iStack_2cc = unaff_s5;" (assignment_expression "iStack_2cc = unaff_s5" identifier = identifier) ;) (expression_statement "fStack_2c8 = unaff_s6;" (assignment_expression "fStack_2c8 = unaff_s6" identifier = identifier) ;) (expression_statement "fStack_2c4 = unaff_s7;" (assignment_expression "fStack_2c4 = unaff_s7" identifier = identifier) ;) (expression_statement "iStack_2c0 = iVar62;" (assignment_expression "iStack_2c0 = iVar62" identifier = identifier) ;) (expression_statement "pcStack_2bc = pcVar49;" (assignment_expression "pcStack_2bc = pcVar49" identifier = identifier) ;) (expression_statement "dStack_2b8 = in_f20_21;" (assignment_expression "dStack_2b8 = in_f20_21" identifier = identifier) ;) (expression_statement "dStack_2b0 = in_f22_23;" (assignment_expression "dStack_2b0 = in_f22_23" identifier = identifier) ;) (expression_statement "dStack_2a8 = in_f24_25;" (assignment_expression "dStack_2a8 = in_f24_25" identifier = identifier) ;) (expression_statement "iVar3 = (**(code **)(puVar45 + 0x3366c8))();" (assignment_expression "iVar3 = (**(code **)(puVar45 + 0x3366c8))()" identifier = (call_expression "(**(code **)(puVar45 + 0x3366c8))()" (parenthesized_expression "(**(code **)(puVar45 + 0x3366c8))" ( (pointer_expression "**(code **)(puVar45 + 0x3366c8)" * (pointer_expression "*(code **)(puVar45 + 0x3366c8)" * (cast_expression "(code **)(puVar45 + 0x3366c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x3366c8)" ( (binary_expression "puVar45 + 0x3366c8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar2 = (**(code **)(puVar45 + 0x3362c4))();" (assignment_expression "iVar2 = (**(code **)(puVar45 + 0x3362c4))()" identifier = (call_expression "(**(code **)(puVar45 + 0x3362c4))()" (parenthesized_expression "(**(code **)(puVar45 + 0x3362c4))" ( (pointer_expression "**(code **)(puVar45 + 0x3362c4)" * (pointer_expression "*(code **)(puVar45 + 0x3362c4)" * (cast_expression "(code **)(puVar45 + 0x3362c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x3362c4)" ( (binary_expression "puVar45 + 0x3362c4" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    trap(7);\n  }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "iVar62 = (int)*(float *)(pdVar10 + 6) / iVar3;" (assignment_expression "iVar62 = (int)*(float *)(pdVar10 + 6) / iVar3" identifier = (binary_expression "(int)*(float *)(pdVar10 + 6) / iVar3" (cast_expression "(int)*(float *)(pdVar10 + 6)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(float *)(pdVar10 + 6)" * (cast_expression "(float *)(pdVar10 + 6)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar10 + 6)" ( (binary_expression "pdVar10 + 6" identifier + number_literal) ))))) / identifier)) ;) (expression_statement "pdVar8 = (double *)((int)*(float *)(pdVar10 + 6) % iVar3);" (assignment_expression "pdVar8 = (double *)((int)*(float *)(pdVar10 + 6) % iVar3)" identifier = (cast_expression "(double *)((int)*(float *)(pdVar10 + 6) % iVar3)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*(float *)(pdVar10 + 6) % iVar3)" ( (binary_expression "(int)*(float *)(pdVar10 + 6) % iVar3" (cast_expression "(int)*(float *)(pdVar10 + 6)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(float *)(pdVar10 + 6)" * (cast_expression "(float *)(pdVar10 + 6)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar10 + 6)" ( (binary_expression "pdVar10 + 6" identifier + number_literal) ))))) % identifier) )))) ;) (if_statement "if (iVar2 < (int)pdVar8) {\n    iVar62 = iVar62 + 1;\n    pdVar8 = (double *)0x0;\n  }" if (parenthesized_expression "(iVar2 < (int)pdVar8)" ( (binary_expression "iVar2 < (int)pdVar8" identifier < (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    iVar62 = iVar62 + 1;\n    pdVar8 = (double *)0x0;\n  }" { (expression_statement "iVar62 = iVar62 + 1;" (assignment_expression "iVar62 = iVar62 + 1" identifier = (binary_expression "iVar62 + 1" identifier + number_literal)) ;) (expression_statement "pdVar8 = (double *)0x0;" (assignment_expression "pdVar8 = (double *)0x0" identifier = (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "pdStack_f48 = (double *)(iVar62 * iVar2 + (int)pdVar8);" (assignment_expression "pdStack_f48 = (double *)(iVar62 * iVar2 + (int)pdVar8)" identifier = (cast_expression "(double *)(iVar62 * iVar2 + (int)pdVar8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar62 * iVar2 + (int)pdVar8)" ( (binary_expression "iVar62 * iVar2 + (int)pdVar8" (binary_expression "iVar62 * iVar2" identifier * identifier) + (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pdVar4 = (double *)(iVar62 + (int)pdStack_f48);" (assignment_expression "pdVar4 = (double *)(iVar62 + (int)pdStack_f48)" identifier = (cast_expression "(double *)(iVar62 + (int)pdStack_f48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar62 + (int)pdStack_f48)" ( (binary_expression "iVar62 + (int)pdStack_f48" identifier + (cast_expression "(int)pdStack_f48" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((int)pdStack_f48 < (int)pdVar4) {\n    dVar57 = pdVar10[1];\n    fVar5 = *(float *)(pdVar10 + 5);\n    pdVar20 = *(double **)((int)pdVar10 + 0x2c);\n    dVar56 = *pdVar10;\n    dVar60 = *(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440);\n    pdVar7 = *(double **)((int)pdVar10 + 0x24);\n    fVar6 = *(float *)(pdVar10 + 4);\n    fVar38 = *(float *)((int)pdVar10 + 0x1c);\n    pdVar11 = *(double **)(pdVar10 + 3);\n    fVar54 = *(float *)((int)pdVar10 + 0x14);\n    fVar12 = *(float *)(pdVar10 + 2);\n    pdVar8 = pdVar20;\n    do {\n      if (*(float *)((int)pdVar10 + 0x34) != 0.0) {\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    } while (pdVar4 != pdStack_f48);\n  }" if (parenthesized_expression "((int)pdStack_f48 < (int)pdVar4)" ( (binary_expression "(int)pdStack_f48 < (int)pdVar4" (cast_expression "(int)pdStack_f48" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pdVar4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    dVar57 = pdVar10[1];\n    fVar5 = *(float *)(pdVar10 + 5);\n    pdVar20 = *(double **)((int)pdVar10 + 0x2c);\n    dVar56 = *pdVar10;\n    dVar60 = *(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440);\n    pdVar7 = *(double **)((int)pdVar10 + 0x24);\n    fVar6 = *(float *)(pdVar10 + 4);\n    fVar38 = *(float *)((int)pdVar10 + 0x1c);\n    pdVar11 = *(double **)(pdVar10 + 3);\n    fVar54 = *(float *)((int)pdVar10 + 0x14);\n    fVar12 = *(float *)(pdVar10 + 2);\n    pdVar8 = pdVar20;\n    do {\n      if (*(float *)((int)pdVar10 + 0x34) != 0.0) {\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    } while (pdVar4 != pdStack_f48);\n  }" { (expression_statement "dVar57 = pdVar10[1];" (assignment_expression "dVar57 = pdVar10[1]" identifier = (subscript_expression "pdVar10[1]" identifier [ number_literal ])) ;) (expression_statement "fVar5 = *(float *)(pdVar10 + 5);" (assignment_expression "fVar5 = *(float *)(pdVar10 + 5)" identifier = (pointer_expression "*(float *)(pdVar10 + 5)" * (cast_expression "(float *)(pdVar10 + 5)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar10 + 5)" ( (binary_expression "pdVar10 + 5" identifier + number_literal) ))))) ;) (expression_statement "pdVar20 = *(double **)((int)pdVar10 + 0x2c);" (assignment_expression "pdVar20 = *(double **)((int)pdVar10 + 0x2c)" identifier = (pointer_expression "*(double **)((int)pdVar10 + 0x2c)" * (cast_expression "(double **)((int)pdVar10 + 0x2c)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pdVar10 + 0x2c)" ( (binary_expression "(int)pdVar10 + 0x2c" (cast_expression "(int)pdVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "dVar56 = *pdVar10;" (assignment_expression "dVar56 = *pdVar10" identifier = (pointer_expression "*pdVar10" * identifier)) ;) (expression_statement "dVar60 = *(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440);" (assignment_expression "dVar60 = *(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440)" identifier = (pointer_expression "*(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440)" * (cast_expression "(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar45 + 0x33569c) + 0x1440)" ( (binary_expression "*(int *)(puVar45 + 0x33569c) + 0x1440" (pointer_expression "*(int *)(puVar45 + 0x33569c)" * (cast_expression "(int *)(puVar45 + 0x33569c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar45 + 0x33569c)" ( (binary_expression "puVar45 + 0x33569c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "pdVar7 = *(double **)((int)pdVar10 + 0x24);" (assignment_expression "pdVar7 = *(double **)((int)pdVar10 + 0x24)" identifier = (pointer_expression "*(double **)((int)pdVar10 + 0x24)" * (cast_expression "(double **)((int)pdVar10 + 0x24)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pdVar10 + 0x24)" ( (binary_expression "(int)pdVar10 + 0x24" (cast_expression "(int)pdVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "fVar6 = *(float *)(pdVar10 + 4);" (assignment_expression "fVar6 = *(float *)(pdVar10 + 4)" identifier = (pointer_expression "*(float *)(pdVar10 + 4)" * (cast_expression "(float *)(pdVar10 + 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar10 + 4)" ( (binary_expression "pdVar10 + 4" identifier + number_literal) ))))) ;) (expression_statement "fVar38 = *(float *)((int)pdVar10 + 0x1c);" (assignment_expression "fVar38 = *(float *)((int)pdVar10 + 0x1c)" identifier = (pointer_expression "*(float *)((int)pdVar10 + 0x1c)" * (cast_expression "(float *)((int)pdVar10 + 0x1c)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar10 + 0x1c)" ( (binary_expression "(int)pdVar10 + 0x1c" (cast_expression "(int)pdVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pdVar11 = *(double **)(pdVar10 + 3);" (assignment_expression "pdVar11 = *(double **)(pdVar10 + 3)" identifier = (pointer_expression "*(double **)(pdVar10 + 3)" * (cast_expression "(double **)(pdVar10 + 3)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pdVar10 + 3)" ( (binary_expression "pdVar10 + 3" identifier + number_literal) ))))) ;) (expression_statement "fVar54 = *(float *)((int)pdVar10 + 0x14);" (assignment_expression "fVar54 = *(float *)((int)pdVar10 + 0x14)" identifier = (pointer_expression "*(float *)((int)pdVar10 + 0x14)" * (cast_expression "(float *)((int)pdVar10 + 0x14)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar10 + 0x14)" ( (binary_expression "(int)pdVar10 + 0x14" (cast_expression "(int)pdVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "fVar12 = *(float *)(pdVar10 + 2);" (assignment_expression "fVar12 = *(float *)(pdVar10 + 2)" identifier = (pointer_expression "*(float *)(pdVar10 + 2)" * (cast_expression "(float *)(pdVar10 + 2)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar10 + 2)" ( (binary_expression "pdVar10 + 2" identifier + number_literal) ))))) ;) (expression_statement "pdVar8 = pdVar20;" (assignment_expression "pdVar8 = pdVar20" identifier = identifier) ;) (do_statement "do {\n      if (*(float *)((int)pdVar10 + 0x34) != 0.0) {\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    } while (pdVar4 != pdStack_f48);" do (compound_statement "{\n      if (*(float *)((int)pdVar10 + 0x34) != 0.0) {\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    }" { (if_statement "if (*(float *)((int)pdVar10 + 0x34) != 0.0) {\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }" if (parenthesized_expression "(*(float *)((int)pdVar10 + 0x34) != 0.0)" ( (binary_expression "*(float *)((int)pdVar10 + 0x34) != 0.0" (pointer_expression "*(float *)((int)pdVar10 + 0x34)" * (cast_expression "(float *)((int)pdVar10 + 0x34)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar10 + 0x34)" ( (binary_expression "(int)pdVar10 + 0x34" (cast_expression "(int)pdVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }" { (expression_statement "pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);" (assignment_expression "pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38)" identifier = (cast_expression "(float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38)" (parenthesized_expression "(**(code **)(puVar45 + 0x336418))" ( (pointer_expression "**(code **)(puVar45 + 0x336418)" * (pointer_expression "*(code **)(puVar45 + 0x336418)" * (cast_expression "(code **)(puVar45 + 0x336418)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x336418)" ( (binary_expression "puVar45 + 0x336418" identifier + number_literal) ))))) )) (argument_list "(fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38)" ( identifier , (unary_expression "-(*(int *)((int)fVar5 + 4) / 2)" - (parenthesized_expression "(*(int *)((int)fVar5 + 4) / 2)" ( (binary_expression "*(int *)((int)fVar5 + 4) / 2" (pointer_expression "*(int *)((int)fVar5 + 4)" * (cast_expression "(int *)((int)fVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar5 + 4)" ( (binary_expression "(int)fVar5 + 4" (cast_expression "(int)fVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) / number_literal) ))) , (binary_expression "(int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2" (cast_expression "(int)pdStack_f48" ( (type_descriptor "int" primitive_type) ) identifier) - (binary_expression "*(int *)((int)fVar5 + 8) / 2" (pointer_expression "*(int *)((int)fVar5 + 8)" * (cast_expression "(int *)((int)fVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar5 + 8)" ( (binary_expression "(int)fVar5 + 8" (cast_expression "(int)fVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) / number_literal)) , (binary_expression "(int)pdVar20 + *(int *)((int)fVar5 + 4)" (cast_expression "(int)pdVar20" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)((int)fVar5 + 4)" * (cast_expression "(int *)((int)fVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar5 + 4)" ( (binary_expression "(int)fVar5 + 4" (cast_expression "(int)fVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) , (pointer_expression "*(int *)((int)fVar5 + 8)" * (cast_expression "(int *)((int)fVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar5 + 8)" ( (binary_expression "(int)fVar5 + 8" (cast_expression "(int)fVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier ))))) ;) (expression_statement "pdVar8 = pdVar7;" (assignment_expression "pdVar8 = pdVar7" identifier = identifier) ;) (expression_statement "iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);" (assignment_expression "iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38)" identifier = (call_expression "(**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38)" (parenthesized_expression "(**(code **)(puVar45 + 0x336418))" ( (pointer_expression "**(code **)(puVar45 + 0x336418)" * (pointer_expression "*(code **)(puVar45 + 0x336418)" * (cast_expression "(code **)(puVar45 + 0x336418)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x336418)" ( (binary_expression "puVar45 + 0x336418" identifier + number_literal) ))))) )) (argument_list "(pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38)" ( identifier , (unary_expression "-(*(int *)((int)fVar5 + 4) / 2)" - (parenthesized_expression "(*(int *)((int)fVar5 + 4) / 2)" ( (binary_expression "*(int *)((int)fVar5 + 4) / 2" (pointer_expression "*(int *)((int)fVar5 + 4)" * (cast_expression "(int *)((int)fVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar5 + 4)" ( (binary_expression "(int)fVar5 + 4" (cast_expression "(int)fVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) / number_literal) ))) , (binary_expression "(int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2" (cast_expression "(int)pdStack_f48" ( (type_descriptor "int" primitive_type) ) identifier) - (binary_expression "*(int *)((int)fVar5 + 8) / 2" (pointer_expression "*(int *)((int)fVar5 + 8)" * (cast_expression "(int *)((int)fVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar5 + 8)" ( (binary_expression "(int)fVar5 + 8" (cast_expression "(int)fVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) / number_literal)) , (binary_expression "(int)pdVar20 + *(int *)((int)fVar5 + 4)" (cast_expression "(int)pdVar20" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)((int)fVar5 + 4)" * (cast_expression "(int *)((int)fVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar5 + 4)" ( (binary_expression "(int)fVar5 + 4" (cast_expression "(int)fVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) , (pointer_expression "*(int *)((int)fVar5 + 8)" * (cast_expression "(int *)((int)fVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar5 + 8)" ( (binary_expression "(int)fVar5 + 8" (cast_expression "(int)fVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier )))) ;) (if_statement "if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }" if (parenthesized_expression "((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0))" ( (binary_expression "(pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)" (parenthesized_expression "(pfStack_f50 == (float *)0x0)" ( (binary_expression "pfStack_f50 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(iStack_f54 == 0)" ( (binary_expression "iStack_f54 == 0" identifier == number_literal) ))) )) (compound_statement "{\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }" { (expression_statement "*(float *)((int)pdVar10 + 0x34) = 0.0;" (assignment_expression "*(float *)((int)pdVar10 + 0x34) = 0.0" (pointer_expression "*(float *)((int)pdVar10 + 0x34)" * (cast_expression "(float *)((int)pdVar10 + 0x34)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar10 + 0x34)" ( (binary_expression "(int)pdVar10 + 0x34" (cast_expression "(int)pdVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }" else (compound_statement "{\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }" { (expression_statement "(**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);" (call_expression "(**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208)" (parenthesized_expression "(**(code **)(puVar45 + 0x336490))" ( (pointer_expression "**(code **)(puVar45 + 0x336490)" * (pointer_expression "*(code **)(puVar45 + 0x336490)" * (cast_expression "(code **)(puVar45 + 0x336490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x336490)" ( (binary_expression "puVar45 + 0x336490" identifier + number_literal) ))))) )) (argument_list "(adStack_f18,0,0x208)" ( identifier , number_literal , number_literal ))) ;) (if_statement "if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }" if (parenthesized_expression "(0 < (int)pdVar20)" ( (binary_expression "0 < (int)pdVar20" number_literal < (cast_expression "(int)pdVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }" { (expression_statement "pdStack_f4c = (double *)0x0;" (assignment_expression "pdStack_f4c = (double *)0x0" identifier = (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar2 = *(int *)((int)fVar12 + 0x2c0);" (assignment_expression "iVar2 = *(int *)((int)fVar12 + 0x2c0)" identifier = (pointer_expression "*(int *)((int)fVar12 + 0x2c0)" * (cast_expression "(int *)((int)fVar12 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar12 + 0x2c0)" ( (binary_expression "(int)fVar12 + 0x2c0" (cast_expression "(int)fVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar3 = *(int *)((int)fVar54 + 0x2c0);" (assignment_expression "iVar3 = *(int *)((int)fVar54 + 0x2c0)" identifier = (pointer_expression "*(int *)((int)fVar54 + 0x2c0)" * (cast_expression "(int *)((int)fVar54 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar54 + 0x2c0)" ( (binary_expression "(int)fVar54 + 0x2c0" (cast_expression "(int)fVar54" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar62 = iVar3 * 4;" (assignment_expression "iVar62 = iVar3 * 4" identifier = (binary_expression "iVar3 * 4" identifier * number_literal)) ;) (expression_statement "pcVar49 = *(code **)(puVar45 + 0x336490);" (assignment_expression "pcVar49 = *(code **)(puVar45 + 0x336490)" identifier = (pointer_expression "*(code **)(puVar45 + 0x336490)" * (cast_expression "(code **)(puVar45 + 0x336490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x336490)" ( (binary_expression "puVar45 + 0x336490" identifier + number_literal) ))))) ;) (do_statement "do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);" do (compound_statement "{\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            }" { (expression_statement "(*pcVar49)(adStack_d10,0,0x208);" (call_expression "(*pcVar49)(adStack_d10,0,0x208)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(adStack_d10,0,0x208)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "(**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);" (call_expression "(**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208)" (parenthesized_expression "(**(code **)(puVar45 + 0x336490))" ( (pointer_expression "**(code **)(puVar45 + 0x336490)" * (pointer_expression "*(code **)(puVar45 + 0x336490)" * (cast_expression "(code **)(puVar45 + 0x336490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x336490)" ( (binary_expression "puVar45 + 0x336490" identifier + number_literal) ))))) )) (argument_list "(adStack_900,0,0x208)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "(**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);" (call_expression "(**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208)" (parenthesized_expression "(**(code **)(puVar45 + 0x336490))" ( (pointer_expression "**(code **)(puVar45 + 0x336490)" * (pointer_expression "*(code **)(puVar45 + 0x336490)" * (cast_expression "(code **)(puVar45 + 0x336490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x336490)" ( (binary_expression "puVar45 + 0x336490" identifier + number_literal) ))))) )) (argument_list "(adStack_b08,0,0x208)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "(**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);" (call_expression "(**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208)" (parenthesized_expression "(**(code **)(puVar45 + 0x336490))" ( (pointer_expression "**(code **)(puVar45 + 0x336490)" * (pointer_expression "*(code **)(puVar45 + 0x336490)" * (cast_expression "(code **)(puVar45 + 0x336490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x336490)" ( (binary_expression "puVar45 + 0x336490" identifier + number_literal) ))))) )) (argument_list "(adStack_6f8,0,0x208)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "(**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);" (call_expression "(**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208)" (parenthesized_expression "(**(code **)(puVar45 + 0x336490))" ( (pointer_expression "**(code **)(puVar45 + 0x336490)" * (pointer_expression "*(code **)(puVar45 + 0x336490)" * (cast_expression "(code **)(puVar45 + 0x336490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x336490)" ( (binary_expression "puVar45 + 0x336490" identifier + number_literal) ))))) )) (argument_list "(adStack_4f0,0,0x208)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "iVar26 = *(int *)((int)fVar5 + 8);" (assignment_expression "iVar26 = *(int *)((int)fVar5 + 8)" identifier = (pointer_expression "*(int *)((int)fVar5 + 8)" * (cast_expression "(int *)((int)fVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar5 + 8)" ( (binary_expression "(int)fVar5 + 8" (cast_expression "(int)fVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pdStack_f7c = *(double **)((int)fVar5 + 0x14);" (assignment_expression "pdStack_f7c = *(double **)((int)fVar5 + 0x14)" identifier = (pointer_expression "*(double **)((int)fVar5 + 0x14)" * (cast_expression "(double **)((int)fVar5 + 0x14)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)fVar5 + 0x14)" ( (binary_expression "(int)fVar5 + 0x14" (cast_expression "(int)fVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }" if (parenthesized_expression "(0 < iVar26)" ( (binary_expression "0 < iVar26" number_literal < identifier) )) (compound_statement "{\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }" { (expression_statement "iVar46 = *(int *)((int)fVar5 + 4);" (assignment_expression "iVar46 = *(int *)((int)fVar5 + 4)" identifier = (pointer_expression "*(int *)((int)fVar5 + 4)" * (cast_expression "(int *)((int)fVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar5 + 4)" ( (binary_expression "(int)fVar5 + 4" (cast_expression "(int)fVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iStack_f78 = 0;" (assignment_expression "iStack_f78 = 0" identifier = number_literal) ;) (expression_statement "iStack_f80 = iStack_f54;" (assignment_expression "iStack_f80 = iStack_f54" identifier = identifier) ;) (expression_statement "pfVar50 = pfStack_f50;" (assignment_expression "pfVar50 = pfStack_f50" identifier = identifier) ;) (do_statement "do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);" do (compound_statement "{\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                }" { (if_statement "if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }" if (parenthesized_expression "(0 < iVar46)" ( (binary_expression "0 < iVar46" number_literal < identifier) )) (compound_statement "{\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }" { (expression_statement "iVar42 = 0;" (assignment_expression "iVar42 = 0" identifier = number_literal) ;) (expression_statement "pdVar8 = pdStack_f7c;" (assignment_expression "pdVar8 = pdStack_f7c" identifier = identifier) ;) (expression_statement "iVar40 = iStack_f80;" (assignment_expression "iVar40 = iStack_f80" identifier = identifier) ;) (expression_statement "pfVar43 = pfVar50;" (assignment_expression "pfVar43 = pfVar50" identifier = identifier) ;) (do_statement "do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);" do (compound_statement "{\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    }" { (if_statement "if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }" if (parenthesized_expression "(0 < iVar2)" ( (binary_expression "0 < iVar2" number_literal < identifier) )) (compound_statement "{\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }" { (expression_statement "iVar36 = *(int *)((int)fVar54 + 0x2d0);" (assignment_expression "iVar36 = *(int *)((int)fVar54 + 0x2d0)" identifier = (pointer_expression "*(int *)((int)fVar54 + 0x2d0)" * (cast_expression "(int *)((int)fVar54 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar54 + 0x2d0)" ( (binary_expression "(int)fVar54 + 0x2d0" (cast_expression "(int)fVar54" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "piVar27 = *(int **)((int)fVar12 + 0x2d0);" (assignment_expression "piVar27 = *(int **)((int)fVar12 + 0x2d0)" identifier = (pointer_expression "*(int **)((int)fVar12 + 0x2d0)" * (cast_expression "(int **)((int)fVar12 + 0x2d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)fVar12 + 0x2d0)" ( (binary_expression "(int)fVar12 + 0x2d0" (cast_expression "(int)fVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (expression_statement "piVar9 = piVar27;" (assignment_expression "piVar9 = piVar27" identifier = identifier) ;) (expression_statement "pfVar21 = pfVar43;" (assignment_expression "pfVar21 = pfVar43" identifier = identifier) ;) (do_statement "do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);" do (compound_statement "{\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        }" { (expression_statement "iVar23 = iVar36 + *piVar9 * 0xc;" (assignment_expression "iVar23 = iVar36 + *piVar9 * 0xc" identifier = (binary_expression "iVar36 + *piVar9 * 0xc" identifier + (binary_expression "*piVar9 * 0xc" (pointer_expression "*piVar9" * identifier) * number_literal))) ;) (if_statement "if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }" if (parenthesized_expression "(((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0))" ( (binary_expression "((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)" (parenthesized_expression "((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0))" ( (binary_expression "(piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)" (parenthesized_expression "(piVar27[*piVar9 * 3 + 1] != 0)" ( (binary_expression "piVar27[*piVar9 * 3 + 1] != 0" (subscript_expression "piVar27[*piVar9 * 3 + 1]" identifier [ (binary_expression "*piVar9 * 3 + 1" (binary_expression "*piVar9 * 3" (pointer_expression "*piVar9" * identifier) * number_literal) + number_literal) ]) != number_literal) )) && (parenthesized_expression "(uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)" ( (comma_expression "uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0" (assignment_expression "uVar28 = *(uint *)(iVar23 + 4)" identifier = (pointer_expression "*(uint *)(iVar23 + 4)" * (cast_expression "(uint *)(iVar23 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 4)" ( (binary_expression "iVar23 + 4" identifier + number_literal) ))))) , (binary_expression "uVar28 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)" ( (comma_expression "pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0" (assignment_expression "pdVar32 = (double *)((int)adStack_b08 + iVar13)" identifier = (cast_expression "(double *)((int)adStack_b08 + iVar13)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_b08 + iVar13)" ( (binary_expression "(int)adStack_b08 + iVar13" (cast_expression "(int)adStack_b08" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) , (binary_expression "(uVar28 & 2) != 0" (parenthesized_expression "(uVar28 & 2)" ( (binary_expression "uVar28 & 2" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }" { (expression_statement "pdVar29 = (double *)((int)adStack_4f0 + iVar13);" (assignment_expression "pdVar29 = (double *)((int)adStack_4f0 + iVar13)" identifier = (cast_expression "(double *)((int)adStack_4f0 + iVar13)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_4f0 + iVar13)" ( (binary_expression "(int)adStack_4f0 + iVar13" (cast_expression "(int)adStack_4f0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pdVar31 = (double *)((int)adStack_900 + iVar13);" (assignment_expression "pdVar31 = (double *)((int)adStack_900 + iVar13)" identifier = (cast_expression "(double *)((int)adStack_900 + iVar13)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_900 + iVar13)" ( (binary_expression "(int)adStack_900 + iVar13" (cast_expression "(int)adStack_900" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pdVar33 = (double *)((int)adStack_d10 + iVar13);" (assignment_expression "pdVar33 = (double *)((int)adStack_d10 + iVar13)" identifier = (cast_expression "(double *)((int)adStack_d10 + iVar13)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_d10 + iVar13)" ( (binary_expression "(int)adStack_d10 + iVar13" (cast_expression "(int)adStack_d10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pdVar35 = (double *)((int)adStack_6f8 + iVar13);" (assignment_expression "pdVar35 = (double *)((int)adStack_6f8 + iVar13)" identifier = (cast_expression "(double *)((int)adStack_6f8 + iVar13)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_6f8 + iVar13)" ( (binary_expression "(int)adStack_6f8 + iVar13" (cast_expression "(int)adStack_6f8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;" (assignment_expression "dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60" identifier = (binary_expression "(double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60" (cast_expression "(double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4)" * (cast_expression "(float *)(iVar40 + *(int *)(iVar23 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + *(int *)(iVar23 + 8) * 4)" ( (binary_expression "iVar40 + *(int *)(iVar23 + 8) * 4" identifier + (binary_expression "*(int *)(iVar23 + 8) * 4" (pointer_expression "*(int *)(iVar23 + 8)" * (cast_expression "(int *)(iVar23 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 8)" ( (binary_expression "iVar23 + 8" identifier + number_literal) )))) * number_literal)) ))))) * identifier)) ;) (expression_statement "dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;" (assignment_expression "dVar58 = (double)*pfVar21 * dVar60 * *pdVar8" identifier = (binary_expression "(double)*pfVar21 * dVar60 * *pdVar8" (binary_expression "(double)*pfVar21 * dVar60" (cast_expression "(double)*pfVar21" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*pfVar21" * identifier)) * identifier) * (pointer_expression "*pdVar8" * identifier))) ;) (expression_statement "dVar53 = *pdVar8 * dVar55;" (assignment_expression "dVar53 = *pdVar8 * dVar55" identifier = (binary_expression "*pdVar8 * dVar55" (pointer_expression "*pdVar8" * identifier) * identifier)) ;) (expression_statement "*pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;" (assignment_expression "*pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32" (pointer_expression "*pdVar32" * identifier) = (binary_expression "(double)*pfVar21 * dVar60 * dVar58 + *pdVar32" (binary_expression "(double)*pfVar21 * dVar60 * dVar58" (binary_expression "(double)*pfVar21 * dVar60" (cast_expression "(double)*pfVar21" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*pfVar21" * identifier)) * identifier) * identifier) + (pointer_expression "*pdVar32" * identifier))) ;) (expression_statement "*pdVar31 = dVar58 * dVar55 + *pdVar31;" (assignment_expression "*pdVar31 = dVar58 * dVar55 + *pdVar31" (pointer_expression "*pdVar31" * identifier) = (binary_expression "dVar58 * dVar55 + *pdVar31" (binary_expression "dVar58 * dVar55" identifier * identifier) + (pointer_expression "*pdVar31" * identifier))) ;) (expression_statement "*pdVar29 = dVar55 * dVar53 + *pdVar29;" (assignment_expression "*pdVar29 = dVar55 * dVar53 + *pdVar29" (pointer_expression "*pdVar29" * identifier) = (binary_expression "dVar55 * dVar53 + *pdVar29" (binary_expression "dVar55 * dVar53" identifier * identifier) + (pointer_expression "*pdVar29" * identifier))) ;) (expression_statement "*pdVar33 = *pdVar33 + dVar58;" (assignment_expression "*pdVar33 = *pdVar33 + dVar58" (pointer_expression "*pdVar33" * identifier) = (binary_expression "*pdVar33 + dVar58" (pointer_expression "*pdVar33" * identifier) + identifier)) ;) (expression_statement "*pdVar35 = *pdVar35 + dVar53;" (assignment_expression "*pdVar35 = *pdVar35 + dVar53" (pointer_expression "*pdVar35" * identifier) = (binary_expression "*pdVar35 + dVar53" (pointer_expression "*pdVar35" * identifier) + identifier)) ;) })) (expression_statement "iVar13 = iVar13 + 8;" (assignment_expression "iVar13 = iVar13 + 8" identifier = (binary_expression "iVar13 + 8" identifier + number_literal)) ;) (expression_statement "piVar9 = piVar9 + 3;" (assignment_expression "piVar9 = piVar9 + 3" identifier = (binary_expression "piVar9 + 3" identifier + number_literal)) ;) (expression_statement "pfVar21 = pfVar21 + 1;" (assignment_expression "pfVar21 = pfVar21 + 1" identifier = (binary_expression "pfVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar2 << 3 != iVar13)" ( (binary_expression "iVar2 << 3 != iVar13" (binary_expression "iVar2 << 3" identifier << number_literal) != identifier) )) ;) })) (expression_statement "iVar42 = iVar42 + 1;" (assignment_expression "iVar42 = iVar42 + 1" identifier = (binary_expression "iVar42 + 1" identifier + number_literal)) ;) (expression_statement "pdVar8 = pdVar8 + 1;" (assignment_expression "pdVar8 = pdVar8 + 1" identifier = (binary_expression "pdVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar43 = pfVar43 + iVar2;" (assignment_expression "pfVar43 = pfVar43 + iVar2" identifier = (binary_expression "pfVar43 + iVar2" identifier + identifier)) ;) (expression_statement "iVar40 = iVar40 + iVar62;" (assignment_expression "iVar40 = iVar40 + iVar62" identifier = (binary_expression "iVar40 + iVar62" identifier + identifier)) ;) }) while (parenthesized_expression "(iVar42 != iVar46)" ( (binary_expression "iVar42 != iVar46" identifier != identifier) )) ;) (expression_statement "pdStack_f7c = pdStack_f7c + iVar46;" (assignment_expression "pdStack_f7c = pdStack_f7c + iVar46" identifier = (binary_expression "pdStack_f7c + iVar46" identifier + identifier)) ;) (expression_statement "pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);" (assignment_expression "pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4)" identifier = (cast_expression "(float *)((int)pfVar50 + iVar46 * iVar2 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar50 + iVar46 * iVar2 * 4)" ( (binary_expression "(int)pfVar50 + iVar46 * iVar2 * 4" (cast_expression "(int)pfVar50" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar46 * iVar2 * 4" (binary_expression "iVar46 * iVar2" identifier * identifier) * number_literal)) )))) ;) (expression_statement "iStack_f80 = iStack_f80 + iVar46 * iVar62;" (assignment_expression "iStack_f80 = iStack_f80 + iVar46 * iVar62" identifier = (binary_expression "iStack_f80 + iVar46 * iVar62" identifier + (binary_expression "iVar46 * iVar62" identifier * identifier))) ;) })) (expression_statement "pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);" (assignment_expression "pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4)" identifier = (cast_expression "(float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar50 + iVar2 * (int)pdVar20 * 4)" ( (binary_expression "(int)pfVar50 + iVar2 * (int)pdVar20 * 4" (cast_expression "(int)pfVar50" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar2 * (int)pdVar20 * 4" (binary_expression "iVar2 * (int)pdVar20" identifier * (cast_expression "(int)pdVar20" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal)) )))) ;) (expression_statement "iStack_f78 = iStack_f78 + 1;" (assignment_expression "iStack_f78 = iStack_f78 + 1" identifier = (binary_expression "iStack_f78 + 1" identifier + number_literal)) ;) (expression_statement "iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;" (assignment_expression "iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3" identifier = (binary_expression "iStack_f80 + (int)pdVar20 * 4 * iVar3" identifier + (binary_expression "(int)pdVar20 * 4 * iVar3" (binary_expression "(int)pdVar20 * 4" (cast_expression "(int)pdVar20" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) * identifier))) ;) }) while (parenthesized_expression "(iStack_f78 != iVar26)" ( (binary_expression "iStack_f78 != iVar26" identifier != identifier) )) ;) })) (if_statement "if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }" if (parenthesized_expression "(0 < iVar2)" ( (binary_expression "0 < iVar2" number_literal < identifier) )) (compound_statement "{\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }" { (expression_statement "piVar27 = *(int **)((int)fVar12 + 0x2d0);" (assignment_expression "piVar27 = *(int **)((int)fVar12 + 0x2d0)" identifier = (pointer_expression "*(int **)((int)fVar12 + 0x2d0)" * (cast_expression "(int **)((int)fVar12 + 0x2d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)fVar12 + 0x2d0)" ( (binary_expression "(int)fVar12 + 0x2d0" (cast_expression "(int)fVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar26 = 0;" (assignment_expression "iVar26 = 0" identifier = number_literal) ;) (expression_statement "iVar46 = *(int *)((int)fVar54 + 0x2d0);" (assignment_expression "iVar46 = *(int *)((int)fVar54 + 0x2d0)" identifier = (pointer_expression "*(int *)((int)fVar54 + 0x2d0)" * (cast_expression "(int *)((int)fVar54 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar54 + 0x2d0)" ( (binary_expression "(int)fVar54 + 0x2d0" (cast_expression "(int)fVar54" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "piVar9 = piVar27;" (assignment_expression "piVar9 = piVar27" identifier = identifier) ;) (do_statement "do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);" do (compound_statement "{\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                }" { (if_statement "if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }" if (parenthesized_expression "(((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0))" ( (binary_expression "((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)" (parenthesized_expression "((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0))" ( (binary_expression "(piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)" (parenthesized_expression "(piVar27[*piVar9 * 3 + 1] != 0)" ( (binary_expression "piVar27[*piVar9 * 3 + 1] != 0" (subscript_expression "piVar27[*piVar9 * 3 + 1]" identifier [ (binary_expression "*piVar9 * 3 + 1" (binary_expression "*piVar9 * 3" (pointer_expression "*piVar9" * identifier) * number_literal) + number_literal) ]) != number_literal) )) && (parenthesized_expression "(uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)" ( (comma_expression "uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0" (assignment_expression "uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4)" identifier = (pointer_expression "*(uint *)(iVar46 + *piVar9 * 0xc + 4)" * (cast_expression "(uint *)(iVar46 + *piVar9 * 0xc + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar46 + *piVar9 * 0xc + 4)" ( (binary_expression "iVar46 + *piVar9 * 0xc + 4" (binary_expression "iVar46 + *piVar9 * 0xc" identifier + (binary_expression "*piVar9 * 0xc" (pointer_expression "*piVar9" * identifier) * number_literal)) + number_literal) ))))) , (binary_expression "uVar28 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "((uVar28 & 2) != 0)" ( (binary_expression "(uVar28 & 2) != 0" (parenthesized_expression "(uVar28 & 2)" ( (binary_expression "uVar28 & 2" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }" { (expression_statement "dVar59 = *(double *)((int)adStack_d10 + iVar26);" (assignment_expression "dVar59 = *(double *)((int)adStack_d10 + iVar26)" identifier = (pointer_expression "*(double *)((int)adStack_d10 + iVar26)" * (cast_expression "(double *)((int)adStack_d10 + iVar26)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_d10 + iVar26)" ( (binary_expression "(int)adStack_d10 + iVar26" (cast_expression "(int)adStack_d10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))))) ;) (expression_statement "dVar53 = *(double *)((int)adStack_6f8 + iVar26);" (assignment_expression "dVar53 = *(double *)((int)adStack_6f8 + iVar26)" identifier = (pointer_expression "*(double *)((int)adStack_6f8 + iVar26)" * (cast_expression "(double *)((int)adStack_6f8 + iVar26)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_6f8 + iVar26)" ( (binary_expression "(int)adStack_6f8 + iVar26" (cast_expression "(int)adStack_6f8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))))) ;) (expression_statement "pdVar8 = (double *)((int)adStack_f18 + iVar26);" (assignment_expression "pdVar8 = (double *)((int)adStack_f18 + iVar26)" identifier = (cast_expression "(double *)((int)adStack_f18 + iVar26)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_f18 + iVar26)" ( (binary_expression "(int)adStack_f18 + iVar26" (cast_expression "(int)adStack_f18" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "dVar55 = dVar59 * dVar53;" (assignment_expression "dVar55 = dVar59 * dVar53" identifier = (binary_expression "dVar59 * dVar53" identifier * identifier)) ;) (expression_statement "dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;" (assignment_expression "dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55" identifier = (binary_expression "*(double *)((int)adStack_900 + iVar26) - dVar55" (pointer_expression "*(double *)((int)adStack_900 + iVar26)" * (cast_expression "(double *)((int)adStack_900 + iVar26)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_900 + iVar26)" ( (binary_expression "(int)adStack_900 + iVar26" (cast_expression "(int)adStack_900" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) - identifier)) ;) (expression_statement "dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));" (assignment_expression "dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56))" identifier = (binary_expression "((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56))" (parenthesized_expression "((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56))" ( (binary_expression "(dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)" (parenthesized_expression "(dVar58 + dVar58 + dVar57)" ( (binary_expression "dVar58 + dVar58 + dVar57" (binary_expression "dVar58 + dVar58" identifier + identifier) + identifier) )) * (parenthesized_expression "(dVar55 + dVar55 + dVar56)" ( (binary_expression "dVar55 + dVar55 + dVar56" (binary_expression "dVar55 + dVar55" identifier + identifier) + identifier) ))) )) / (parenthesized_expression "(((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56))" ( (binary_expression "((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56)" (parenthesized_expression "((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)" ( (binary_expression "(*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57" (binary_expression "(*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53)" (parenthesized_expression "(*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59)" ( (binary_expression "*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59" (pointer_expression "*(double *)((int)adStack_b08 + iVar26)" * (cast_expression "(double *)((int)adStack_b08 + iVar26)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_b08 + iVar26)" ( (binary_expression "(int)adStack_b08 + iVar26" (cast_expression "(int)adStack_b08" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) - (binary_expression "dVar59 * dVar59" identifier * identifier)) )) + (parenthesized_expression "(*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53)" ( (binary_expression "*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53" (pointer_expression "*(double *)((int)adStack_4f0 + iVar26)" * (cast_expression "(double *)((int)adStack_4f0 + iVar26)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_4f0 + iVar26)" ( (binary_expression "(int)adStack_4f0 + iVar26" (cast_expression "(int)adStack_4f0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) - (binary_expression "dVar53 * dVar53" identifier * identifier)) ))) + identifier) )) * (parenthesized_expression "(dVar59 * dVar59 + dVar53 * dVar53 + dVar56)" ( (binary_expression "dVar59 * dVar59 + dVar53 * dVar53 + dVar56" (binary_expression "dVar59 * dVar59 + dVar53 * dVar53" (binary_expression "dVar59 * dVar59" identifier * identifier) + (binary_expression "dVar53 * dVar53" identifier * identifier)) + identifier) ))) )))) ;) (expression_statement "*pdVar8 = *pdVar8 + dVar53;" (assignment_expression "*pdVar8 = *pdVar8 + dVar53" (pointer_expression "*pdVar8" * identifier) = (binary_expression "*pdVar8 + dVar53" (pointer_expression "*pdVar8" * identifier) + identifier)) ;) (expression_statement "dStack_d18 = dStack_d18 + dVar53;" (assignment_expression "dStack_d18 = dStack_d18 + dVar53" identifier = (binary_expression "dStack_d18 + dVar53" identifier + identifier)) ;) })) (expression_statement "iVar26 = iVar26 + 8;" (assignment_expression "iVar26 = iVar26 + 8" identifier = (binary_expression "iVar26 + 8" identifier + number_literal)) ;) (expression_statement "piVar9 = piVar9 + 3;" (assignment_expression "piVar9 = piVar9 + 3" identifier = (binary_expression "piVar9 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar26 != iVar2 << 3)" ( (binary_expression "iVar26 != iVar2 << 3" identifier != (binary_expression "iVar2 << 3" identifier << number_literal)) )) ;) })) (expression_statement "pfStack_f50 = pfStack_f50 + iVar2;" (assignment_expression "pfStack_f50 = pfStack_f50 + iVar2" identifier = (binary_expression "pfStack_f50 + iVar2" identifier + identifier)) ;) (expression_statement "pdStack_f4c = (double *)((int)pdStack_f4c + 1);" (assignment_expression "pdStack_f4c = (double *)((int)pdStack_f4c + 1)" identifier = (cast_expression "(double *)((int)pdStack_f4c + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdStack_f4c + 1)" ( (binary_expression "(int)pdStack_f4c + 1" (cast_expression "(int)pdStack_f4c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iStack_f54 = iStack_f54 + iVar62;" (assignment_expression "iStack_f54 = iStack_f54 + iVar62" identifier = (binary_expression "iStack_f54 + iVar62" identifier + identifier)) ;) (expression_statement "pcVar49 = *(code **)(puVar45 + 0x336490);" (assignment_expression "pcVar49 = *(code **)(puVar45 + 0x336490)" identifier = (pointer_expression "*(code **)(puVar45 + 0x336490)" * (cast_expression "(code **)(puVar45 + 0x336490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x336490)" ( (binary_expression "puVar45 + 0x336490" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(pdVar20 != pdStack_f4c)" ( (binary_expression "pdVar20 != pdStack_f4c" identifier != identifier) )) ;) })) (expression_statement "(**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));" (call_expression "(**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4))" (parenthesized_expression "(**(code **)(puVar45 + 0x3364f0))" ( (pointer_expression "**(code **)(puVar45 + 0x3364f0)" * (pointer_expression "*(code **)(puVar45 + 0x3364f0)" * (cast_expression "(code **)(puVar45 + 0x3364f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x3364f0)" ( (binary_expression "puVar45 + 0x3364f0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar45 + 0x3360c4))" ( (pointer_expression "*(undefined4 *)(puVar45 + 0x3360c4)" * (cast_expression "(undefined4 *)(puVar45 + 0x3360c4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar45 + 0x3360c4)" ( (binary_expression "puVar45 + 0x3360c4" identifier + number_literal) )))) ))) ;) (expression_statement "pdVar8 = adStack_f18;" (assignment_expression "pdVar8 = adStack_f18" identifier = identifier) ;) (expression_statement "pdVar32 = pdVar11;" (assignment_expression "pdVar32 = pdVar11" identifier = identifier) ;) (do_statement "do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);" do (compound_statement "{\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          }" { (expression_statement "pdVar29 = pdVar8 + 1;" (assignment_expression "pdVar29 = pdVar8 + 1" identifier = (binary_expression "pdVar8 + 1" identifier + number_literal)) ;) (expression_statement "*pdVar32 = *pdVar32 + *pdVar8;" (assignment_expression "*pdVar32 = *pdVar32 + *pdVar8" (pointer_expression "*pdVar32" * identifier) = (binary_expression "*pdVar32 + *pdVar8" (pointer_expression "*pdVar32" * identifier) + (pointer_expression "*pdVar8" * identifier))) ;) (expression_statement "pdVar8 = pdVar29;" (assignment_expression "pdVar8 = pdVar29" identifier = identifier) ;) (expression_statement "pdVar32 = pdVar32 + 1;" (assignment_expression "pdVar32 = pdVar32 + 1" identifier = (binary_expression "pdVar32 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(adStack_d10 != pdVar29)" ( (binary_expression "adStack_d10 != pdVar29" identifier != identifier) )) ;) (expression_statement "pdVar8 = *(double **)(puVar45 + 0x3360c4);" (assignment_expression "pdVar8 = *(double **)(puVar45 + 0x3360c4)" identifier = (pointer_expression "*(double **)(puVar45 + 0x3360c4)" * (cast_expression "(double **)(puVar45 + 0x3360c4)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x3360c4)" ( (binary_expression "puVar45 + 0x3360c4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(puVar45 + 0x336168))();" (call_expression "(**(code **)(puVar45 + 0x336168))()" (parenthesized_expression "(**(code **)(puVar45 + 0x336168))" ( (pointer_expression "**(code **)(puVar45 + 0x336168)" * (pointer_expression "*(code **)(puVar45 + 0x336168)" * (cast_expression "(code **)(puVar45 + 0x336168)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x336168)" ( (binary_expression "puVar45 + 0x336168" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }))) })) (expression_statement "pdStack_f48 = (double *)((int)pdStack_f48 + 1);" (assignment_expression "pdStack_f48 = (double *)((int)pdStack_f48 + 1)" identifier = (cast_expression "(double *)((int)pdStack_f48 + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdStack_f48 + 1)" ( (binary_expression "(int)pdStack_f48 + 1" (cast_expression "(int)pdStack_f48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(pdVar4 != pdStack_f48)" ( (binary_expression "pdVar4 != pdStack_f48" identifier != identifier) )) ;) })) (if_statement "if (iStack_2e4 == *piVar34) {\n    return;\n  }" if (parenthesized_expression "(iStack_2e4 == *piVar34)" ( (binary_expression "iStack_2e4 == *piVar34" identifier == (pointer_expression "*piVar34" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar49 = *(code **)(puVar45 + 0x335e20);" (assignment_expression "pcVar49 = *(code **)(puVar45 + 0x335e20)" identifier = (pointer_expression "*(code **)(puVar45 + 0x335e20)" * (cast_expression "(code **)(puVar45 + 0x335e20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x335e20)" ( (binary_expression "puVar45 + 0x335e20" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar49)();" (call_expression "(*pcVar49)()" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar3 = (**(code **)(pcVar49 + 0x336064))();" (assignment_expression "iVar3 = (**(code **)(pcVar49 + 0x336064))()" identifier = (call_expression "(**(code **)(pcVar49 + 0x336064))()" (parenthesized_expression "(**(code **)(pcVar49 + 0x336064))" ( (pointer_expression "**(code **)(pcVar49 + 0x336064)" * (pointer_expression "*(code **)(pcVar49 + 0x336064)" * (cast_expression "(code **)(pcVar49 + 0x336064)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar49 + 0x336064)" ( (binary_expression "pcVar49 + 0x336064" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar2 = (**(code **)(pcVar49 + 0x335c60))();" (assignment_expression "iVar2 = (**(code **)(pcVar49 + 0x335c60))()" identifier = (call_expression "(**(code **)(pcVar49 + 0x335c60))()" (parenthesized_expression "(**(code **)(pcVar49 + 0x335c60))" ( (pointer_expression "**(code **)(pcVar49 + 0x335c60)" * (pointer_expression "*(code **)(pcVar49 + 0x335c60)" * (cast_expression "(code **)(pcVar49 + 0x335c60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar49 + 0x335c60)" ( (binary_expression "pcVar49 + 0x335c60" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    trap(7);\n  }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "iVar62 = *(int *)((int)pdVar8 + 0x34) / iVar3;" (assignment_expression "iVar62 = *(int *)((int)pdVar8 + 0x34) / iVar3" identifier = (binary_expression "*(int *)((int)pdVar8 + 0x34) / iVar3" (pointer_expression "*(int *)((int)pdVar8 + 0x34)" * (cast_expression "(int *)((int)pdVar8 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar8 + 0x34)" ( (binary_expression "(int)pdVar8 + 0x34" (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) / identifier)) ;) (expression_statement "iVar3 = *(int *)((int)pdVar8 + 0x34) % iVar3;" (assignment_expression "iVar3 = *(int *)((int)pdVar8 + 0x34) % iVar3" identifier = (binary_expression "*(int *)((int)pdVar8 + 0x34) % iVar3" (pointer_expression "*(int *)((int)pdVar8 + 0x34)" * (cast_expression "(int *)((int)pdVar8 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar8 + 0x34)" ( (binary_expression "(int)pdVar8 + 0x34" (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) % identifier)) ;) (if_statement "if (iVar2 < iVar3) {\n    iVar62 = iVar62 + 1;\n    iVar3 = 0;\n  }" if (parenthesized_expression "(iVar2 < iVar3)" ( (binary_expression "iVar2 < iVar3" identifier < identifier) )) (compound_statement "{\n    iVar62 = iVar62 + 1;\n    iVar3 = 0;\n  }" { (expression_statement "iVar62 = iVar62 + 1;" (assignment_expression "iVar62 = iVar62 + 1" identifier = (binary_expression "iVar62 + 1" identifier + number_literal)) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) })) (expression_statement "iVar3 = iVar62 * iVar2 + iVar3;" (assignment_expression "iVar3 = iVar62 * iVar2 + iVar3" identifier = (binary_expression "iVar62 * iVar2 + iVar3" (binary_expression "iVar62 * iVar2" identifier * identifier) + identifier)) ;) (expression_statement "iVar62 = iVar62 + iVar3;" (assignment_expression "iVar62 = iVar62 + iVar3" identifier = (binary_expression "iVar62 + iVar3" identifier + identifier)) ;) (expression_statement "iVar2 = *(int *)(pcVar49 + 0x335038);" (assignment_expression "iVar2 = *(int *)(pcVar49 + 0x335038)" identifier = (pointer_expression "*(int *)(pcVar49 + 0x335038)" * (cast_expression "(int *)(pcVar49 + 0x335038)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar49 + 0x335038)" ( (binary_expression "pcVar49 + 0x335038" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 < iVar62) {\n    iVar26 = *(int *)(pcVar49 + 0x335038);\n    iVar46 = *(int *)(pcVar49 + 0x335038);\n    uVar61 = (ulonglong)*(uint *)(iVar2 + 0x1a50);\n    uVar14 = *(undefined4 *)((int)pdVar8 + 0x1c);\n    dVar56 = *pdVar8;\n    iVar40 = *(int *)(pdVar8 + 4);\n    dVar57 = *(double *)(iVar26 + 0x1438);\n    iVar42 = *(int *)((int)pdVar8 + 0xc);\n    dVar60 = *(double *)(iVar46 + 0x1440);\n    iVar36 = *(int *)(pdVar8 + 1);\n    iVar13 = *(int *)(pdVar8 + 6);\n    uVar48 = *(undefined4 *)(pdVar8 + 2);\n    uVar15 = *(undefined4 *)(pdVar8 + 3);\n    uVar16 = *(undefined4 *)((int)pdVar8 + 0x14);\n    do {\n      if (*(int *)(pdVar8 + 7) != 0) {\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    } while (iVar62 != iVar3);\n  }" if (parenthesized_expression "(iVar3 < iVar62)" ( (binary_expression "iVar3 < iVar62" identifier < identifier) )) (compound_statement "{\n    iVar26 = *(int *)(pcVar49 + 0x335038);\n    iVar46 = *(int *)(pcVar49 + 0x335038);\n    uVar61 = (ulonglong)*(uint *)(iVar2 + 0x1a50);\n    uVar14 = *(undefined4 *)((int)pdVar8 + 0x1c);\n    dVar56 = *pdVar8;\n    iVar40 = *(int *)(pdVar8 + 4);\n    dVar57 = *(double *)(iVar26 + 0x1438);\n    iVar42 = *(int *)((int)pdVar8 + 0xc);\n    dVar60 = *(double *)(iVar46 + 0x1440);\n    iVar36 = *(int *)(pdVar8 + 1);\n    iVar13 = *(int *)(pdVar8 + 6);\n    uVar48 = *(undefined4 *)(pdVar8 + 2);\n    uVar15 = *(undefined4 *)(pdVar8 + 3);\n    uVar16 = *(undefined4 *)((int)pdVar8 + 0x14);\n    do {\n      if (*(int *)(pdVar8 + 7) != 0) {\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    } while (iVar62 != iVar3);\n  }" { (expression_statement "iVar26 = *(int *)(pcVar49 + 0x335038);" (assignment_expression "iVar26 = *(int *)(pcVar49 + 0x335038)" identifier = (pointer_expression "*(int *)(pcVar49 + 0x335038)" * (cast_expression "(int *)(pcVar49 + 0x335038)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar49 + 0x335038)" ( (binary_expression "pcVar49 + 0x335038" identifier + number_literal) ))))) ;) (expression_statement "iVar46 = *(int *)(pcVar49 + 0x335038);" (assignment_expression "iVar46 = *(int *)(pcVar49 + 0x335038)" identifier = (pointer_expression "*(int *)(pcVar49 + 0x335038)" * (cast_expression "(int *)(pcVar49 + 0x335038)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar49 + 0x335038)" ( (binary_expression "pcVar49 + 0x335038" identifier + number_literal) ))))) ;) (expression_statement "uVar61 = (ulonglong)*(uint *)(iVar2 + 0x1a50);" (assignment_expression "uVar61 = (ulonglong)*(uint *)(iVar2 + 0x1a50)" identifier = (binary_expression "(ulonglong)*(uint *)(iVar2 + 0x1a50)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(iVar2 + 0x1a50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1a50)" ( (binary_expression "iVar2 + 0x1a50" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = *(undefined4 *)((int)pdVar8 + 0x1c);" (assignment_expression "uVar14 = *(undefined4 *)((int)pdVar8 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)((int)pdVar8 + 0x1c)" * (cast_expression "(undefined4 *)((int)pdVar8 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar8 + 0x1c)" ( (binary_expression "(int)pdVar8 + 0x1c" (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "dVar56 = *pdVar8;" (assignment_expression "dVar56 = *pdVar8" identifier = (pointer_expression "*pdVar8" * identifier)) ;) (expression_statement "iVar40 = *(int *)(pdVar8 + 4);" (assignment_expression "iVar40 = *(int *)(pdVar8 + 4)" identifier = (pointer_expression "*(int *)(pdVar8 + 4)" * (cast_expression "(int *)(pdVar8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar8 + 4)" ( (binary_expression "pdVar8 + 4" identifier + number_literal) ))))) ;) (expression_statement "dVar57 = *(double *)(iVar26 + 0x1438);" (assignment_expression "dVar57 = *(double *)(iVar26 + 0x1438)" identifier = (pointer_expression "*(double *)(iVar26 + 0x1438)" * (cast_expression "(double *)(iVar26 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x1438)" ( (binary_expression "iVar26 + 0x1438" identifier + number_literal) ))))) ;) (expression_statement "iVar42 = *(int *)((int)pdVar8 + 0xc);" (assignment_expression "iVar42 = *(int *)((int)pdVar8 + 0xc)" identifier = (pointer_expression "*(int *)((int)pdVar8 + 0xc)" * (cast_expression "(int *)((int)pdVar8 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar8 + 0xc)" ( (binary_expression "(int)pdVar8 + 0xc" (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "dVar60 = *(double *)(iVar46 + 0x1440);" (assignment_expression "dVar60 = *(double *)(iVar46 + 0x1440)" identifier = (pointer_expression "*(double *)(iVar46 + 0x1440)" * (cast_expression "(double *)(iVar46 + 0x1440)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar46 + 0x1440)" ( (binary_expression "iVar46 + 0x1440" identifier + number_literal) ))))) ;) (expression_statement "iVar36 = *(int *)(pdVar8 + 1);" (assignment_expression "iVar36 = *(int *)(pdVar8 + 1)" identifier = (pointer_expression "*(int *)(pdVar8 + 1)" * (cast_expression "(int *)(pdVar8 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar8 + 1)" ( (binary_expression "pdVar8 + 1" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)(pdVar8 + 6);" (assignment_expression "iVar13 = *(int *)(pdVar8 + 6)" identifier = (pointer_expression "*(int *)(pdVar8 + 6)" * (cast_expression "(int *)(pdVar8 + 6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar8 + 6)" ( (binary_expression "pdVar8 + 6" identifier + number_literal) ))))) ;) (expression_statement "uVar48 = *(undefined4 *)(pdVar8 + 2);" (assignment_expression "uVar48 = *(undefined4 *)(pdVar8 + 2)" identifier = (pointer_expression "*(undefined4 *)(pdVar8 + 2)" * (cast_expression "(undefined4 *)(pdVar8 + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar8 + 2)" ( (binary_expression "pdVar8 + 2" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = *(undefined4 *)(pdVar8 + 3);" (assignment_expression "uVar15 = *(undefined4 *)(pdVar8 + 3)" identifier = (pointer_expression "*(undefined4 *)(pdVar8 + 3)" * (cast_expression "(undefined4 *)(pdVar8 + 3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar8 + 3)" ( (binary_expression "pdVar8 + 3" identifier + number_literal) ))))) ;) (expression_statement "uVar16 = *(undefined4 *)((int)pdVar8 + 0x14);" (assignment_expression "uVar16 = *(undefined4 *)((int)pdVar8 + 0x14)" identifier = (pointer_expression "*(undefined4 *)((int)pdVar8 + 0x14)" * (cast_expression "(undefined4 *)((int)pdVar8 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar8 + 0x14)" ( (binary_expression "(int)pdVar8 + 0x14" (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (do_statement "do {\n      if (*(int *)(pdVar8 + 7) != 0) {\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    } while (iVar62 != iVar3);" do (compound_statement "{\n      if (*(int *)(pdVar8 + 7) != 0) {\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    }" { (if_statement "if (*(int *)(pdVar8 + 7) != 0) {\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }" if (parenthesized_expression "(*(int *)(pdVar8 + 7) != 0)" ( (binary_expression "*(int *)(pdVar8 + 7) != 0" (pointer_expression "*(int *)(pdVar8 + 7)" * (cast_expression "(int *)(pdVar8 + 7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar8 + 7)" ( (binary_expression "pdVar8 + 7" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }" { (expression_statement "iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);" (assignment_expression "iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48)" identifier = (call_expression "(**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48)" (parenthesized_expression "(**(code **)(pcVar49 + 0x335db4))" ( (pointer_expression "**(code **)(pcVar49 + 0x335db4)" * (pointer_expression "*(code **)(pcVar49 + 0x335db4)" * (cast_expression "(code **)(pcVar49 + 0x335db4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar49 + 0x335db4)" ( (binary_expression "pcVar49 + 0x335db4" identifier + number_literal) ))))) )) (argument_list "(uVar15,0,iVar3,iVar13,1,uVar48)" ( identifier , number_literal , identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);" (assignment_expression "iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48)" identifier = (call_expression "(**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48)" (parenthesized_expression "(**(code **)(pcVar49 + 0x335db4))" ( (pointer_expression "**(code **)(pcVar49 + 0x335db4)" * (pointer_expression "*(code **)(pcVar49 + 0x335db4)" * (cast_expression "(code **)(pcVar49 + 0x335db4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar49 + 0x335db4)" ( (binary_expression "pcVar49 + 0x335db4" identifier + number_literal) ))))) )) (argument_list "(uVar14,0,iVar3,iVar13,1,uVar48)" ( identifier , number_literal , identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);" (assignment_expression "iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48)" identifier = (call_expression "(**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48)" (parenthesized_expression "(**(code **)(pcVar49 + 0x3353a8))" ( (pointer_expression "**(code **)(pcVar49 + 0x3353a8)" * (pointer_expression "*(code **)(pcVar49 + 0x3353a8)" * (cast_expression "(code **)(pcVar49 + 0x3353a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar49 + 0x3353a8)" ( (binary_expression "pcVar49 + 0x3353a8" identifier + number_literal) ))))) )) (argument_list "(uVar16,0,iVar3,iVar13,1,uVar48)" ( identifier , number_literal , identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }" if (parenthesized_expression "(((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0))" ( (binary_expression "((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)" (parenthesized_expression "((iVar23 != 0) && (iVar17 != 0))" ( (binary_expression "(iVar23 != 0) && (iVar17 != 0)" (parenthesized_expression "(iVar23 != 0)" ( (binary_expression "iVar23 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) ))) )) && (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) ))) )) (compound_statement "{\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }" { (if_statement "if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }" if (parenthesized_expression "(0 < iVar13)" ( (binary_expression "0 < iVar13" number_literal < identifier) )) (compound_statement "{\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }" { (expression_statement "iVar37 = 0;" (assignment_expression "iVar37 = 0" identifier = number_literal) ;) (expression_statement "piVar34 = *(int **)(iVar36 + 0x2d0);" (assignment_expression "piVar34 = *(int **)(iVar36 + 0x2d0)" identifier = (pointer_expression "*(int **)(iVar36 + 0x2d0)" * (cast_expression "(int **)(iVar36 + 0x2d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar36 + 0x2d0)" ( (binary_expression "iVar36 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "iVar39 = *(int *)((int)pdVar8 + 0x2c);" (assignment_expression "iVar39 = *(int *)((int)pdVar8 + 0x2c)" identifier = (pointer_expression "*(int *)((int)pdVar8 + 0x2c)" * (cast_expression "(int *)((int)pdVar8 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar8 + 0x2c)" ( (binary_expression "(int)pdVar8 + 0x2c" (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "fVar6 = *(float *)(iVar2 + 0x1a50);" (assignment_expression "fVar6 = *(float *)(iVar2 + 0x1a50)" identifier = (pointer_expression "*(float *)(iVar2 + 0x1a50)" * (cast_expression "(float *)(iVar2 + 0x1a50)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1a50)" ( (binary_expression "iVar2 + 0x1a50" identifier + number_literal) ))))) ;) (expression_statement "iVar44 = piVar34[0x13];" (assignment_expression "iVar44 = piVar34[0x13]" identifier = (subscript_expression "piVar34[0x13]" identifier [ number_literal ])) ;) (expression_statement "iVar47 = *(int *)((int)pdVar8 + 0x24);" (assignment_expression "iVar47 = *(int *)((int)pdVar8 + 0x24)" identifier = (pointer_expression "*(int *)((int)pdVar8 + 0x24)" * (cast_expression "(int *)((int)pdVar8 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar8 + 0x24)" ( (binary_expression "(int)pdVar8 + 0x24" (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);" (assignment_expression "fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708)" identifier = (pointer_expression "*(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708)" * (cast_expression "(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar49 + 0x335038) + 0x3708)" ( (binary_expression "*(int *)(pcVar49 + 0x335038) + 0x3708" (pointer_expression "*(int *)(pcVar49 + 0x335038)" * (cast_expression "(int *)(pcVar49 + 0x335038)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar49 + 0x335038)" ( (binary_expression "pcVar49 + 0x335038" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar41 = *(int *)(pdVar8 + 5);" (assignment_expression "iVar41 = *(int *)(pdVar8 + 5)" identifier = (pointer_expression "*(int *)(pdVar8 + 5)" * (cast_expression "(int *)(pdVar8 + 5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar8 + 5)" ( (binary_expression "pdVar8 + 5" identifier + number_literal) ))))) ;) (expression_statement "dVar53 = *(double *)(iVar26 + 0x1438);" (assignment_expression "dVar53 = *(double *)(iVar26 + 0x1438)" identifier = (pointer_expression "*(double *)(iVar26 + 0x1438)" * (cast_expression "(double *)(iVar26 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x1438)" ( (binary_expression "iVar26 + 0x1438" identifier + number_literal) ))))) ;) (expression_statement "dVar55 = *(double *)(iVar46 + 0x1440);" (assignment_expression "dVar55 = *(double *)(iVar46 + 0x1440)" identifier = (pointer_expression "*(double *)(iVar46 + 0x1440)" * (cast_expression "(double *)(iVar46 + 0x1440)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar46 + 0x1440)" ( (binary_expression "iVar46 + 0x1440" identifier + number_literal) ))))) ;) (do_statement "do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);" do (compound_statement "{\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            }" { (while_statement "while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }" while (parenthesized_expression "(((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5)))))" ( (parenthesized_expression "((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))" ( (binary_expression "(iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5)))" (parenthesized_expression "(iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5))" ( (binary_expression "iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)" (binary_expression "iVar44 != 0" identifier != number_literal) && (parenthesized_expression "(*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)" ( (binary_expression "*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5" (pointer_expression "*(float *)(iVar23 + piVar34[0x14] * 4)" * (cast_expression "(float *)(iVar23 + piVar34[0x14] * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + piVar34[0x14] * 4)" ( (binary_expression "iVar23 + piVar34[0x14] * 4" identifier + (binary_expression "piVar34[0x14] * 4" (subscript_expression "piVar34[0x14]" identifier [ number_literal ]) * number_literal)) )))) <= identifier) ))) )) || (parenthesized_expression "((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5)))" ( (parenthesized_expression "(iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))" ( (comma_expression "iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5)" (assignment_expression "iVar19 = *(int *)(iVar42 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar42 + 0x2d0)" * (cast_expression "(int *)(iVar42 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar42 + 0x2d0)" ( (binary_expression "iVar42 + 0x2d0" identifier + number_literal) ))))) , (binary_expression "*(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5)" (binary_expression "*(int *)(iVar19 + 0x4c) != 0" (pointer_expression "*(int *)(iVar19 + 0x4c)" * (cast_expression "(int *)(iVar19 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x4c)" ( (binary_expression "iVar19 + 0x4c" identifier + number_literal) )))) != number_literal) && (parenthesized_expression "(*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5)" ( (binary_expression "*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5" (pointer_expression "*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4)" * (cast_expression "(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + *(int *)(iVar19 + 0x50) * 4)" ( (binary_expression "iVar17 + *(int *)(iVar19 + 0x50) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x50) * 4" (pointer_expression "*(int *)(iVar19 + 0x50)" * (cast_expression "(int *)(iVar19 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x50)" ( (binary_expression "iVar19 + 0x50" identifier + number_literal) )))) * number_literal)) )))) <= identifier) )))) )) ))) )) )) (compound_statement "{\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }" { (expression_statement "iVar19 = *(int *)(iVar40 + 0x2d0);" (assignment_expression "iVar19 = *(int *)(iVar40 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar40 + 0x2d0)" * (cast_expression "(int *)(iVar40 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 0x2d0)" ( (binary_expression "iVar40 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "dVar59 = *(double *)(iVar39 + 0x30);" (assignment_expression "dVar59 = *(double *)(iVar39 + 0x30)" identifier = (pointer_expression "*(double *)(iVar39 + 0x30)" * (cast_expression "(double *)(iVar39 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0x30)" ( (binary_expression "iVar39 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "dVar58 = *(double *)(iVar39 + 0x38);" (assignment_expression "dVar58 = *(double *)(iVar39 + 0x38)" identifier = (pointer_expression "*(double *)(iVar39 + 0x38)" * (cast_expression "(double *)(iVar39 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0x38)" ( (binary_expression "iVar39 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar24 = *(int *)(iVar19 + 0x14);" (assignment_expression "iVar24 = *(int *)(iVar19 + 0x14)" identifier = (pointer_expression "*(int *)(iVar19 + 0x14)" * (cast_expression "(int *)(iVar19 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x14)" ( (binary_expression "iVar19 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = *(int *)(iVar19 + 0x20);" (assignment_expression "iVar22 = *(int *)(iVar19 + 0x20)" identifier = (pointer_expression "*(int *)(iVar19 + 0x20)" * (cast_expression "(int *)(iVar19 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x20)" ( (binary_expression "iVar19 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar30 = *(int *)(iVar19 + 0x28);" (assignment_expression "iVar30 = *(int *)(iVar19 + 0x28)" identifier = (pointer_expression "*(int *)(iVar19 + 0x28)" * (cast_expression "(int *)(iVar19 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x28)" ( (binary_expression "iVar19 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);" (assignment_expression "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28)" (pointer_expression "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4)" * (cast_expression "(float *)(iVar18 + *(int *)(iVar19 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + *(int *)(iVar19 + 8) * 4)" ( (binary_expression "iVar18 + *(int *)(iVar19 + 8) * 4" identifier + (binary_expression "*(int *)(iVar19 + 8) * 4" (pointer_expression "*(int *)(iVar19 + 8)" * (cast_expression "(int *)(iVar19 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(iVar39 + 0x28)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar39 + 0x28)" * (cast_expression "(double *)(iVar39 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0x28)" ( (binary_expression "iVar39 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "*(float *)(iVar18 + iVar24 * 4) = (float)dVar59;" (assignment_expression "*(float *)(iVar18 + iVar24 * 4) = (float)dVar59" (pointer_expression "*(float *)(iVar18 + iVar24 * 4)" * (cast_expression "(float *)(iVar18 + iVar24 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + iVar24 * 4)" ( (binary_expression "iVar18 + iVar24 * 4" identifier + (binary_expression "iVar24 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dVar59" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*(float *)(iVar18 + iVar22 * 4) = (float)dVar58;" (assignment_expression "*(float *)(iVar18 + iVar22 * 4) = (float)dVar58" (pointer_expression "*(float *)(iVar18 + iVar22 * 4)" * (cast_expression "(float *)(iVar18 + iVar22 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + iVar22 * 4)" ( (binary_expression "iVar18 + iVar22 * 4" identifier + (binary_expression "iVar22 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dVar58" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (if_statement "if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }" if (parenthesized_expression "(iVar30 != 0)" ( (binary_expression "iVar30 != 0" identifier != number_literal) )) (compound_statement "{\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }" { (expression_statement "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);" (assignment_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40)" (pointer_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" * (cast_expression "(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" ( (binary_expression "iVar18 + *(int *)(iVar19 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x2c) * 4" (pointer_expression "*(int *)(iVar19 + 0x2c)" * (cast_expression "(int *)(iVar19 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x2c)" ( (binary_expression "iVar19 + 0x2c" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(iVar39 + 0x40)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar39 + 0x40)" * (cast_expression "(double *)(iVar39 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0x40)" ( (binary_expression "iVar39 + 0x40" identifier + number_literal) )))))) ;) })) (if_statement "if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }" if (parenthesized_expression "(*(int *)(iVar19 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x34) != 0" (pointer_expression "*(int *)(iVar19 + 0x34)" * (cast_expression "(int *)(iVar19 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x34)" ( (binary_expression "iVar19 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }" { (expression_statement "fVar38 = fVar6;" (assignment_expression "fVar38 = fVar6" identifier = identifier) ;) (if_statement "if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }" if (parenthesized_expression "(*(int *)(iVar39 + 8) != 0)" ( (binary_expression "*(int *)(iVar39 + 8) != 0" (pointer_expression "*(int *)(iVar39 + 8)" * (cast_expression "(int *)(iVar39 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 8)" ( (binary_expression "iVar39 + 8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }" { (expression_statement "fVar38 = (float)*(double *)(iVar39 + 0x48);" (assignment_expression "fVar38 = (float)*(double *)(iVar39 + 0x48)" identifier = (cast_expression "(float)*(double *)(iVar39 + 0x48)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar39 + 0x48)" * (cast_expression "(double *)(iVar39 + 0x48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0x48)" ( (binary_expression "iVar39 + 0x48" identifier + number_literal) )))))) ;) })) (expression_statement "*(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;" (assignment_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38" (pointer_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4)" * (cast_expression "(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + *(int *)(iVar19 + 0x38) * 4)" ( (binary_expression "iVar18 + *(int *)(iVar19 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x38) * 4" (pointer_expression "*(int *)(iVar19 + 0x38)" * (cast_expression "(int *)(iVar19 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x38)" ( (binary_expression "iVar19 + 0x38" identifier + number_literal) )))) * number_literal)) )))) = identifier) ;) })) (expression_statement "iVar37 = iVar37 + 1;" (assignment_expression "iVar37 = iVar37 + 1" identifier = (binary_expression "iVar37 + 1" identifier + number_literal)) ;) (expression_statement "iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;" (assignment_expression "iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4" identifier = (binary_expression "iVar23 + *(int *)(iVar36 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar36 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar36 + 0x2c0)" * (cast_expression "(int *)(iVar36 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar36 + 0x2c0)" ( (binary_expression "iVar36 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;" (assignment_expression "iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4" identifier = (binary_expression "iVar17 + *(int *)(iVar42 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar42 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar42 + 0x2c0)" * (cast_expression "(int *)(iVar42 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar42 + 0x2c0)" ( (binary_expression "iVar42 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;" (assignment_expression "iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4" identifier = (binary_expression "iVar18 + *(int *)(iVar40 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar40 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar40 + 0x2c0)" * (cast_expression "(int *)(iVar40 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 0x2c0)" ( (binary_expression "iVar40 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (if_statement "if (iVar37 == iVar13) goto LAB_00073d60;" if (parenthesized_expression "(iVar37 == iVar13)" ( (binary_expression "iVar37 == iVar13" identifier == identifier) )) (goto_statement "goto LAB_00073d60;" goto statement_identifier ;)) })) (expression_statement "dVar58 = dVar53;" (assignment_expression "dVar58 = dVar53" identifier = identifier) ;) (if_statement "if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }" if (parenthesized_expression "(piVar34[0xd] != 0)" ( (binary_expression "piVar34[0xd] != 0" (subscript_expression "piVar34[0xd]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }" { (expression_statement "dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;" (assignment_expression "dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55" identifier = (binary_expression "(double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55" (cast_expression "(double)*(float *)(iVar23 + piVar34[0xe] * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar23 + piVar34[0xe] * 4)" * (cast_expression "(float *)(iVar23 + piVar34[0xe] * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + piVar34[0xe] * 4)" ( (binary_expression "iVar23 + piVar34[0xe] * 4" identifier + (binary_expression "piVar34[0xe] * 4" (subscript_expression "piVar34[0xe]" identifier [ number_literal ]) * number_literal)) ))))) * identifier)) ;) })) (expression_statement "dVar59 = dVar57;" (assignment_expression "dVar59 = dVar57" identifier = identifier) ;) (if_statement "if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }" if (parenthesized_expression "(*(int *)(iVar19 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x34) != 0" (pointer_expression "*(int *)(iVar19 + 0x34)" * (cast_expression "(int *)(iVar19 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x34)" ( (binary_expression "iVar19 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }" { (expression_statement "dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;" (assignment_expression "dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60" identifier = (binary_expression "(double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60" (cast_expression "(double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4)" * (cast_expression "(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + *(int *)(iVar19 + 0x38) * 4)" ( (binary_expression "iVar17 + *(int *)(iVar19 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x38) * 4" (pointer_expression "*(int *)(iVar19 + 0x38)" * (cast_expression "(int *)(iVar19 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x38)" ( (binary_expression "iVar19 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) * identifier)) ;) })) (expression_statement "iVar24 = *(int *)(iVar36 + 0x2c0);" (assignment_expression "iVar24 = *(int *)(iVar36 + 0x2c0)" identifier = (pointer_expression "*(int *)(iVar36 + 0x2c0)" * (cast_expression "(int *)(iVar36 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar36 + 0x2c0)" ( (binary_expression "iVar36 + 0x2c0" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" identifier = number_literal) ;) (expression_statement "piVar9 = piVar34;" (assignment_expression "piVar9 = piVar34" identifier = identifier) ;) (if_statement "if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }" if (parenthesized_expression "(0 < iVar24)" ( (binary_expression "0 < iVar24" number_literal < identifier) )) (compound_statement "{\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }" { (do_statement "do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);" do (compound_statement "{\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                }" { (expression_statement "iVar25 = *piVar9;" (assignment_expression "iVar25 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "iVar30 = iVar19 + iVar25 * 0xc;" (assignment_expression "iVar30 = iVar19 + iVar25 * 0xc" identifier = (binary_expression "iVar19 + iVar25 * 0xc" identifier + (binary_expression "iVar25 * 0xc" identifier * number_literal))) ;) (if_statement "if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }" if (parenthesized_expression "(((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0))" ( (binary_expression "((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)" (parenthesized_expression "((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0))" ( (binary_expression "(piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)" (parenthesized_expression "(piVar34[iVar25 * 3 + 1] != 0)" ( (binary_expression "piVar34[iVar25 * 3 + 1] != 0" (subscript_expression "piVar34[iVar25 * 3 + 1]" identifier [ (binary_expression "iVar25 * 3 + 1" (binary_expression "iVar25 * 3" identifier * number_literal) + number_literal) ]) != number_literal) )) && (parenthesized_expression "(uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)" ( (comma_expression "uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0" (assignment_expression "uVar28 = *(uint *)(iVar30 + 4)" identifier = (pointer_expression "*(uint *)(iVar30 + 4)" * (cast_expression "(uint *)(iVar30 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + 4)" ( (binary_expression "iVar30 + 4" identifier + number_literal) ))))) , (binary_expression "uVar28 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "((uVar28 & 2) != 0)" ( (binary_expression "(uVar28 & 2) != 0" (parenthesized_expression "(uVar28 & 2)" ( (binary_expression "uVar28 & 2" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }" { (expression_statement "dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);" (assignment_expression "dVar52 = (double)*(float *)(iVar23 + iVar22 * 4)" identifier = (cast_expression "(double)*(float *)(iVar23 + iVar22 * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar23 + iVar22 * 4)" * (cast_expression "(float *)(iVar23 + iVar22 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar22 * 4)" ( (binary_expression "iVar23 + iVar22 * 4" identifier + (binary_expression "iVar22 * 4" identifier * number_literal)) )))))) ;) (expression_statement "dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);" (assignment_expression "dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4)" identifier = (cast_expression "(double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4)" * (cast_expression "(float *)(iVar17 + *(int *)(iVar30 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + *(int *)(iVar30 + 8) * 4)" ( (binary_expression "iVar17 + *(int *)(iVar30 + 8) * 4" identifier + (binary_expression "*(int *)(iVar30 + 8) * 4" (pointer_expression "*(int *)(iVar30 + 8)" * (cast_expression "(int *)(iVar30 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + 8)" ( (binary_expression "iVar30 + 8" identifier + number_literal) )))) * number_literal)) )))))) ;) (if_statement "if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }" if (parenthesized_expression "(iVar25 == 4)" ( (binary_expression "iVar25 == 4" identifier == number_literal) )) (compound_statement "{\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }" { (expression_statement "dVar52 = dVar52 - dVar51;" (assignment_expression "dVar52 = dVar52 - dVar51" identifier = (binary_expression "dVar52 - dVar51" identifier - identifier)) ;) (expression_statement "dVar52 = dVar52 * dVar52;" (assignment_expression "dVar52 = dVar52 * dVar52" identifier = (binary_expression "dVar52 * dVar52" identifier * identifier)) ;) }) (else_clause "else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }" else (compound_statement "{\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }" { (expression_statement "dVar52 = dVar58 * dVar52 - dVar59 * dVar51;" (assignment_expression "dVar52 = dVar58 * dVar52 - dVar59 * dVar51" identifier = (binary_expression "dVar58 * dVar52 - dVar59 * dVar51" (binary_expression "dVar58 * dVar52" identifier * identifier) - (binary_expression "dVar59 * dVar51" identifier * identifier))) ;) (expression_statement "dVar52 = dVar52 * dVar52;" (assignment_expression "dVar52 = dVar52 * dVar52" identifier = (binary_expression "dVar52 * dVar52" identifier * identifier)) ;) }))) (if_statement "if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }" if (parenthesized_expression "(dVar56 <= dVar52)" ( (binary_expression "dVar56 <= dVar52" identifier <= identifier) )) (compound_statement "{\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }" { (expression_statement "iVar19 = *(int *)(iVar40 + 0x2d0);" (assignment_expression "iVar19 = *(int *)(iVar40 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar40 + 0x2d0)" * (cast_expression "(int *)(iVar40 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 0x2d0)" ( (binary_expression "iVar40 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "dVar59 = *(double *)(iVar47 + 0x30);" (assignment_expression "dVar59 = *(double *)(iVar47 + 0x30)" identifier = (pointer_expression "*(double *)(iVar47 + 0x30)" * (cast_expression "(double *)(iVar47 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar47 + 0x30)" ( (binary_expression "iVar47 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "dVar58 = *(double *)(iVar47 + 0x38);" (assignment_expression "dVar58 = *(double *)(iVar47 + 0x38)" identifier = (pointer_expression "*(double *)(iVar47 + 0x38)" * (cast_expression "(double *)(iVar47 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar47 + 0x38)" ( (binary_expression "iVar47 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar30 = *(int *)(iVar19 + 0x14);" (assignment_expression "iVar30 = *(int *)(iVar19 + 0x14)" identifier = (pointer_expression "*(int *)(iVar19 + 0x14)" * (cast_expression "(int *)(iVar19 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x14)" ( (binary_expression "iVar19 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = *(int *)(iVar19 + 0x20);" (assignment_expression "iVar22 = *(int *)(iVar19 + 0x20)" identifier = (pointer_expression "*(int *)(iVar19 + 0x20)" * (cast_expression "(int *)(iVar19 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x20)" ( (binary_expression "iVar19 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar25 = *(int *)(iVar19 + 0x28);" (assignment_expression "iVar25 = *(int *)(iVar19 + 0x28)" identifier = (pointer_expression "*(int *)(iVar19 + 0x28)" * (cast_expression "(int *)(iVar19 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x28)" ( (binary_expression "iVar19 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);" (assignment_expression "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28)" (pointer_expression "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4)" * (cast_expression "(float *)(iVar18 + *(int *)(iVar19 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + *(int *)(iVar19 + 8) * 4)" ( (binary_expression "iVar18 + *(int *)(iVar19 + 8) * 4" identifier + (binary_expression "*(int *)(iVar19 + 8) * 4" (pointer_expression "*(int *)(iVar19 + 8)" * (cast_expression "(int *)(iVar19 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(iVar47 + 0x28)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar47 + 0x28)" * (cast_expression "(double *)(iVar47 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar47 + 0x28)" ( (binary_expression "iVar47 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "*(float *)(iVar18 + iVar30 * 4) = (float)dVar59;" (assignment_expression "*(float *)(iVar18 + iVar30 * 4) = (float)dVar59" (pointer_expression "*(float *)(iVar18 + iVar30 * 4)" * (cast_expression "(float *)(iVar18 + iVar30 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + iVar30 * 4)" ( (binary_expression "iVar18 + iVar30 * 4" identifier + (binary_expression "iVar30 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dVar59" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*(float *)(iVar18 + iVar22 * 4) = (float)dVar58;" (assignment_expression "*(float *)(iVar18 + iVar22 * 4) = (float)dVar58" (pointer_expression "*(float *)(iVar18 + iVar22 * 4)" * (cast_expression "(float *)(iVar18 + iVar22 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + iVar22 * 4)" ( (binary_expression "iVar18 + iVar22 * 4" identifier + (binary_expression "iVar22 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dVar58" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (if_statement "if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }" if (parenthesized_expression "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) )) (compound_statement "{\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }" { (expression_statement "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);" (assignment_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40)" (pointer_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" * (cast_expression "(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" ( (binary_expression "iVar18 + *(int *)(iVar19 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x2c) * 4" (pointer_expression "*(int *)(iVar19 + 0x2c)" * (cast_expression "(int *)(iVar19 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x2c)" ( (binary_expression "iVar19 + 0x2c" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(iVar47 + 0x40)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar47 + 0x40)" * (cast_expression "(double *)(iVar47 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar47 + 0x40)" ( (binary_expression "iVar47 + 0x40" identifier + number_literal) )))))) ;) })) (if_statement "if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;" if (parenthesized_expression "(*(int *)(iVar19 + 0x34) == 0)" ( (binary_expression "*(int *)(iVar19 + 0x34) == 0" (pointer_expression "*(int *)(iVar19 + 0x34)" * (cast_expression "(int *)(iVar19 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x34)" ( (binary_expression "iVar19 + 0x34" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_00073d38;" goto statement_identifier ;)) (expression_statement "fVar38 = fVar6;" (assignment_expression "fVar38 = fVar6" identifier = identifier) ;) (if_statement "if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }" if (parenthesized_expression "(*(int *)(iVar47 + 8) != 0)" ( (binary_expression "*(int *)(iVar47 + 8) != 0" (pointer_expression "*(int *)(iVar47 + 8)" * (cast_expression "(int *)(iVar47 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar47 + 8)" ( (binary_expression "iVar47 + 8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }" { (expression_statement "fVar38 = (float)*(double *)(iVar47 + 0x48);" (assignment_expression "fVar38 = (float)*(double *)(iVar47 + 0x48)" identifier = (cast_expression "(float)*(double *)(iVar47 + 0x48)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar47 + 0x48)" * (cast_expression "(double *)(iVar47 + 0x48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar47 + 0x48)" ( (binary_expression "iVar47 + 0x48" identifier + number_literal) )))))) ;) })) (goto_statement "goto LAB_00073d28;" goto statement_identifier ;) })) })) (expression_statement "iVar22 = iVar22 + 1;" (assignment_expression "iVar22 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (expression_statement "piVar9 = piVar9 + 3;" (assignment_expression "piVar9 = piVar9 + 3" identifier = (binary_expression "piVar9 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar24 != iVar22)" ( (binary_expression "iVar24 != iVar22" identifier != identifier) )) ;) })) (expression_statement "iVar19 = *(int *)(iVar40 + 0x2d0);" (assignment_expression "iVar19 = *(int *)(iVar40 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar40 + 0x2d0)" * (cast_expression "(int *)(iVar40 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 0x2d0)" ( (binary_expression "iVar40 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "dVar59 = *(double *)(iVar41 + 0x30);" (assignment_expression "dVar59 = *(double *)(iVar41 + 0x30)" identifier = (pointer_expression "*(double *)(iVar41 + 0x30)" * (cast_expression "(double *)(iVar41 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + 0x30)" ( (binary_expression "iVar41 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "dVar58 = *(double *)(iVar41 + 0x38);" (assignment_expression "dVar58 = *(double *)(iVar41 + 0x38)" identifier = (pointer_expression "*(double *)(iVar41 + 0x38)" * (cast_expression "(double *)(iVar41 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + 0x38)" ( (binary_expression "iVar41 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar30 = *(int *)(iVar19 + 0x14);" (assignment_expression "iVar30 = *(int *)(iVar19 + 0x14)" identifier = (pointer_expression "*(int *)(iVar19 + 0x14)" * (cast_expression "(int *)(iVar19 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x14)" ( (binary_expression "iVar19 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = *(int *)(iVar19 + 0x20);" (assignment_expression "iVar22 = *(int *)(iVar19 + 0x20)" identifier = (pointer_expression "*(int *)(iVar19 + 0x20)" * (cast_expression "(int *)(iVar19 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x20)" ( (binary_expression "iVar19 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar25 = *(int *)(iVar19 + 0x28);" (assignment_expression "iVar25 = *(int *)(iVar19 + 0x28)" identifier = (pointer_expression "*(int *)(iVar19 + 0x28)" * (cast_expression "(int *)(iVar19 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x28)" ( (binary_expression "iVar19 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);" (assignment_expression "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28)" (pointer_expression "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4)" * (cast_expression "(float *)(iVar18 + *(int *)(iVar19 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + *(int *)(iVar19 + 8) * 4)" ( (binary_expression "iVar18 + *(int *)(iVar19 + 8) * 4" identifier + (binary_expression "*(int *)(iVar19 + 8) * 4" (pointer_expression "*(int *)(iVar19 + 8)" * (cast_expression "(int *)(iVar19 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(iVar41 + 0x28)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar41 + 0x28)" * (cast_expression "(double *)(iVar41 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + 0x28)" ( (binary_expression "iVar41 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "*(float *)(iVar18 + iVar30 * 4) = (float)dVar59;" (assignment_expression "*(float *)(iVar18 + iVar30 * 4) = (float)dVar59" (pointer_expression "*(float *)(iVar18 + iVar30 * 4)" * (cast_expression "(float *)(iVar18 + iVar30 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + iVar30 * 4)" ( (binary_expression "iVar18 + iVar30 * 4" identifier + (binary_expression "iVar30 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dVar59" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*(float *)(iVar18 + iVar22 * 4) = (float)dVar58;" (assignment_expression "*(float *)(iVar18 + iVar22 * 4) = (float)dVar58" (pointer_expression "*(float *)(iVar18 + iVar22 * 4)" * (cast_expression "(float *)(iVar18 + iVar22 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + iVar22 * 4)" ( (binary_expression "iVar18 + iVar22 * 4" identifier + (binary_expression "iVar22 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dVar58" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (if_statement "if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }" if (parenthesized_expression "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) )) (compound_statement "{\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }" { (expression_statement "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;" (assignment_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)" (pointer_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" * (cast_expression "(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" ( (binary_expression "iVar18 + *(int *)(iVar19 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x2c) * 4" (pointer_expression "*(int *)(iVar19 + 0x2c)" * (cast_expression "(int *)(iVar19 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x2c)" ( (binary_expression "iVar19 + 0x2c" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(iVar41 + 0x40)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar41 + 0x40)" * (cast_expression "(double *)(iVar41 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + 0x40)" ( (binary_expression "iVar41 + 0x40" identifier + number_literal) )))))) ;) })) (if_statement "if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }" if (parenthesized_expression "(*(int *)(iVar19 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x34) != 0" (pointer_expression "*(int *)(iVar19 + 0x34)" * (cast_expression "(int *)(iVar19 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x34)" ( (binary_expression "iVar19 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }" { (if_statement "if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }" if (parenthesized_expression "(*(int *)(iVar41 + 8) == 0)" ( (binary_expression "*(int *)(iVar41 + 8) == 0" (pointer_expression "*(int *)(iVar41 + 8)" * (cast_expression "(int *)(iVar41 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + 8)" ( (binary_expression "iVar41 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                  fVar38 = (float)uVar61;\n                }" { (expression_statement "fVar38 = (float)uVar61;" (assignment_expression "fVar38 = (float)uVar61" identifier = (cast_expression "(float)uVar61" ( (type_descriptor "float" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }" else (compound_statement "{\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }" { (expression_statement "fVar38 = (float)*(double *)(iVar41 + 0x48);" (assignment_expression "fVar38 = (float)*(double *)(iVar41 + 0x48)" identifier = (cast_expression "(float)*(double *)(iVar41 + 0x48)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar41 + 0x48)" * (cast_expression "(double *)(iVar41 + 0x48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + 0x48)" ( (binary_expression "iVar41 + 0x48" identifier + number_literal) )))))) ;) }))) (labeled_statement "LAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;" statement_identifier : (expression_statement "*(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;" (assignment_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38" (pointer_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4)" * (cast_expression "(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + *(int *)(iVar19 + 0x38) * 4)" ( (binary_expression "iVar18 + *(int *)(iVar19 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x38) * 4" (pointer_expression "*(int *)(iVar19 + 0x38)" * (cast_expression "(int *)(iVar19 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x38)" ( (binary_expression "iVar19 + 0x38" identifier + number_literal) )))) * number_literal)) )))) = identifier) ;)) })) (labeled_statement "LAB_00073d38:\n              iVar37 = iVar37 + 1;" statement_identifier : (expression_statement "iVar37 = iVar37 + 1;" (assignment_expression "iVar37 = iVar37 + 1" identifier = (binary_expression "iVar37 + 1" identifier + number_literal)) ;)) (expression_statement "iVar23 = iVar23 + iVar24 * 4;" (assignment_expression "iVar23 = iVar23 + iVar24 * 4" identifier = (binary_expression "iVar23 + iVar24 * 4" identifier + (binary_expression "iVar24 * 4" identifier * number_literal))) ;) (expression_statement "iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;" (assignment_expression "iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4" identifier = (binary_expression "iVar17 + *(int *)(iVar42 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar42 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar42 + 0x2c0)" * (cast_expression "(int *)(iVar42 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar42 + 0x2c0)" ( (binary_expression "iVar42 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;" (assignment_expression "iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4" identifier = (binary_expression "iVar18 + *(int *)(iVar40 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar40 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar40 + 0x2c0)" * (cast_expression "(int *)(iVar40 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 0x2c0)" ( (binary_expression "iVar40 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) }) while (parenthesized_expression "(iVar37 != iVar13)" ( (binary_expression "iVar37 != iVar13" identifier != identifier) )) ;) })) (labeled_statement "LAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);" statement_identifier : (expression_statement "iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);" (assignment_expression "iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48)" identifier = (call_expression "(**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48)" (parenthesized_expression "(**(code **)(pcVar49 + 0x335c50))" ( (pointer_expression "**(code **)(pcVar49 + 0x335c50)" * (pointer_expression "*(code **)(pcVar49 + 0x335c50)" * (cast_expression "(code **)(pcVar49 + 0x335c50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar49 + 0x335c50)" ( (binary_expression "pcVar49 + 0x335c50" identifier + number_literal) ))))) )) (argument_list "(uVar16,uVar48)" ( identifier , identifier )))) ;)) (if_statement "if (iVar23 != 0) goto LAB_00073d80;" if (parenthesized_expression "(iVar23 != 0)" ( (binary_expression "iVar23 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00073d80;" goto statement_identifier ;)) })) (expression_statement "*(undefined4 *)(pdVar8 + 7) = 0;" (assignment_expression "*(undefined4 *)(pdVar8 + 7) = 0" (pointer_expression "*(undefined4 *)(pdVar8 + 7)" * (cast_expression "(undefined4 *)(pdVar8 + 7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar8 + 7)" ( (binary_expression "pdVar8 + 7" identifier + number_literal) )))) = number_literal) ;) })) (labeled_statement "LAB_00073d80:\n      iVar3 = iVar3 + 1;" statement_identifier : (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(iVar62 != iVar3)" ( (binary_expression "iVar62 != iVar3" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* DWARF original prototype: void GetPeakAbsoluteDistortion._omp_fn.5(anon_struct_36_9_8e29d406 *\n   param_0) */\n\nvoid __thiscall GetPeakAbsoluteDistortion__omp_fn_5(void *this)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  double *pdVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  double *pdVar7;\n  float *pfVar8;\n  int *piVar9;\n  double *pdVar10;\n  double *pdVar11;\n  double *pdVar12;\n  int iVar13;\n  undefined4 uVar14;\n  int iVar15;\n  int iVar16;\n  float *pfVar17;\n  double *pdVar18;\n  float *pfVar19;\n  int iVar20;\n  int iVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  int *piVar25;\n  uint uVar26;\n  double *pdVar27;\n  int iVar28;\n  double *pdVar29;\n  double *pdVar30;\n  double *pdVar31;\n  int *piVar32;\n  double *pdVar33;\n  int iVar34;\n  int iVar35;\n  int iVar36;\n  int iVar37;\n  int iVar38;\n  int iVar39;\n  double *unaff_s0;\n  int unaff_s1;\n  void *unaff_s2;\n  int unaff_s5;\n  int unaff_s6;\n  int unaff_s7;\n  int iVar40;\n  int iVar41;\n  undefined *puVar42;\n  int iVar43;\n  int iVar44;\n  undefined4 uVar45;\n  code *pcVar46;\n  float fVar48;\n  double dVar47;\n  double dVar49;\n  double dVar50;\n  float fVar51;\n  double dVar52;\n  float fVar53;\n  double dVar54;\n  double dVar55;\n  double dVar56;\n  double dVar57;\n  double in_f20_21;\n  double in_f22_23;\n  double in_f24_25;\n  double dVar58;\n  ulonglong uVar59;\n  int iVar60;\n  int iStack_f80;\n  double *pdStack_f7c;\n  int iStack_f78;\n  int iStack_f54;\n  float *pfStack_f50;\n  double *pdStack_f4c;\n  double *pdStack_f48;\n  double adStack_f18 [64];\n  double dStack_d18;\n  double adStack_d10 [65];\n  double adStack_b08 [65];\n  double adStack_900 [65];\n  double adStack_6f8 [65];\n  double adStack_4f0 [65];\n  int iStack_2e4;\n  double *pdStack_2e0;\n  int iStack_2dc;\n  void *pvStack_2d8;\n  int iStack_2d4;\n  float *pfStack_2d0;\n  int iStack_2cc;\n  int iStack_2c8;\n  int iStack_2c4;\n  int iStack_2c0;\n  code *pcStack_2bc;\n  double dStack_2b8;\n  double dStack_2b0;\n  double dStack_2a8;\n  undefined4 local_290;\n  undefined4 local_28c;\n  double local_250 [65];\n  undefined8 uStack_48;\n  \n  puVar1 = PTR___stack_chk_guard_003a9230;\n  uStack_48._4_4_ = *(int *)PTR___stack_chk_guard_003a9230;\n  pdVar10 = (double *)this;\n  iVar2 = (*(code *)PTR_omp_get_num_threads_003a990c)();\n  iVar3 = (*(code *)PTR_omp_get_thread_num_003a9508)();\n  puVar42 = PTR_LAB_003a88e0;\n  if (iVar2 == 0) {\n    trap(7);\n  }\n  iVar60 = *(int *)((int)this + 0x1c) / iVar2;\n  iVar2 = *(int *)((int)this + 0x1c) % iVar2;\n  if (iVar3 < iVar2) {\n    iVar60 = iVar60 + 1;\n    iVar2 = 0;\n  }\n  iVar2 = iVar60 * iVar3 + iVar2;\n  iVar60 = iVar60 + iVar2;\n  pfVar8 = (float *)this;\n  if (iVar2 < iVar60) {\n    unaff_s7 = *(int *)((int)this + 4);\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n    pdVar4 = *(double **)((int)this + 0x14);\n    in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n                    /* WARNING: Load size is inaccurate */\n    unaff_s1 = *this;\n    uVar5 = *(undefined4 *)((int)this + 0x10);\n    unaff_s6 = *(int *)((int)this + 0x18);\n    uVar6 = *(undefined4 *)((int)this + 0xc);\n    pdVar7 = *(double **)((int)this + 8);\n    unaff_s5 = iVar2;\n    in_f22_23 = in_f20_21;\n    do {\n      while (unaff_s2 = this, *(int *)((int)this + 0x20) == 0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar60 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = uVar6;\n      pfVar8 = (float *)(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(uVar5,0,unaff_s5,unaff_s6)\n      ;\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = uVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pfVar8 != (float *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < unaff_s6) {\n          iVar3 = 0;\n          piVar32 = *(int **)(unaff_s1 + 0x2d0);\n          dVar54 = *(double *)(puVar42 + 0x1440);\n          iVar38 = piVar32[0x13];\n          fVar51 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar55 = *(double *)(puVar42 + 0x1438);\n          do {\n            while (((iVar38 != 0 && (pfVar8[piVar32[0x14]] <= fVar51)) ||\n                   ((iVar24 = *(int *)(unaff_s7 + 0x2d0), *(int *)(iVar24 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4) <= fVar51))))) {\n              iVar3 = iVar3 + 1;\n              pfVar8 = pfVar8 + *(int *)(unaff_s1 + 0x2c0);\n              iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n              if (iVar3 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar32[0xd] == 0) {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = dVar55;\n            }\n            else {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = (double)pfVar8[piVar32[0xe]] * dVar54;\n            }\n            dVar50 = in_f24_25;\n            if (iVar40 != 0) {\n              dVar50 = (double)*(float *)(iVar2 + *(int *)(iVar24 + 0x38) * 4) * dVar54;\n            }\n            iVar40 = *(int *)(unaff_s1 + 0x2c0);\n            if (0 < iVar40) {\n              piVar9 = piVar32;\n              pdVar10 = unaff_s0;\n              pfVar17 = pfVar8;\n              do {\n                iVar43 = *piVar9;\n                iVar15 = iVar24 + iVar43 * 0xc;\n                if (((piVar32[iVar43 * 3 + 1] != 0) && (uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0)\n                    ) && ((uVar26 & 2) != 0)) {\n                  dVar52 = (double)*(float *)(iVar2 + *(int *)(iVar15 + 8) * 4);\n                  if (iVar43 == 4) {\n                    dVar52 = ABS((double)*pfVar17 - dVar52) * in_f22_23;\n                  }\n                  else {\n                    dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar52) {\n                    *pdVar10 = dVar52;\n                  }\n                  if (local_250[0x40] < dVar52) {\n                    local_250[0x40] = dVar52;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pfVar17 = pfVar17 + 1;\n              } while (piVar9 != piVar32 + iVar40 * 3);\n            }\n            iVar3 = iVar3 + 1;\n            pfVar8 = pfVar8 + iVar40;\n            iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n          } while (iVar3 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(undefined4 *)((int)this + 0x20) = 0;\n    } while (iVar60 != unaff_s5);\n  }\nLAB_000731a4:\n  if (uStack_48._4_4_ == *(int *)puVar1) {\n    return;\n  }\n  pcVar46 = GetStructuralSimilarityDistortion__omp_fn_7;\n  puVar42 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  piVar32 = *(int **)(puVar42 + 0x335fec);\n  iStack_2e4 = *piVar32;\n  pdStack_2e0 = unaff_s0;\n  iStack_2dc = unaff_s1;\n  pvStack_2d8 = unaff_s2;\n  iStack_2d4 = iVar2;\n  pfStack_2d0 = pfVar8;\n  iStack_2cc = unaff_s5;\n  iStack_2c8 = unaff_s6;\n  iStack_2c4 = unaff_s7;\n  iStack_2c0 = iVar60;\n  pcStack_2bc = pcVar46;\n  dStack_2b8 = in_f20_21;\n  dStack_2b0 = in_f22_23;\n  dStack_2a8 = in_f24_25;\n  iVar3 = (**(code **)(puVar42 + 0x3366c8))();\n  iVar2 = (**(code **)(puVar42 + 0x3362c4))();\n  if (iVar3 == 0) {\n    trap(7);\n  }\n  iVar60 = *(int *)(pdVar10 + 6) / iVar3;\n  pdVar4 = (double *)(*(int *)(pdVar10 + 6) % iVar3);\n  if (iVar2 < (int)pdVar4) {\n    iVar60 = iVar60 + 1;\n    pdVar4 = (double *)0x0;\n  }\n  pdStack_f48 = (double *)(iVar60 * iVar2 + (int)pdVar4);\n  pdVar7 = (double *)(iVar60 + (int)pdStack_f48);\n  if ((int)pdStack_f48 < (int)pdVar7) {\n    dVar55 = pdVar10[1];\n    iVar3 = *(int *)(pdVar10 + 5);\n    pdVar18 = *(double **)((int)pdVar10 + 0x2c);\n    dVar54 = *pdVar10;\n    dVar58 = *(double *)(*(int *)(puVar42 + 0x33569c) + 0x1440);\n    pdVar11 = *(double **)((int)pdVar10 + 0x24);\n    uVar5 = *(undefined4 *)(pdVar10 + 4);\n    uVar6 = *(undefined4 *)((int)pdVar10 + 0x1c);\n    pdVar12 = *(double **)(pdVar10 + 3);\n    iVar2 = *(int *)((int)pdVar10 + 0x14);\n    iVar60 = *(int *)(pdVar10 + 2);\n    pdVar4 = pdVar18;\n    do {\n      if (*(int *)((int)pdVar10 + 0x34) != 0) {\n        pfStack_f50 = (float *)(**(code **)(puVar42 + 0x336418))\n                                         (uVar5,-(*(int *)(iVar3 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                          (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),\n                                          uVar6);\n        pdVar4 = pdVar11;\n        iStack_f54 = (**(code **)(puVar42 + 0x336418))\n                               (pdVar11,-(*(int *)(iVar3 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),uVar6);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(undefined4 *)((int)pdVar10 + 0x34) = 0;\n        }\n        else {\n          (**(code **)(puVar42 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar18) {\n            pdStack_f4c = (double *)0x0;\n            iVar24 = *(int *)(iVar60 + 0x2c0);\n            iVar38 = *(int *)(iVar2 + 0x2c0);\n            iVar40 = iVar38 * 4;\n            pcVar46 = *(code **)(puVar42 + 0x336490);\n            do {\n              (*pcVar46)(adStack_d10,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_4f0,0,0x208);\n              iVar15 = *(int *)(iVar3 + 8);\n              pdStack_f7c = *(double **)(iVar3 + 0x14);\n              if (0 < iVar15) {\n                iVar43 = *(int *)(iVar3 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar8 = pfStack_f50;\n                do {\n                  if (0 < iVar43) {\n                    iVar39 = 0;\n                    pdVar4 = pdStack_f7c;\n                    iVar36 = iStack_f80;\n                    pfVar17 = pfVar8;\n                    do {\n                      if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }\n                      iVar39 = iVar39 + 1;\n                      pdVar4 = pdVar4 + 1;\n                      pfVar17 = pfVar17 + iVar24;\n                      iVar36 = iVar36 + iVar40;\n                    } while (iVar39 != iVar43);\n                    pdStack_f7c = pdStack_f7c + iVar43;\n                    pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4);\n                    iStack_f80 = iStack_f80 + iVar43 * iVar40;\n                  }\n                  pfVar8 = (float *)((int)pfVar8 + iVar24 * (int)pdVar18 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar18 * 4 * iVar38;\n                } while (iStack_f78 != iVar15);\n              }\n              if (0 < iVar24) {\n                piVar25 = *(int **)(iVar60 + 0x2d0);\n                iVar15 = 0;\n                iVar43 = *(int *)(iVar2 + 0x2d0);\n                piVar9 = piVar25;\n                do {\n                  if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)) &&\n                     ((uVar26 & 2) != 0)) {\n                    dVar57 = *(double *)((int)adStack_d10 + iVar15);\n                    dVar50 = *(double *)((int)adStack_6f8 + iVar15);\n                    pdVar4 = (double *)((int)adStack_f18 + iVar15);\n                    dVar52 = dVar57 * dVar50;\n                    dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52;\n                    dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54));\n                    *pdVar4 = *pdVar4 + dVar50;\n                    dStack_d18 = dStack_d18 + dVar50;\n                  }\n                  iVar15 = iVar15 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar15 != iVar24 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar24;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar40;\n              pcVar46 = *(code **)(puVar42 + 0x336490);\n            } while (pdVar18 != pdStack_f4c);\n          }\n          (**(code **)(puVar42 + 0x3364f0))(*(undefined4 *)(puVar42 + 0x3360c4));\n          pdVar4 = adStack_f18;\n          pdVar30 = pdVar12;\n          do {\n            pdVar27 = pdVar4 + 1;\n            *pdVar30 = *pdVar30 + *pdVar4;\n            pdVar4 = pdVar27;\n            pdVar30 = pdVar30 + 1;\n          } while (adStack_d10 != pdVar27);\n          pdVar4 = *(double **)(puVar42 + 0x3360c4);\n          (**(code **)(puVar42 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    } while (pdVar7 != pdStack_f48);\n  }\n  if (iStack_2e4 == *piVar32) {\n    return;\n  }\n  pcVar46 = *(code **)(puVar42 + 0x335e20);\n  (*pcVar46)();\n  iVar3 = (**(code **)(pcVar46 + 0x336064))();\n  iVar2 = (**(code **)(pcVar46 + 0x335c60))();\n  if (iVar3 == 0) {\n    trap(7);\n  }\n  iVar60 = *(int *)((int)pdVar4 + 0x34) / iVar3;\n  iVar3 = *(int *)((int)pdVar4 + 0x34) % iVar3;\n  if (iVar2 < iVar3) {\n    iVar60 = iVar60 + 1;\n    iVar3 = 0;\n  }\n  iVar3 = iVar60 * iVar2 + iVar3;\n  iVar60 = iVar60 + iVar3;\n  iVar2 = *(int *)(pcVar46 + 0x335038);\n  if (iVar3 < iVar60) {\n    iVar38 = *(int *)(pcVar46 + 0x335038);\n    iVar24 = *(int *)(pcVar46 + 0x335038);\n    uVar59 = (ulonglong)*(uint *)(iVar2 + 0x1a50);\n    uVar5 = *(undefined4 *)((int)pdVar4 + 0x1c);\n    dVar54 = *pdVar4;\n    iVar40 = *(int *)(pdVar4 + 4);\n    dVar55 = *(double *)(iVar38 + 0x1438);\n    iVar15 = *(int *)((int)pdVar4 + 0xc);\n    dVar58 = *(double *)(iVar24 + 0x1440);\n    iVar36 = *(int *)(pdVar4 + 1);\n    iVar43 = *(int *)(pdVar4 + 6);\n    uVar45 = *(undefined4 *)(pdVar4 + 2);\n    uVar6 = *(undefined4 *)(pdVar4 + 3);\n    uVar14 = *(undefined4 *)((int)pdVar4 + 0x14);\n    do {\n      if (*(int *)(pdVar4 + 7) != 0) {\n        iVar39 = (**(code **)(pcVar46 + 0x335db4))(uVar6,0,iVar3,iVar43,1,uVar45);\n        iVar13 = (**(code **)(pcVar46 + 0x335db4))(uVar5,0,iVar3,iVar43,1,uVar45);\n        iVar34 = (**(code **)(pcVar46 + 0x3353a8))(uVar14,0,iVar3,iVar43,1,uVar45);\n        if (((iVar39 != 0) && (iVar13 != 0)) && (iVar34 != 0)) {\n          if (0 < iVar43) {\n            iVar21 = 0;\n            piVar32 = *(int **)(iVar36 + 0x2d0);\n            iVar35 = *(int *)((int)pdVar4 + 0x2c);\n            fVar53 = *(float *)(iVar2 + 0x1a50);\n            iVar41 = piVar32[0x13];\n            iVar44 = *(int *)((int)pdVar4 + 0x24);\n            fVar51 = *(float *)(*(int *)(pcVar46 + 0x335038) + 0x3708);\n            iVar37 = *(int *)(pdVar4 + 5);\n            dVar50 = *(double *)(iVar38 + 0x1438);\n            dVar52 = *(double *)(iVar24 + 0x1440);\n            do {\n              while (((iVar41 != 0 && (*(float *)(iVar39 + piVar32[0x14] * 4) <= fVar51)) ||\n                     ((iVar16 = *(int *)(iVar15 + 0x2d0), *(int *)(iVar16 + 0x4c) != 0 &&\n                      (*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51))))) {\n                iVar16 = *(int *)(iVar40 + 0x2d0);\n                dVar57 = *(double *)(iVar35 + 0x30);\n                dVar56 = *(double *)(iVar35 + 0x38);\n                iVar22 = *(int *)(iVar16 + 0x14);\n                iVar20 = *(int *)(iVar16 + 0x20);\n                iVar28 = *(int *)(iVar16 + 0x28);\n                *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar35 + 0x28);\n                *(float *)(iVar34 + iVar22 * 4) = (float)dVar57;\n                *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                if (iVar28 != 0) {\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                       (float)*(double *)(iVar35 + 0x40);\n                }\n                if (*(int *)(iVar16 + 0x34) != 0) {\n                  fVar48 = fVar53;\n                  if (*(int *)(iVar35 + 8) != 0) {\n                    fVar48 = (float)*(double *)(iVar35 + 0x48);\n                  }\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n                }\n                iVar21 = iVar21 + 1;\n                iVar39 = iVar39 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n                iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar21 == iVar43) goto LAB_00073d60;\n              }\n              dVar56 = dVar50;\n              if (piVar32[0xd] != 0) {\n                dVar56 = (double)*(float *)(iVar39 + piVar32[0xe] * 4) * dVar52;\n              }\n              dVar57 = dVar55;\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                dVar57 = (double)*(float *)(iVar13 + *(int *)(iVar16 + 0x38) * 4) * dVar58;\n              }\n              iVar22 = *(int *)(iVar36 + 0x2c0);\n              iVar20 = 0;\n              piVar9 = piVar32;\n              if (0 < iVar22) {\n                do {\n                  iVar23 = *piVar9;\n                  iVar28 = iVar16 + iVar23 * 0xc;\n                  if (((piVar32[iVar23 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)) && ((uVar26 & 2) != 0)) {\n                    dVar49 = (double)*(float *)(iVar39 + iVar20 * 4);\n                    dVar47 = (double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4);\n                    if (iVar23 == 4) {\n                      dVar49 = dVar49 - dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    else {\n                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    if (dVar54 <= dVar49) {\n                      iVar16 = *(int *)(iVar40 + 0x2d0);\n                      dVar57 = *(double *)(iVar44 + 0x30);\n                      dVar56 = *(double *)(iVar44 + 0x38);\n                      iVar28 = *(int *)(iVar16 + 0x14);\n                      iVar20 = *(int *)(iVar16 + 0x20);\n                      iVar23 = *(int *)(iVar16 + 0x28);\n                      *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28);\n                      *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n                      *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                      if (iVar23 != 0) {\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }\n                      if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;\n                      fVar48 = fVar53;\n                      if (*(int *)(iVar44 + 8) != 0) {\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar20 = iVar20 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar22 != iVar20);\n              }\n              iVar16 = *(int *)(iVar40 + 0x2d0);\n              dVar57 = *(double *)(iVar37 + 0x30);\n              dVar56 = *(double *)(iVar37 + 0x38);\n              iVar28 = *(int *)(iVar16 + 0x14);\n              iVar20 = *(int *)(iVar16 + 0x20);\n              iVar23 = *(int *)(iVar16 + 0x28);\n              *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar37 + 0x28);\n              *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n              *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n              if (iVar23 != 0) {\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) = (float)*(double *)(iVar37 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                if (*(int *)(iVar37 + 8) == 0) {\n                  fVar48 = (float)uVar59;\n                }\n                else {\n                  fVar48 = (float)*(double *)(iVar37 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n              }\nLAB_00073d38:\n              iVar21 = iVar21 + 1;\n              iVar39 = iVar39 + iVar22 * 4;\n              iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n              iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar21 != iVar43);\n          }\nLAB_00073d60:\n          iVar39 = (**(code **)(pcVar46 + 0x335c50))(uVar14,uVar45);\n          if (iVar39 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar4 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    } while (iVar60 != iVar3);\n  }\n  return;\n}\n\n" comment (function_definition "void __thiscall GetPeakAbsoluteDistortion__omp_fn_5(void *this)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  double *pdVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  double *pdVar7;\n  float *pfVar8;\n  int *piVar9;\n  double *pdVar10;\n  double *pdVar11;\n  double *pdVar12;\n  int iVar13;\n  undefined4 uVar14;\n  int iVar15;\n  int iVar16;\n  float *pfVar17;\n  double *pdVar18;\n  float *pfVar19;\n  int iVar20;\n  int iVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  int *piVar25;\n  uint uVar26;\n  double *pdVar27;\n  int iVar28;\n  double *pdVar29;\n  double *pdVar30;\n  double *pdVar31;\n  int *piVar32;\n  double *pdVar33;\n  int iVar34;\n  int iVar35;\n  int iVar36;\n  int iVar37;\n  int iVar38;\n  int iVar39;\n  double *unaff_s0;\n  int unaff_s1;\n  void *unaff_s2;\n  int unaff_s5;\n  int unaff_s6;\n  int unaff_s7;\n  int iVar40;\n  int iVar41;\n  undefined *puVar42;\n  int iVar43;\n  int iVar44;\n  undefined4 uVar45;\n  code *pcVar46;\n  float fVar48;\n  double dVar47;\n  double dVar49;\n  double dVar50;\n  float fVar51;\n  double dVar52;\n  float fVar53;\n  double dVar54;\n  double dVar55;\n  double dVar56;\n  double dVar57;\n  double in_f20_21;\n  double in_f22_23;\n  double in_f24_25;\n  double dVar58;\n  ulonglong uVar59;\n  int iVar60;\n  int iStack_f80;\n  double *pdStack_f7c;\n  int iStack_f78;\n  int iStack_f54;\n  float *pfStack_f50;\n  double *pdStack_f4c;\n  double *pdStack_f48;\n  double adStack_f18 [64];\n  double dStack_d18;\n  double adStack_d10 [65];\n  double adStack_b08 [65];\n  double adStack_900 [65];\n  double adStack_6f8 [65];\n  double adStack_4f0 [65];\n  int iStack_2e4;\n  double *pdStack_2e0;\n  int iStack_2dc;\n  void *pvStack_2d8;\n  int iStack_2d4;\n  float *pfStack_2d0;\n  int iStack_2cc;\n  int iStack_2c8;\n  int iStack_2c4;\n  int iStack_2c0;\n  code *pcStack_2bc;\n  double dStack_2b8;\n  double dStack_2b0;\n  double dStack_2a8;\n  undefined4 local_290;\n  undefined4 local_28c;\n  double local_250 [65];\n  undefined8 uStack_48;\n  \n  puVar1 = PTR___stack_chk_guard_003a9230;\n  uStack_48._4_4_ = *(int *)PTR___stack_chk_guard_003a9230;\n  pdVar10 = (double *)this;\n  iVar2 = (*(code *)PTR_omp_get_num_threads_003a990c)();\n  iVar3 = (*(code *)PTR_omp_get_thread_num_003a9508)();\n  puVar42 = PTR_LAB_003a88e0;\n  if (iVar2 == 0) {\n    trap(7);\n  }\n  iVar60 = *(int *)((int)this + 0x1c) / iVar2;\n  iVar2 = *(int *)((int)this + 0x1c) % iVar2;\n  if (iVar3 < iVar2) {\n    iVar60 = iVar60 + 1;\n    iVar2 = 0;\n  }\n  iVar2 = iVar60 * iVar3 + iVar2;\n  iVar60 = iVar60 + iVar2;\n  pfVar8 = (float *)this;\n  if (iVar2 < iVar60) {\n    unaff_s7 = *(int *)((int)this + 4);\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n    pdVar4 = *(double **)((int)this + 0x14);\n    in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n                    /* WARNING: Load size is inaccurate */\n    unaff_s1 = *this;\n    uVar5 = *(undefined4 *)((int)this + 0x10);\n    unaff_s6 = *(int *)((int)this + 0x18);\n    uVar6 = *(undefined4 *)((int)this + 0xc);\n    pdVar7 = *(double **)((int)this + 8);\n    unaff_s5 = iVar2;\n    in_f22_23 = in_f20_21;\n    do {\n      while (unaff_s2 = this, *(int *)((int)this + 0x20) == 0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar60 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = uVar6;\n      pfVar8 = (float *)(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(uVar5,0,unaff_s5,unaff_s6)\n      ;\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = uVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pfVar8 != (float *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < unaff_s6) {\n          iVar3 = 0;\n          piVar32 = *(int **)(unaff_s1 + 0x2d0);\n          dVar54 = *(double *)(puVar42 + 0x1440);\n          iVar38 = piVar32[0x13];\n          fVar51 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar55 = *(double *)(puVar42 + 0x1438);\n          do {\n            while (((iVar38 != 0 && (pfVar8[piVar32[0x14]] <= fVar51)) ||\n                   ((iVar24 = *(int *)(unaff_s7 + 0x2d0), *(int *)(iVar24 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4) <= fVar51))))) {\n              iVar3 = iVar3 + 1;\n              pfVar8 = pfVar8 + *(int *)(unaff_s1 + 0x2c0);\n              iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n              if (iVar3 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar32[0xd] == 0) {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = dVar55;\n            }\n            else {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = (double)pfVar8[piVar32[0xe]] * dVar54;\n            }\n            dVar50 = in_f24_25;\n            if (iVar40 != 0) {\n              dVar50 = (double)*(float *)(iVar2 + *(int *)(iVar24 + 0x38) * 4) * dVar54;\n            }\n            iVar40 = *(int *)(unaff_s1 + 0x2c0);\n            if (0 < iVar40) {\n              piVar9 = piVar32;\n              pdVar10 = unaff_s0;\n              pfVar17 = pfVar8;\n              do {\n                iVar43 = *piVar9;\n                iVar15 = iVar24 + iVar43 * 0xc;\n                if (((piVar32[iVar43 * 3 + 1] != 0) && (uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0)\n                    ) && ((uVar26 & 2) != 0)) {\n                  dVar52 = (double)*(float *)(iVar2 + *(int *)(iVar15 + 8) * 4);\n                  if (iVar43 == 4) {\n                    dVar52 = ABS((double)*pfVar17 - dVar52) * in_f22_23;\n                  }\n                  else {\n                    dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar52) {\n                    *pdVar10 = dVar52;\n                  }\n                  if (local_250[0x40] < dVar52) {\n                    local_250[0x40] = dVar52;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pfVar17 = pfVar17 + 1;\n              } while (piVar9 != piVar32 + iVar40 * 3);\n            }\n            iVar3 = iVar3 + 1;\n            pfVar8 = pfVar8 + iVar40;\n            iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n          } while (iVar3 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(undefined4 *)((int)this + 0x20) = 0;\n    } while (iVar60 != unaff_s5);\n  }\nLAB_000731a4:\n  if (uStack_48._4_4_ == *(int *)puVar1) {\n    return;\n  }\n  pcVar46 = GetStructuralSimilarityDistortion__omp_fn_7;\n  puVar42 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  piVar32 = *(int **)(puVar42 + 0x335fec);\n  iStack_2e4 = *piVar32;\n  pdStack_2e0 = unaff_s0;\n  iStack_2dc = unaff_s1;\n  pvStack_2d8 = unaff_s2;\n  iStack_2d4 = iVar2;\n  pfStack_2d0 = pfVar8;\n  iStack_2cc = unaff_s5;\n  iStack_2c8 = unaff_s6;\n  iStack_2c4 = unaff_s7;\n  iStack_2c0 = iVar60;\n  pcStack_2bc = pcVar46;\n  dStack_2b8 = in_f20_21;\n  dStack_2b0 = in_f22_23;\n  dStack_2a8 = in_f24_25;\n  iVar3 = (**(code **)(puVar42 + 0x3366c8))();\n  iVar2 = (**(code **)(puVar42 + 0x3362c4))();\n  if (iVar3 == 0) {\n    trap(7);\n  }\n  iVar60 = *(int *)(pdVar10 + 6) / iVar3;\n  pdVar4 = (double *)(*(int *)(pdVar10 + 6) % iVar3);\n  if (iVar2 < (int)pdVar4) {\n    iVar60 = iVar60 + 1;\n    pdVar4 = (double *)0x0;\n  }\n  pdStack_f48 = (double *)(iVar60 * iVar2 + (int)pdVar4);\n  pdVar7 = (double *)(iVar60 + (int)pdStack_f48);\n  if ((int)pdStack_f48 < (int)pdVar7) {\n    dVar55 = pdVar10[1];\n    iVar3 = *(int *)(pdVar10 + 5);\n    pdVar18 = *(double **)((int)pdVar10 + 0x2c);\n    dVar54 = *pdVar10;\n    dVar58 = *(double *)(*(int *)(puVar42 + 0x33569c) + 0x1440);\n    pdVar11 = *(double **)((int)pdVar10 + 0x24);\n    uVar5 = *(undefined4 *)(pdVar10 + 4);\n    uVar6 = *(undefined4 *)((int)pdVar10 + 0x1c);\n    pdVar12 = *(double **)(pdVar10 + 3);\n    iVar2 = *(int *)((int)pdVar10 + 0x14);\n    iVar60 = *(int *)(pdVar10 + 2);\n    pdVar4 = pdVar18;\n    do {\n      if (*(int *)((int)pdVar10 + 0x34) != 0) {\n        pfStack_f50 = (float *)(**(code **)(puVar42 + 0x336418))\n                                         (uVar5,-(*(int *)(iVar3 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                          (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),\n                                          uVar6);\n        pdVar4 = pdVar11;\n        iStack_f54 = (**(code **)(puVar42 + 0x336418))\n                               (pdVar11,-(*(int *)(iVar3 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),uVar6);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(undefined4 *)((int)pdVar10 + 0x34) = 0;\n        }\n        else {\n          (**(code **)(puVar42 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar18) {\n            pdStack_f4c = (double *)0x0;\n            iVar24 = *(int *)(iVar60 + 0x2c0);\n            iVar38 = *(int *)(iVar2 + 0x2c0);\n            iVar40 = iVar38 * 4;\n            pcVar46 = *(code **)(puVar42 + 0x336490);\n            do {\n              (*pcVar46)(adStack_d10,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_4f0,0,0x208);\n              iVar15 = *(int *)(iVar3 + 8);\n              pdStack_f7c = *(double **)(iVar3 + 0x14);\n              if (0 < iVar15) {\n                iVar43 = *(int *)(iVar3 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar8 = pfStack_f50;\n                do {\n                  if (0 < iVar43) {\n                    iVar39 = 0;\n                    pdVar4 = pdStack_f7c;\n                    iVar36 = iStack_f80;\n                    pfVar17 = pfVar8;\n                    do {\n                      if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }\n                      iVar39 = iVar39 + 1;\n                      pdVar4 = pdVar4 + 1;\n                      pfVar17 = pfVar17 + iVar24;\n                      iVar36 = iVar36 + iVar40;\n                    } while (iVar39 != iVar43);\n                    pdStack_f7c = pdStack_f7c + iVar43;\n                    pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4);\n                    iStack_f80 = iStack_f80 + iVar43 * iVar40;\n                  }\n                  pfVar8 = (float *)((int)pfVar8 + iVar24 * (int)pdVar18 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar18 * 4 * iVar38;\n                } while (iStack_f78 != iVar15);\n              }\n              if (0 < iVar24) {\n                piVar25 = *(int **)(iVar60 + 0x2d0);\n                iVar15 = 0;\n                iVar43 = *(int *)(iVar2 + 0x2d0);\n                piVar9 = piVar25;\n                do {\n                  if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)) &&\n                     ((uVar26 & 2) != 0)) {\n                    dVar57 = *(double *)((int)adStack_d10 + iVar15);\n                    dVar50 = *(double *)((int)adStack_6f8 + iVar15);\n                    pdVar4 = (double *)((int)adStack_f18 + iVar15);\n                    dVar52 = dVar57 * dVar50;\n                    dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52;\n                    dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54));\n                    *pdVar4 = *pdVar4 + dVar50;\n                    dStack_d18 = dStack_d18 + dVar50;\n                  }\n                  iVar15 = iVar15 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar15 != iVar24 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar24;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar40;\n              pcVar46 = *(code **)(puVar42 + 0x336490);\n            } while (pdVar18 != pdStack_f4c);\n          }\n          (**(code **)(puVar42 + 0x3364f0))(*(undefined4 *)(puVar42 + 0x3360c4));\n          pdVar4 = adStack_f18;\n          pdVar30 = pdVar12;\n          do {\n            pdVar27 = pdVar4 + 1;\n            *pdVar30 = *pdVar30 + *pdVar4;\n            pdVar4 = pdVar27;\n            pdVar30 = pdVar30 + 1;\n          } while (adStack_d10 != pdVar27);\n          pdVar4 = *(double **)(puVar42 + 0x3360c4);\n          (**(code **)(puVar42 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    } while (pdVar7 != pdStack_f48);\n  }\n  if (iStack_2e4 == *piVar32) {\n    return;\n  }\n  pcVar46 = *(code **)(puVar42 + 0x335e20);\n  (*pcVar46)();\n  iVar3 = (**(code **)(pcVar46 + 0x336064))();\n  iVar2 = (**(code **)(pcVar46 + 0x335c60))();\n  if (iVar3 == 0) {\n    trap(7);\n  }\n  iVar60 = *(int *)((int)pdVar4 + 0x34) / iVar3;\n  iVar3 = *(int *)((int)pdVar4 + 0x34) % iVar3;\n  if (iVar2 < iVar3) {\n    iVar60 = iVar60 + 1;\n    iVar3 = 0;\n  }\n  iVar3 = iVar60 * iVar2 + iVar3;\n  iVar60 = iVar60 + iVar3;\n  iVar2 = *(int *)(pcVar46 + 0x335038);\n  if (iVar3 < iVar60) {\n    iVar38 = *(int *)(pcVar46 + 0x335038);\n    iVar24 = *(int *)(pcVar46 + 0x335038);\n    uVar59 = (ulonglong)*(uint *)(iVar2 + 0x1a50);\n    uVar5 = *(undefined4 *)((int)pdVar4 + 0x1c);\n    dVar54 = *pdVar4;\n    iVar40 = *(int *)(pdVar4 + 4);\n    dVar55 = *(double *)(iVar38 + 0x1438);\n    iVar15 = *(int *)((int)pdVar4 + 0xc);\n    dVar58 = *(double *)(iVar24 + 0x1440);\n    iVar36 = *(int *)(pdVar4 + 1);\n    iVar43 = *(int *)(pdVar4 + 6);\n    uVar45 = *(undefined4 *)(pdVar4 + 2);\n    uVar6 = *(undefined4 *)(pdVar4 + 3);\n    uVar14 = *(undefined4 *)((int)pdVar4 + 0x14);\n    do {\n      if (*(int *)(pdVar4 + 7) != 0) {\n        iVar39 = (**(code **)(pcVar46 + 0x335db4))(uVar6,0,iVar3,iVar43,1,uVar45);\n        iVar13 = (**(code **)(pcVar46 + 0x335db4))(uVar5,0,iVar3,iVar43,1,uVar45);\n        iVar34 = (**(code **)(pcVar46 + 0x3353a8))(uVar14,0,iVar3,iVar43,1,uVar45);\n        if (((iVar39 != 0) && (iVar13 != 0)) && (iVar34 != 0)) {\n          if (0 < iVar43) {\n            iVar21 = 0;\n            piVar32 = *(int **)(iVar36 + 0x2d0);\n            iVar35 = *(int *)((int)pdVar4 + 0x2c);\n            fVar53 = *(float *)(iVar2 + 0x1a50);\n            iVar41 = piVar32[0x13];\n            iVar44 = *(int *)((int)pdVar4 + 0x24);\n            fVar51 = *(float *)(*(int *)(pcVar46 + 0x335038) + 0x3708);\n            iVar37 = *(int *)(pdVar4 + 5);\n            dVar50 = *(double *)(iVar38 + 0x1438);\n            dVar52 = *(double *)(iVar24 + 0x1440);\n            do {\n              while (((iVar41 != 0 && (*(float *)(iVar39 + piVar32[0x14] * 4) <= fVar51)) ||\n                     ((iVar16 = *(int *)(iVar15 + 0x2d0), *(int *)(iVar16 + 0x4c) != 0 &&\n                      (*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51))))) {\n                iVar16 = *(int *)(iVar40 + 0x2d0);\n                dVar57 = *(double *)(iVar35 + 0x30);\n                dVar56 = *(double *)(iVar35 + 0x38);\n                iVar22 = *(int *)(iVar16 + 0x14);\n                iVar20 = *(int *)(iVar16 + 0x20);\n                iVar28 = *(int *)(iVar16 + 0x28);\n                *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar35 + 0x28);\n                *(float *)(iVar34 + iVar22 * 4) = (float)dVar57;\n                *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                if (iVar28 != 0) {\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                       (float)*(double *)(iVar35 + 0x40);\n                }\n                if (*(int *)(iVar16 + 0x34) != 0) {\n                  fVar48 = fVar53;\n                  if (*(int *)(iVar35 + 8) != 0) {\n                    fVar48 = (float)*(double *)(iVar35 + 0x48);\n                  }\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n                }\n                iVar21 = iVar21 + 1;\n                iVar39 = iVar39 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n                iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar21 == iVar43) goto LAB_00073d60;\n              }\n              dVar56 = dVar50;\n              if (piVar32[0xd] != 0) {\n                dVar56 = (double)*(float *)(iVar39 + piVar32[0xe] * 4) * dVar52;\n              }\n              dVar57 = dVar55;\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                dVar57 = (double)*(float *)(iVar13 + *(int *)(iVar16 + 0x38) * 4) * dVar58;\n              }\n              iVar22 = *(int *)(iVar36 + 0x2c0);\n              iVar20 = 0;\n              piVar9 = piVar32;\n              if (0 < iVar22) {\n                do {\n                  iVar23 = *piVar9;\n                  iVar28 = iVar16 + iVar23 * 0xc;\n                  if (((piVar32[iVar23 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)) && ((uVar26 & 2) != 0)) {\n                    dVar49 = (double)*(float *)(iVar39 + iVar20 * 4);\n                    dVar47 = (double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4);\n                    if (iVar23 == 4) {\n                      dVar49 = dVar49 - dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    else {\n                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    if (dVar54 <= dVar49) {\n                      iVar16 = *(int *)(iVar40 + 0x2d0);\n                      dVar57 = *(double *)(iVar44 + 0x30);\n                      dVar56 = *(double *)(iVar44 + 0x38);\n                      iVar28 = *(int *)(iVar16 + 0x14);\n                      iVar20 = *(int *)(iVar16 + 0x20);\n                      iVar23 = *(int *)(iVar16 + 0x28);\n                      *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28);\n                      *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n                      *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                      if (iVar23 != 0) {\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }\n                      if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;\n                      fVar48 = fVar53;\n                      if (*(int *)(iVar44 + 8) != 0) {\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar20 = iVar20 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar22 != iVar20);\n              }\n              iVar16 = *(int *)(iVar40 + 0x2d0);\n              dVar57 = *(double *)(iVar37 + 0x30);\n              dVar56 = *(double *)(iVar37 + 0x38);\n              iVar28 = *(int *)(iVar16 + 0x14);\n              iVar20 = *(int *)(iVar16 + 0x20);\n              iVar23 = *(int *)(iVar16 + 0x28);\n              *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar37 + 0x28);\n              *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n              *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n              if (iVar23 != 0) {\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) = (float)*(double *)(iVar37 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                if (*(int *)(iVar37 + 8) == 0) {\n                  fVar48 = (float)uVar59;\n                }\n                else {\n                  fVar48 = (float)*(double *)(iVar37 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n              }\nLAB_00073d38:\n              iVar21 = iVar21 + 1;\n              iVar39 = iVar39 + iVar22 * 4;\n              iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n              iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar21 != iVar43);\n          }\nLAB_00073d60:\n          iVar39 = (**(code **)(pcVar46 + 0x335c50))(uVar14,uVar45);\n          if (iVar39 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar4 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    } while (iVar60 != iVar3);\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (function_declarator "GetPeakAbsoluteDistortion__omp_fn_5(void *this)" identifier (parameter_list "(void *this)" ( (parameter_declaration "void *this" primitive_type (pointer_declarator "*this" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  double *pdVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  double *pdVar7;\n  float *pfVar8;\n  int *piVar9;\n  double *pdVar10;\n  double *pdVar11;\n  double *pdVar12;\n  int iVar13;\n  undefined4 uVar14;\n  int iVar15;\n  int iVar16;\n  float *pfVar17;\n  double *pdVar18;\n  float *pfVar19;\n  int iVar20;\n  int iVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  int *piVar25;\n  uint uVar26;\n  double *pdVar27;\n  int iVar28;\n  double *pdVar29;\n  double *pdVar30;\n  double *pdVar31;\n  int *piVar32;\n  double *pdVar33;\n  int iVar34;\n  int iVar35;\n  int iVar36;\n  int iVar37;\n  int iVar38;\n  int iVar39;\n  double *unaff_s0;\n  int unaff_s1;\n  void *unaff_s2;\n  int unaff_s5;\n  int unaff_s6;\n  int unaff_s7;\n  int iVar40;\n  int iVar41;\n  undefined *puVar42;\n  int iVar43;\n  int iVar44;\n  undefined4 uVar45;\n  code *pcVar46;\n  float fVar48;\n  double dVar47;\n  double dVar49;\n  double dVar50;\n  float fVar51;\n  double dVar52;\n  float fVar53;\n  double dVar54;\n  double dVar55;\n  double dVar56;\n  double dVar57;\n  double in_f20_21;\n  double in_f22_23;\n  double in_f24_25;\n  double dVar58;\n  ulonglong uVar59;\n  int iVar60;\n  int iStack_f80;\n  double *pdStack_f7c;\n  int iStack_f78;\n  int iStack_f54;\n  float *pfStack_f50;\n  double *pdStack_f4c;\n  double *pdStack_f48;\n  double adStack_f18 [64];\n  double dStack_d18;\n  double adStack_d10 [65];\n  double adStack_b08 [65];\n  double adStack_900 [65];\n  double adStack_6f8 [65];\n  double adStack_4f0 [65];\n  int iStack_2e4;\n  double *pdStack_2e0;\n  int iStack_2dc;\n  void *pvStack_2d8;\n  int iStack_2d4;\n  float *pfStack_2d0;\n  int iStack_2cc;\n  int iStack_2c8;\n  int iStack_2c4;\n  int iStack_2c0;\n  code *pcStack_2bc;\n  double dStack_2b8;\n  double dStack_2b0;\n  double dStack_2a8;\n  undefined4 local_290;\n  undefined4 local_28c;\n  double local_250 [65];\n  undefined8 uStack_48;\n  \n  puVar1 = PTR___stack_chk_guard_003a9230;\n  uStack_48._4_4_ = *(int *)PTR___stack_chk_guard_003a9230;\n  pdVar10 = (double *)this;\n  iVar2 = (*(code *)PTR_omp_get_num_threads_003a990c)();\n  iVar3 = (*(code *)PTR_omp_get_thread_num_003a9508)();\n  puVar42 = PTR_LAB_003a88e0;\n  if (iVar2 == 0) {\n    trap(7);\n  }\n  iVar60 = *(int *)((int)this + 0x1c) / iVar2;\n  iVar2 = *(int *)((int)this + 0x1c) % iVar2;\n  if (iVar3 < iVar2) {\n    iVar60 = iVar60 + 1;\n    iVar2 = 0;\n  }\n  iVar2 = iVar60 * iVar3 + iVar2;\n  iVar60 = iVar60 + iVar2;\n  pfVar8 = (float *)this;\n  if (iVar2 < iVar60) {\n    unaff_s7 = *(int *)((int)this + 4);\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n    pdVar4 = *(double **)((int)this + 0x14);\n    in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n                    /* WARNING: Load size is inaccurate */\n    unaff_s1 = *this;\n    uVar5 = *(undefined4 *)((int)this + 0x10);\n    unaff_s6 = *(int *)((int)this + 0x18);\n    uVar6 = *(undefined4 *)((int)this + 0xc);\n    pdVar7 = *(double **)((int)this + 8);\n    unaff_s5 = iVar2;\n    in_f22_23 = in_f20_21;\n    do {\n      while (unaff_s2 = this, *(int *)((int)this + 0x20) == 0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar60 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = uVar6;\n      pfVar8 = (float *)(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(uVar5,0,unaff_s5,unaff_s6)\n      ;\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = uVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pfVar8 != (float *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < unaff_s6) {\n          iVar3 = 0;\n          piVar32 = *(int **)(unaff_s1 + 0x2d0);\n          dVar54 = *(double *)(puVar42 + 0x1440);\n          iVar38 = piVar32[0x13];\n          fVar51 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar55 = *(double *)(puVar42 + 0x1438);\n          do {\n            while (((iVar38 != 0 && (pfVar8[piVar32[0x14]] <= fVar51)) ||\n                   ((iVar24 = *(int *)(unaff_s7 + 0x2d0), *(int *)(iVar24 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4) <= fVar51))))) {\n              iVar3 = iVar3 + 1;\n              pfVar8 = pfVar8 + *(int *)(unaff_s1 + 0x2c0);\n              iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n              if (iVar3 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar32[0xd] == 0) {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = dVar55;\n            }\n            else {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = (double)pfVar8[piVar32[0xe]] * dVar54;\n            }\n            dVar50 = in_f24_25;\n            if (iVar40 != 0) {\n              dVar50 = (double)*(float *)(iVar2 + *(int *)(iVar24 + 0x38) * 4) * dVar54;\n            }\n            iVar40 = *(int *)(unaff_s1 + 0x2c0);\n            if (0 < iVar40) {\n              piVar9 = piVar32;\n              pdVar10 = unaff_s0;\n              pfVar17 = pfVar8;\n              do {\n                iVar43 = *piVar9;\n                iVar15 = iVar24 + iVar43 * 0xc;\n                if (((piVar32[iVar43 * 3 + 1] != 0) && (uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0)\n                    ) && ((uVar26 & 2) != 0)) {\n                  dVar52 = (double)*(float *)(iVar2 + *(int *)(iVar15 + 8) * 4);\n                  if (iVar43 == 4) {\n                    dVar52 = ABS((double)*pfVar17 - dVar52) * in_f22_23;\n                  }\n                  else {\n                    dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar52) {\n                    *pdVar10 = dVar52;\n                  }\n                  if (local_250[0x40] < dVar52) {\n                    local_250[0x40] = dVar52;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pfVar17 = pfVar17 + 1;\n              } while (piVar9 != piVar32 + iVar40 * 3);\n            }\n            iVar3 = iVar3 + 1;\n            pfVar8 = pfVar8 + iVar40;\n            iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n          } while (iVar3 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(undefined4 *)((int)this + 0x20) = 0;\n    } while (iVar60 != unaff_s5);\n  }\nLAB_000731a4:\n  if (uStack_48._4_4_ == *(int *)puVar1) {\n    return;\n  }\n  pcVar46 = GetStructuralSimilarityDistortion__omp_fn_7;\n  puVar42 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  piVar32 = *(int **)(puVar42 + 0x335fec);\n  iStack_2e4 = *piVar32;\n  pdStack_2e0 = unaff_s0;\n  iStack_2dc = unaff_s1;\n  pvStack_2d8 = unaff_s2;\n  iStack_2d4 = iVar2;\n  pfStack_2d0 = pfVar8;\n  iStack_2cc = unaff_s5;\n  iStack_2c8 = unaff_s6;\n  iStack_2c4 = unaff_s7;\n  iStack_2c0 = iVar60;\n  pcStack_2bc = pcVar46;\n  dStack_2b8 = in_f20_21;\n  dStack_2b0 = in_f22_23;\n  dStack_2a8 = in_f24_25;\n  iVar3 = (**(code **)(puVar42 + 0x3366c8))();\n  iVar2 = (**(code **)(puVar42 + 0x3362c4))();\n  if (iVar3 == 0) {\n    trap(7);\n  }\n  iVar60 = *(int *)(pdVar10 + 6) / iVar3;\n  pdVar4 = (double *)(*(int *)(pdVar10 + 6) % iVar3);\n  if (iVar2 < (int)pdVar4) {\n    iVar60 = iVar60 + 1;\n    pdVar4 = (double *)0x0;\n  }\n  pdStack_f48 = (double *)(iVar60 * iVar2 + (int)pdVar4);\n  pdVar7 = (double *)(iVar60 + (int)pdStack_f48);\n  if ((int)pdStack_f48 < (int)pdVar7) {\n    dVar55 = pdVar10[1];\n    iVar3 = *(int *)(pdVar10 + 5);\n    pdVar18 = *(double **)((int)pdVar10 + 0x2c);\n    dVar54 = *pdVar10;\n    dVar58 = *(double *)(*(int *)(puVar42 + 0x33569c) + 0x1440);\n    pdVar11 = *(double **)((int)pdVar10 + 0x24);\n    uVar5 = *(undefined4 *)(pdVar10 + 4);\n    uVar6 = *(undefined4 *)((int)pdVar10 + 0x1c);\n    pdVar12 = *(double **)(pdVar10 + 3);\n    iVar2 = *(int *)((int)pdVar10 + 0x14);\n    iVar60 = *(int *)(pdVar10 + 2);\n    pdVar4 = pdVar18;\n    do {\n      if (*(int *)((int)pdVar10 + 0x34) != 0) {\n        pfStack_f50 = (float *)(**(code **)(puVar42 + 0x336418))\n                                         (uVar5,-(*(int *)(iVar3 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                          (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),\n                                          uVar6);\n        pdVar4 = pdVar11;\n        iStack_f54 = (**(code **)(puVar42 + 0x336418))\n                               (pdVar11,-(*(int *)(iVar3 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),uVar6);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(undefined4 *)((int)pdVar10 + 0x34) = 0;\n        }\n        else {\n          (**(code **)(puVar42 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar18) {\n            pdStack_f4c = (double *)0x0;\n            iVar24 = *(int *)(iVar60 + 0x2c0);\n            iVar38 = *(int *)(iVar2 + 0x2c0);\n            iVar40 = iVar38 * 4;\n            pcVar46 = *(code **)(puVar42 + 0x336490);\n            do {\n              (*pcVar46)(adStack_d10,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_4f0,0,0x208);\n              iVar15 = *(int *)(iVar3 + 8);\n              pdStack_f7c = *(double **)(iVar3 + 0x14);\n              if (0 < iVar15) {\n                iVar43 = *(int *)(iVar3 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar8 = pfStack_f50;\n                do {\n                  if (0 < iVar43) {\n                    iVar39 = 0;\n                    pdVar4 = pdStack_f7c;\n                    iVar36 = iStack_f80;\n                    pfVar17 = pfVar8;\n                    do {\n                      if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }\n                      iVar39 = iVar39 + 1;\n                      pdVar4 = pdVar4 + 1;\n                      pfVar17 = pfVar17 + iVar24;\n                      iVar36 = iVar36 + iVar40;\n                    } while (iVar39 != iVar43);\n                    pdStack_f7c = pdStack_f7c + iVar43;\n                    pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4);\n                    iStack_f80 = iStack_f80 + iVar43 * iVar40;\n                  }\n                  pfVar8 = (float *)((int)pfVar8 + iVar24 * (int)pdVar18 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar18 * 4 * iVar38;\n                } while (iStack_f78 != iVar15);\n              }\n              if (0 < iVar24) {\n                piVar25 = *(int **)(iVar60 + 0x2d0);\n                iVar15 = 0;\n                iVar43 = *(int *)(iVar2 + 0x2d0);\n                piVar9 = piVar25;\n                do {\n                  if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)) &&\n                     ((uVar26 & 2) != 0)) {\n                    dVar57 = *(double *)((int)adStack_d10 + iVar15);\n                    dVar50 = *(double *)((int)adStack_6f8 + iVar15);\n                    pdVar4 = (double *)((int)adStack_f18 + iVar15);\n                    dVar52 = dVar57 * dVar50;\n                    dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52;\n                    dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54));\n                    *pdVar4 = *pdVar4 + dVar50;\n                    dStack_d18 = dStack_d18 + dVar50;\n                  }\n                  iVar15 = iVar15 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar15 != iVar24 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar24;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar40;\n              pcVar46 = *(code **)(puVar42 + 0x336490);\n            } while (pdVar18 != pdStack_f4c);\n          }\n          (**(code **)(puVar42 + 0x3364f0))(*(undefined4 *)(puVar42 + 0x3360c4));\n          pdVar4 = adStack_f18;\n          pdVar30 = pdVar12;\n          do {\n            pdVar27 = pdVar4 + 1;\n            *pdVar30 = *pdVar30 + *pdVar4;\n            pdVar4 = pdVar27;\n            pdVar30 = pdVar30 + 1;\n          } while (adStack_d10 != pdVar27);\n          pdVar4 = *(double **)(puVar42 + 0x3360c4);\n          (**(code **)(puVar42 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    } while (pdVar7 != pdStack_f48);\n  }\n  if (iStack_2e4 == *piVar32) {\n    return;\n  }\n  pcVar46 = *(code **)(puVar42 + 0x335e20);\n  (*pcVar46)();\n  iVar3 = (**(code **)(pcVar46 + 0x336064))();\n  iVar2 = (**(code **)(pcVar46 + 0x335c60))();\n  if (iVar3 == 0) {\n    trap(7);\n  }\n  iVar60 = *(int *)((int)pdVar4 + 0x34) / iVar3;\n  iVar3 = *(int *)((int)pdVar4 + 0x34) % iVar3;\n  if (iVar2 < iVar3) {\n    iVar60 = iVar60 + 1;\n    iVar3 = 0;\n  }\n  iVar3 = iVar60 * iVar2 + iVar3;\n  iVar60 = iVar60 + iVar3;\n  iVar2 = *(int *)(pcVar46 + 0x335038);\n  if (iVar3 < iVar60) {\n    iVar38 = *(int *)(pcVar46 + 0x335038);\n    iVar24 = *(int *)(pcVar46 + 0x335038);\n    uVar59 = (ulonglong)*(uint *)(iVar2 + 0x1a50);\n    uVar5 = *(undefined4 *)((int)pdVar4 + 0x1c);\n    dVar54 = *pdVar4;\n    iVar40 = *(int *)(pdVar4 + 4);\n    dVar55 = *(double *)(iVar38 + 0x1438);\n    iVar15 = *(int *)((int)pdVar4 + 0xc);\n    dVar58 = *(double *)(iVar24 + 0x1440);\n    iVar36 = *(int *)(pdVar4 + 1);\n    iVar43 = *(int *)(pdVar4 + 6);\n    uVar45 = *(undefined4 *)(pdVar4 + 2);\n    uVar6 = *(undefined4 *)(pdVar4 + 3);\n    uVar14 = *(undefined4 *)((int)pdVar4 + 0x14);\n    do {\n      if (*(int *)(pdVar4 + 7) != 0) {\n        iVar39 = (**(code **)(pcVar46 + 0x335db4))(uVar6,0,iVar3,iVar43,1,uVar45);\n        iVar13 = (**(code **)(pcVar46 + 0x335db4))(uVar5,0,iVar3,iVar43,1,uVar45);\n        iVar34 = (**(code **)(pcVar46 + 0x3353a8))(uVar14,0,iVar3,iVar43,1,uVar45);\n        if (((iVar39 != 0) && (iVar13 != 0)) && (iVar34 != 0)) {\n          if (0 < iVar43) {\n            iVar21 = 0;\n            piVar32 = *(int **)(iVar36 + 0x2d0);\n            iVar35 = *(int *)((int)pdVar4 + 0x2c);\n            fVar53 = *(float *)(iVar2 + 0x1a50);\n            iVar41 = piVar32[0x13];\n            iVar44 = *(int *)((int)pdVar4 + 0x24);\n            fVar51 = *(float *)(*(int *)(pcVar46 + 0x335038) + 0x3708);\n            iVar37 = *(int *)(pdVar4 + 5);\n            dVar50 = *(double *)(iVar38 + 0x1438);\n            dVar52 = *(double *)(iVar24 + 0x1440);\n            do {\n              while (((iVar41 != 0 && (*(float *)(iVar39 + piVar32[0x14] * 4) <= fVar51)) ||\n                     ((iVar16 = *(int *)(iVar15 + 0x2d0), *(int *)(iVar16 + 0x4c) != 0 &&\n                      (*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51))))) {\n                iVar16 = *(int *)(iVar40 + 0x2d0);\n                dVar57 = *(double *)(iVar35 + 0x30);\n                dVar56 = *(double *)(iVar35 + 0x38);\n                iVar22 = *(int *)(iVar16 + 0x14);\n                iVar20 = *(int *)(iVar16 + 0x20);\n                iVar28 = *(int *)(iVar16 + 0x28);\n                *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar35 + 0x28);\n                *(float *)(iVar34 + iVar22 * 4) = (float)dVar57;\n                *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                if (iVar28 != 0) {\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                       (float)*(double *)(iVar35 + 0x40);\n                }\n                if (*(int *)(iVar16 + 0x34) != 0) {\n                  fVar48 = fVar53;\n                  if (*(int *)(iVar35 + 8) != 0) {\n                    fVar48 = (float)*(double *)(iVar35 + 0x48);\n                  }\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n                }\n                iVar21 = iVar21 + 1;\n                iVar39 = iVar39 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n                iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar21 == iVar43) goto LAB_00073d60;\n              }\n              dVar56 = dVar50;\n              if (piVar32[0xd] != 0) {\n                dVar56 = (double)*(float *)(iVar39 + piVar32[0xe] * 4) * dVar52;\n              }\n              dVar57 = dVar55;\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                dVar57 = (double)*(float *)(iVar13 + *(int *)(iVar16 + 0x38) * 4) * dVar58;\n              }\n              iVar22 = *(int *)(iVar36 + 0x2c0);\n              iVar20 = 0;\n              piVar9 = piVar32;\n              if (0 < iVar22) {\n                do {\n                  iVar23 = *piVar9;\n                  iVar28 = iVar16 + iVar23 * 0xc;\n                  if (((piVar32[iVar23 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)) && ((uVar26 & 2) != 0)) {\n                    dVar49 = (double)*(float *)(iVar39 + iVar20 * 4);\n                    dVar47 = (double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4);\n                    if (iVar23 == 4) {\n                      dVar49 = dVar49 - dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    else {\n                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    if (dVar54 <= dVar49) {\n                      iVar16 = *(int *)(iVar40 + 0x2d0);\n                      dVar57 = *(double *)(iVar44 + 0x30);\n                      dVar56 = *(double *)(iVar44 + 0x38);\n                      iVar28 = *(int *)(iVar16 + 0x14);\n                      iVar20 = *(int *)(iVar16 + 0x20);\n                      iVar23 = *(int *)(iVar16 + 0x28);\n                      *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28);\n                      *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n                      *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                      if (iVar23 != 0) {\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }\n                      if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;\n                      fVar48 = fVar53;\n                      if (*(int *)(iVar44 + 8) != 0) {\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar20 = iVar20 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar22 != iVar20);\n              }\n              iVar16 = *(int *)(iVar40 + 0x2d0);\n              dVar57 = *(double *)(iVar37 + 0x30);\n              dVar56 = *(double *)(iVar37 + 0x38);\n              iVar28 = *(int *)(iVar16 + 0x14);\n              iVar20 = *(int *)(iVar16 + 0x20);\n              iVar23 = *(int *)(iVar16 + 0x28);\n              *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar37 + 0x28);\n              *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n              *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n              if (iVar23 != 0) {\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) = (float)*(double *)(iVar37 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                if (*(int *)(iVar37 + 8) == 0) {\n                  fVar48 = (float)uVar59;\n                }\n                else {\n                  fVar48 = (float)*(double *)(iVar37 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n              }\nLAB_00073d38:\n              iVar21 = iVar21 + 1;\n              iVar39 = iVar39 + iVar22 * 4;\n              iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n              iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar21 != iVar43);\n          }\nLAB_00073d60:\n          iVar39 = (**(code **)(pcVar46 + 0x335c50))(uVar14,uVar45);\n          if (iVar39 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar4 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    } while (iVar60 != iVar3);\n  }\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "double *pdVar4;" primitive_type (pointer_declarator "*pdVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "double *pdVar7;" primitive_type (pointer_declarator "*pdVar7" * identifier) ;) (declaration "float *pfVar8;" primitive_type (pointer_declarator "*pfVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "double *pdVar10;" primitive_type (pointer_declarator "*pdVar10" * identifier) ;) (declaration "double *pdVar11;" primitive_type (pointer_declarator "*pdVar11" * identifier) ;) (declaration "double *pdVar12;" primitive_type (pointer_declarator "*pdVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "float *pfVar17;" primitive_type (pointer_declarator "*pfVar17" * identifier) ;) (declaration "double *pdVar18;" primitive_type (pointer_declarator "*pdVar18" * identifier) ;) (declaration "float *pfVar19;" primitive_type (pointer_declarator "*pfVar19" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "int *piVar25;" primitive_type (pointer_declarator "*piVar25" * identifier) ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "double *pdVar27;" primitive_type (pointer_declarator "*pdVar27" * identifier) ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "double *pdVar29;" primitive_type (pointer_declarator "*pdVar29" * identifier) ;) (declaration "double *pdVar30;" primitive_type (pointer_declarator "*pdVar30" * identifier) ;) (declaration "double *pdVar31;" primitive_type (pointer_declarator "*pdVar31" * identifier) ;) (declaration "int *piVar32;" primitive_type (pointer_declarator "*piVar32" * identifier) ;) (declaration "double *pdVar33;" primitive_type (pointer_declarator "*pdVar33" * identifier) ;) (declaration "int iVar34;" primitive_type identifier ;) (declaration "int iVar35;" primitive_type identifier ;) (declaration "int iVar36;" primitive_type identifier ;) (declaration "int iVar37;" primitive_type identifier ;) (declaration "int iVar38;" primitive_type identifier ;) (declaration "int iVar39;" primitive_type identifier ;) (declaration "double *unaff_s0;" primitive_type (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "int unaff_s1;" primitive_type identifier ;) (declaration "void *unaff_s2;" primitive_type (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "int unaff_s5;" primitive_type identifier ;) (declaration "int unaff_s6;" primitive_type identifier ;) (declaration "int unaff_s7;" primitive_type identifier ;) (declaration "int iVar40;" primitive_type identifier ;) (declaration "int iVar41;" primitive_type identifier ;) (declaration "undefined *puVar42;" type_identifier (pointer_declarator "*puVar42" * identifier) ;) (declaration "int iVar43;" primitive_type identifier ;) (declaration "int iVar44;" primitive_type identifier ;) (declaration "undefined4 uVar45;" type_identifier identifier ;) (declaration "code *pcVar46;" type_identifier (pointer_declarator "*pcVar46" * identifier) ;) (declaration "float fVar48;" primitive_type identifier ;) (declaration "double dVar47;" primitive_type identifier ;) (declaration "double dVar49;" primitive_type identifier ;) (declaration "double dVar50;" primitive_type identifier ;) (declaration "float fVar51;" primitive_type identifier ;) (declaration "double dVar52;" primitive_type identifier ;) (declaration "float fVar53;" primitive_type identifier ;) (declaration "double dVar54;" primitive_type identifier ;) (declaration "double dVar55;" primitive_type identifier ;) (declaration "double dVar56;" primitive_type identifier ;) (declaration "double dVar57;" primitive_type identifier ;) (declaration "double in_f20_21;" primitive_type identifier ;) (declaration "double in_f22_23;" primitive_type identifier ;) (declaration "double in_f24_25;" primitive_type identifier ;) (declaration "double dVar58;" primitive_type identifier ;) (declaration "ulonglong uVar59;" type_identifier identifier ;) (declaration "int iVar60;" primitive_type identifier ;) (declaration "int iStack_f80;" primitive_type identifier ;) (declaration "double *pdStack_f7c;" primitive_type (pointer_declarator "*pdStack_f7c" * identifier) ;) (declaration "int iStack_f78;" primitive_type identifier ;) (declaration "int iStack_f54;" primitive_type identifier ;) (declaration "float *pfStack_f50;" primitive_type (pointer_declarator "*pfStack_f50" * identifier) ;) (declaration "double *pdStack_f4c;" primitive_type (pointer_declarator "*pdStack_f4c" * identifier) ;) (declaration "double *pdStack_f48;" primitive_type (pointer_declarator "*pdStack_f48" * identifier) ;) (declaration "double adStack_f18 [64];" primitive_type (array_declarator "adStack_f18 [64]" identifier [ number_literal ]) ;) (declaration "double dStack_d18;" primitive_type identifier ;) (declaration "double adStack_d10 [65];" primitive_type (array_declarator "adStack_d10 [65]" identifier [ number_literal ]) ;) (declaration "double adStack_b08 [65];" primitive_type (array_declarator "adStack_b08 [65]" identifier [ number_literal ]) ;) (declaration "double adStack_900 [65];" primitive_type (array_declarator "adStack_900 [65]" identifier [ number_literal ]) ;) (declaration "double adStack_6f8 [65];" primitive_type (array_declarator "adStack_6f8 [65]" identifier [ number_literal ]) ;) (declaration "double adStack_4f0 [65];" primitive_type (array_declarator "adStack_4f0 [65]" identifier [ number_literal ]) ;) (declaration "int iStack_2e4;" primitive_type identifier ;) (declaration "double *pdStack_2e0;" primitive_type (pointer_declarator "*pdStack_2e0" * identifier) ;) (declaration "int iStack_2dc;" primitive_type identifier ;) (declaration "void *pvStack_2d8;" primitive_type (pointer_declarator "*pvStack_2d8" * identifier) ;) (declaration "int iStack_2d4;" primitive_type identifier ;) (declaration "float *pfStack_2d0;" primitive_type (pointer_declarator "*pfStack_2d0" * identifier) ;) (declaration "int iStack_2cc;" primitive_type identifier ;) (declaration "int iStack_2c8;" primitive_type identifier ;) (declaration "int iStack_2c4;" primitive_type identifier ;) (declaration "int iStack_2c0;" primitive_type identifier ;) (declaration "code *pcStack_2bc;" type_identifier (pointer_declarator "*pcStack_2bc" * identifier) ;) (declaration "double dStack_2b8;" primitive_type identifier ;) (declaration "double dStack_2b0;" primitive_type identifier ;) (declaration "double dStack_2a8;" primitive_type identifier ;) (declaration "undefined4 local_290;" type_identifier identifier ;) (declaration "undefined4 local_28c;" type_identifier identifier ;) (declaration "double local_250 [65];" primitive_type (array_declarator "local_250 [65]" identifier [ number_literal ]) ;) (declaration "undefined8 uStack_48;" type_identifier identifier ;) (expression_statement "puVar1 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar1 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "uStack_48._4_4_ = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "uStack_48._4_4_ = *(int *)PTR___stack_chk_guard_003a9230" (field_expression "uStack_48._4_4_" identifier . field_identifier) = (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" * (cast_expression "(int *)PTR___stack_chk_guard_003a9230" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pdVar10 = (double *)this;" (assignment_expression "pdVar10 = (double *)this" identifier = (cast_expression "(double *)this" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar2 = (*(code *)PTR_omp_get_num_threads_003a990c)();" (assignment_expression "iVar2 = (*(code *)PTR_omp_get_num_threads_003a990c)()" identifier = (call_expression "(*(code *)PTR_omp_get_num_threads_003a990c)()" (parenthesized_expression "(*(code *)PTR_omp_get_num_threads_003a990c)" ( (pointer_expression "*(code *)PTR_omp_get_num_threads_003a990c" * (cast_expression "(code *)PTR_omp_get_num_threads_003a990c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "iVar3 = (*(code *)PTR_omp_get_thread_num_003a9508)();" (assignment_expression "iVar3 = (*(code *)PTR_omp_get_thread_num_003a9508)()" identifier = (call_expression "(*(code *)PTR_omp_get_thread_num_003a9508)()" (parenthesized_expression "(*(code *)PTR_omp_get_thread_num_003a9508)" ( (pointer_expression "*(code *)PTR_omp_get_thread_num_003a9508" * (cast_expression "(code *)PTR_omp_get_thread_num_003a9508" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "puVar42 = PTR_LAB_003a88e0;" (assignment_expression "puVar42 = PTR_LAB_003a88e0" identifier = identifier) ;) (if_statement "if (iVar2 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    trap(7);\n  }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "iVar60 = *(int *)((int)this + 0x1c) / iVar2;" (assignment_expression "iVar60 = *(int *)((int)this + 0x1c) / iVar2" identifier = (binary_expression "*(int *)((int)this + 0x1c) / iVar2" (pointer_expression "*(int *)((int)this + 0x1c)" * (cast_expression "(int *)((int)this + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this + 0x1c)" ( (binary_expression "(int)this + 0x1c" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) / identifier)) ;) (expression_statement "iVar2 = *(int *)((int)this + 0x1c) % iVar2;" (assignment_expression "iVar2 = *(int *)((int)this + 0x1c) % iVar2" identifier = (binary_expression "*(int *)((int)this + 0x1c) % iVar2" (pointer_expression "*(int *)((int)this + 0x1c)" * (cast_expression "(int *)((int)this + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this + 0x1c)" ( (binary_expression "(int)this + 0x1c" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) % identifier)) ;) (if_statement "if (iVar3 < iVar2) {\n    iVar60 = iVar60 + 1;\n    iVar2 = 0;\n  }" if (parenthesized_expression "(iVar3 < iVar2)" ( (binary_expression "iVar3 < iVar2" identifier < identifier) )) (compound_statement "{\n    iVar60 = iVar60 + 1;\n    iVar2 = 0;\n  }" { (expression_statement "iVar60 = iVar60 + 1;" (assignment_expression "iVar60 = iVar60 + 1" identifier = (binary_expression "iVar60 + 1" identifier + number_literal)) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) })) (expression_statement "iVar2 = iVar60 * iVar3 + iVar2;" (assignment_expression "iVar2 = iVar60 * iVar3 + iVar2" identifier = (binary_expression "iVar60 * iVar3 + iVar2" (binary_expression "iVar60 * iVar3" identifier * identifier) + identifier)) ;) (expression_statement "iVar60 = iVar60 + iVar2;" (assignment_expression "iVar60 = iVar60 + iVar2" identifier = (binary_expression "iVar60 + iVar2" identifier + identifier)) ;) (expression_statement "pfVar8 = (float *)this;" (assignment_expression "pfVar8 = (float *)this" identifier = (cast_expression "(float *)this" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar2 < iVar60) {\n    unaff_s7 = *(int *)((int)this + 4);\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n    pdVar4 = *(double **)((int)this + 0x14);\n    in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n                    /* WARNING: Load size is inaccurate */\n    unaff_s1 = *this;\n    uVar5 = *(undefined4 *)((int)this + 0x10);\n    unaff_s6 = *(int *)((int)this + 0x18);\n    uVar6 = *(undefined4 *)((int)this + 0xc);\n    pdVar7 = *(double **)((int)this + 8);\n    unaff_s5 = iVar2;\n    in_f22_23 = in_f20_21;\n    do {\n      while (unaff_s2 = this, *(int *)((int)this + 0x20) == 0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar60 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = uVar6;\n      pfVar8 = (float *)(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(uVar5,0,unaff_s5,unaff_s6)\n      ;\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = uVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pfVar8 != (float *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < unaff_s6) {\n          iVar3 = 0;\n          piVar32 = *(int **)(unaff_s1 + 0x2d0);\n          dVar54 = *(double *)(puVar42 + 0x1440);\n          iVar38 = piVar32[0x13];\n          fVar51 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar55 = *(double *)(puVar42 + 0x1438);\n          do {\n            while (((iVar38 != 0 && (pfVar8[piVar32[0x14]] <= fVar51)) ||\n                   ((iVar24 = *(int *)(unaff_s7 + 0x2d0), *(int *)(iVar24 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4) <= fVar51))))) {\n              iVar3 = iVar3 + 1;\n              pfVar8 = pfVar8 + *(int *)(unaff_s1 + 0x2c0);\n              iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n              if (iVar3 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar32[0xd] == 0) {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = dVar55;\n            }\n            else {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = (double)pfVar8[piVar32[0xe]] * dVar54;\n            }\n            dVar50 = in_f24_25;\n            if (iVar40 != 0) {\n              dVar50 = (double)*(float *)(iVar2 + *(int *)(iVar24 + 0x38) * 4) * dVar54;\n            }\n            iVar40 = *(int *)(unaff_s1 + 0x2c0);\n            if (0 < iVar40) {\n              piVar9 = piVar32;\n              pdVar10 = unaff_s0;\n              pfVar17 = pfVar8;\n              do {\n                iVar43 = *piVar9;\n                iVar15 = iVar24 + iVar43 * 0xc;\n                if (((piVar32[iVar43 * 3 + 1] != 0) && (uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0)\n                    ) && ((uVar26 & 2) != 0)) {\n                  dVar52 = (double)*(float *)(iVar2 + *(int *)(iVar15 + 8) * 4);\n                  if (iVar43 == 4) {\n                    dVar52 = ABS((double)*pfVar17 - dVar52) * in_f22_23;\n                  }\n                  else {\n                    dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar52) {\n                    *pdVar10 = dVar52;\n                  }\n                  if (local_250[0x40] < dVar52) {\n                    local_250[0x40] = dVar52;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pfVar17 = pfVar17 + 1;\n              } while (piVar9 != piVar32 + iVar40 * 3);\n            }\n            iVar3 = iVar3 + 1;\n            pfVar8 = pfVar8 + iVar40;\n            iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n          } while (iVar3 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(undefined4 *)((int)this + 0x20) = 0;\n    } while (iVar60 != unaff_s5);\n  }" if (parenthesized_expression "(iVar2 < iVar60)" ( (binary_expression "iVar2 < iVar60" identifier < identifier) )) (compound_statement "{\n    unaff_s7 = *(int *)((int)this + 4);\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n    pdVar4 = *(double **)((int)this + 0x14);\n    in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n                    /* WARNING: Load size is inaccurate */\n    unaff_s1 = *this;\n    uVar5 = *(undefined4 *)((int)this + 0x10);\n    unaff_s6 = *(int *)((int)this + 0x18);\n    uVar6 = *(undefined4 *)((int)this + 0xc);\n    pdVar7 = *(double **)((int)this + 8);\n    unaff_s5 = iVar2;\n    in_f22_23 = in_f20_21;\n    do {\n      while (unaff_s2 = this, *(int *)((int)this + 0x20) == 0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar60 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = uVar6;\n      pfVar8 = (float *)(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(uVar5,0,unaff_s5,unaff_s6)\n      ;\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = uVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pfVar8 != (float *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < unaff_s6) {\n          iVar3 = 0;\n          piVar32 = *(int **)(unaff_s1 + 0x2d0);\n          dVar54 = *(double *)(puVar42 + 0x1440);\n          iVar38 = piVar32[0x13];\n          fVar51 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar55 = *(double *)(puVar42 + 0x1438);\n          do {\n            while (((iVar38 != 0 && (pfVar8[piVar32[0x14]] <= fVar51)) ||\n                   ((iVar24 = *(int *)(unaff_s7 + 0x2d0), *(int *)(iVar24 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4) <= fVar51))))) {\n              iVar3 = iVar3 + 1;\n              pfVar8 = pfVar8 + *(int *)(unaff_s1 + 0x2c0);\n              iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n              if (iVar3 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar32[0xd] == 0) {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = dVar55;\n            }\n            else {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = (double)pfVar8[piVar32[0xe]] * dVar54;\n            }\n            dVar50 = in_f24_25;\n            if (iVar40 != 0) {\n              dVar50 = (double)*(float *)(iVar2 + *(int *)(iVar24 + 0x38) * 4) * dVar54;\n            }\n            iVar40 = *(int *)(unaff_s1 + 0x2c0);\n            if (0 < iVar40) {\n              piVar9 = piVar32;\n              pdVar10 = unaff_s0;\n              pfVar17 = pfVar8;\n              do {\n                iVar43 = *piVar9;\n                iVar15 = iVar24 + iVar43 * 0xc;\n                if (((piVar32[iVar43 * 3 + 1] != 0) && (uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0)\n                    ) && ((uVar26 & 2) != 0)) {\n                  dVar52 = (double)*(float *)(iVar2 + *(int *)(iVar15 + 8) * 4);\n                  if (iVar43 == 4) {\n                    dVar52 = ABS((double)*pfVar17 - dVar52) * in_f22_23;\n                  }\n                  else {\n                    dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar52) {\n                    *pdVar10 = dVar52;\n                  }\n                  if (local_250[0x40] < dVar52) {\n                    local_250[0x40] = dVar52;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pfVar17 = pfVar17 + 1;\n              } while (piVar9 != piVar32 + iVar40 * 3);\n            }\n            iVar3 = iVar3 + 1;\n            pfVar8 = pfVar8 + iVar40;\n            iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n          } while (iVar3 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(undefined4 *)((int)this + 0x20) = 0;\n    } while (iVar60 != unaff_s5);\n  }" { (expression_statement "unaff_s7 = *(int *)((int)this + 4);" (assignment_expression "unaff_s7 = *(int *)((int)this + 4)" identifier = (pointer_expression "*(int *)((int)this + 4)" * (cast_expression "(int *)((int)this + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this + 4)" ( (binary_expression "(int)this + 4" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);" (assignment_expression "in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440)" identifier = (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1440)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1440)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1440)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1440" identifier + number_literal) ))))) ;) (expression_statement "pdVar4 = *(double **)((int)this + 0x14);" (assignment_expression "pdVar4 = *(double **)((int)this + 0x14)" identifier = (pointer_expression "*(double **)((int)this + 0x14)" * (cast_expression "(double **)((int)this + 0x14)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)this + 0x14)" ( (binary_expression "(int)this + 0x14" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);" (assignment_expression "in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438)" identifier = (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1438)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1438)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1438" identifier + number_literal) ))))) ;) comment (expression_statement "unaff_s1 = *this;" (assignment_expression "unaff_s1 = *this" identifier = (pointer_expression "*this" * identifier)) ;) (expression_statement "uVar5 = *(undefined4 *)((int)this + 0x10);" (assignment_expression "uVar5 = *(undefined4 *)((int)this + 0x10)" identifier = (pointer_expression "*(undefined4 *)((int)this + 0x10)" * (cast_expression "(undefined4 *)((int)this + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this + 0x10)" ( (binary_expression "(int)this + 0x10" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "unaff_s6 = *(int *)((int)this + 0x18);" (assignment_expression "unaff_s6 = *(int *)((int)this + 0x18)" identifier = (pointer_expression "*(int *)((int)this + 0x18)" * (cast_expression "(int *)((int)this + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this + 0x18)" ( (binary_expression "(int)this + 0x18" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar6 = *(undefined4 *)((int)this + 0xc);" (assignment_expression "uVar6 = *(undefined4 *)((int)this + 0xc)" identifier = (pointer_expression "*(undefined4 *)((int)this + 0xc)" * (cast_expression "(undefined4 *)((int)this + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this + 0xc)" ( (binary_expression "(int)this + 0xc" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pdVar7 = *(double **)((int)this + 8);" (assignment_expression "pdVar7 = *(double **)((int)this + 8)" identifier = (pointer_expression "*(double **)((int)this + 8)" * (cast_expression "(double **)((int)this + 8)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)this + 8)" ( (binary_expression "(int)this + 8" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "unaff_s5 = iVar2;" (assignment_expression "unaff_s5 = iVar2" identifier = identifier) ;) (expression_statement "in_f22_23 = in_f20_21;" (assignment_expression "in_f22_23 = in_f20_21" identifier = identifier) ;) (do_statement "do {\n      while (unaff_s2 = this, *(int *)((int)this + 0x20) == 0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar60 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = uVar6;\n      pfVar8 = (float *)(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(uVar5,0,unaff_s5,unaff_s6)\n      ;\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = uVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pfVar8 != (float *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < unaff_s6) {\n          iVar3 = 0;\n          piVar32 = *(int **)(unaff_s1 + 0x2d0);\n          dVar54 = *(double *)(puVar42 + 0x1440);\n          iVar38 = piVar32[0x13];\n          fVar51 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar55 = *(double *)(puVar42 + 0x1438);\n          do {\n            while (((iVar38 != 0 && (pfVar8[piVar32[0x14]] <= fVar51)) ||\n                   ((iVar24 = *(int *)(unaff_s7 + 0x2d0), *(int *)(iVar24 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4) <= fVar51))))) {\n              iVar3 = iVar3 + 1;\n              pfVar8 = pfVar8 + *(int *)(unaff_s1 + 0x2c0);\n              iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n              if (iVar3 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar32[0xd] == 0) {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = dVar55;\n            }\n            else {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = (double)pfVar8[piVar32[0xe]] * dVar54;\n            }\n            dVar50 = in_f24_25;\n            if (iVar40 != 0) {\n              dVar50 = (double)*(float *)(iVar2 + *(int *)(iVar24 + 0x38) * 4) * dVar54;\n            }\n            iVar40 = *(int *)(unaff_s1 + 0x2c0);\n            if (0 < iVar40) {\n              piVar9 = piVar32;\n              pdVar10 = unaff_s0;\n              pfVar17 = pfVar8;\n              do {\n                iVar43 = *piVar9;\n                iVar15 = iVar24 + iVar43 * 0xc;\n                if (((piVar32[iVar43 * 3 + 1] != 0) && (uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0)\n                    ) && ((uVar26 & 2) != 0)) {\n                  dVar52 = (double)*(float *)(iVar2 + *(int *)(iVar15 + 8) * 4);\n                  if (iVar43 == 4) {\n                    dVar52 = ABS((double)*pfVar17 - dVar52) * in_f22_23;\n                  }\n                  else {\n                    dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar52) {\n                    *pdVar10 = dVar52;\n                  }\n                  if (local_250[0x40] < dVar52) {\n                    local_250[0x40] = dVar52;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pfVar17 = pfVar17 + 1;\n              } while (piVar9 != piVar32 + iVar40 * 3);\n            }\n            iVar3 = iVar3 + 1;\n            pfVar8 = pfVar8 + iVar40;\n            iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n          } while (iVar3 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(undefined4 *)((int)this + 0x20) = 0;\n    } while (iVar60 != unaff_s5);" do (compound_statement "{\n      while (unaff_s2 = this, *(int *)((int)this + 0x20) == 0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar60 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = uVar6;\n      pfVar8 = (float *)(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(uVar5,0,unaff_s5,unaff_s6)\n      ;\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = uVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pfVar8 != (float *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < unaff_s6) {\n          iVar3 = 0;\n          piVar32 = *(int **)(unaff_s1 + 0x2d0);\n          dVar54 = *(double *)(puVar42 + 0x1440);\n          iVar38 = piVar32[0x13];\n          fVar51 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar55 = *(double *)(puVar42 + 0x1438);\n          do {\n            while (((iVar38 != 0 && (pfVar8[piVar32[0x14]] <= fVar51)) ||\n                   ((iVar24 = *(int *)(unaff_s7 + 0x2d0), *(int *)(iVar24 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4) <= fVar51))))) {\n              iVar3 = iVar3 + 1;\n              pfVar8 = pfVar8 + *(int *)(unaff_s1 + 0x2c0);\n              iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n              if (iVar3 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar32[0xd] == 0) {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = dVar55;\n            }\n            else {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = (double)pfVar8[piVar32[0xe]] * dVar54;\n            }\n            dVar50 = in_f24_25;\n            if (iVar40 != 0) {\n              dVar50 = (double)*(float *)(iVar2 + *(int *)(iVar24 + 0x38) * 4) * dVar54;\n            }\n            iVar40 = *(int *)(unaff_s1 + 0x2c0);\n            if (0 < iVar40) {\n              piVar9 = piVar32;\n              pdVar10 = unaff_s0;\n              pfVar17 = pfVar8;\n              do {\n                iVar43 = *piVar9;\n                iVar15 = iVar24 + iVar43 * 0xc;\n                if (((piVar32[iVar43 * 3 + 1] != 0) && (uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0)\n                    ) && ((uVar26 & 2) != 0)) {\n                  dVar52 = (double)*(float *)(iVar2 + *(int *)(iVar15 + 8) * 4);\n                  if (iVar43 == 4) {\n                    dVar52 = ABS((double)*pfVar17 - dVar52) * in_f22_23;\n                  }\n                  else {\n                    dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar52) {\n                    *pdVar10 = dVar52;\n                  }\n                  if (local_250[0x40] < dVar52) {\n                    local_250[0x40] = dVar52;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pfVar17 = pfVar17 + 1;\n              } while (piVar9 != piVar32 + iVar40 * 3);\n            }\n            iVar3 = iVar3 + 1;\n            pfVar8 = pfVar8 + iVar40;\n            iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n          } while (iVar3 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(undefined4 *)((int)this + 0x20) = 0;\n    }" { (while_statement "while (unaff_s2 = this, *(int *)((int)this + 0x20) == 0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar60 == unaff_s5) goto LAB_000731a4;\n      }" while (parenthesized_expression "(unaff_s2 = this, *(int *)((int)this + 0x20) == 0)" ( (comma_expression "unaff_s2 = this, *(int *)((int)this + 0x20) == 0" (assignment_expression "unaff_s2 = this" identifier = identifier) , (binary_expression "*(int *)((int)this + 0x20) == 0" (pointer_expression "*(int *)((int)this + 0x20)" * (cast_expression "(int *)((int)this + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this + 0x20)" ( (binary_expression "(int)this + 0x20" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal)) )) (compound_statement "{\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar60 == unaff_s5) goto LAB_000731a4;\n      }" { (labeled_statement "LAB_00073194:\n        unaff_s5 = unaff_s5 + 1;" statement_identifier : (expression_statement "unaff_s5 = unaff_s5 + 1;" (assignment_expression "unaff_s5 = unaff_s5 + 1" identifier = (binary_expression "unaff_s5 + 1" identifier + number_literal)) ;)) (if_statement "if (iVar60 == unaff_s5) goto LAB_000731a4;" if (parenthesized_expression "(iVar60 == unaff_s5)" ( (binary_expression "iVar60 == unaff_s5" identifier == identifier) )) (goto_statement "goto LAB_000731a4;" goto statement_identifier ;)) })) (expression_statement "unaff_s0 = (double *)0x1;" (assignment_expression "unaff_s0 = (double *)0x1" identifier = (cast_expression "(double *)0x1" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_290 = 1;" (assignment_expression "local_290 = 1" identifier = number_literal) ;) (expression_statement "local_28c = uVar6;" (assignment_expression "local_28c = uVar6" identifier = identifier) ;) (expression_statement "pfVar8 = (float *)(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(uVar5,0,unaff_s5,unaff_s6)\n      ;" (assignment_expression "pfVar8 = (float *)(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(uVar5,0,unaff_s5,unaff_s6)" identifier = (cast_expression "(float *)(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(uVar5,0,unaff_s5,unaff_s6)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(uVar5,0,unaff_s5,unaff_s6)" (parenthesized_expression "(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)" ( (pointer_expression "*(code *)PTR_GetCacheViewVirtualPixels_003a965c" * (cast_expression "(code *)PTR_GetCacheViewVirtualPixels_003a965c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5,0,unaff_s5,unaff_s6)" ( identifier , number_literal , identifier , identifier ))))) ;) (expression_statement "local_290 = 1;" (assignment_expression "local_290 = 1" identifier = number_literal) ;) (expression_statement "pdVar10 = pdVar4;" (assignment_expression "pdVar10 = pdVar4" identifier = identifier) ;) (expression_statement "local_28c = uVar6;" (assignment_expression "local_28c = uVar6" identifier = identifier) ;) (expression_statement "iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);" (assignment_expression "iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6)" identifier = (call_expression "(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6)" (parenthesized_expression "(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)" ( (pointer_expression "*(code *)PTR_GetCacheViewVirtualPixels_003a965c" * (cast_expression "(code *)PTR_GetCacheViewVirtualPixels_003a965c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pdVar4,0,unaff_s5,unaff_s6)" ( identifier , number_literal , identifier , identifier )))) ;) (if_statement "if ((pfVar8 != (float *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < unaff_s6) {\n          iVar3 = 0;\n          piVar32 = *(int **)(unaff_s1 + 0x2d0);\n          dVar54 = *(double *)(puVar42 + 0x1440);\n          iVar38 = piVar32[0x13];\n          fVar51 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar55 = *(double *)(puVar42 + 0x1438);\n          do {\n            while (((iVar38 != 0 && (pfVar8[piVar32[0x14]] <= fVar51)) ||\n                   ((iVar24 = *(int *)(unaff_s7 + 0x2d0), *(int *)(iVar24 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4) <= fVar51))))) {\n              iVar3 = iVar3 + 1;\n              pfVar8 = pfVar8 + *(int *)(unaff_s1 + 0x2c0);\n              iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n              if (iVar3 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar32[0xd] == 0) {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = dVar55;\n            }\n            else {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = (double)pfVar8[piVar32[0xe]] * dVar54;\n            }\n            dVar50 = in_f24_25;\n            if (iVar40 != 0) {\n              dVar50 = (double)*(float *)(iVar2 + *(int *)(iVar24 + 0x38) * 4) * dVar54;\n            }\n            iVar40 = *(int *)(unaff_s1 + 0x2c0);\n            if (0 < iVar40) {\n              piVar9 = piVar32;\n              pdVar10 = unaff_s0;\n              pfVar17 = pfVar8;\n              do {\n                iVar43 = *piVar9;\n                iVar15 = iVar24 + iVar43 * 0xc;\n                if (((piVar32[iVar43 * 3 + 1] != 0) && (uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0)\n                    ) && ((uVar26 & 2) != 0)) {\n                  dVar52 = (double)*(float *)(iVar2 + *(int *)(iVar15 + 8) * 4);\n                  if (iVar43 == 4) {\n                    dVar52 = ABS((double)*pfVar17 - dVar52) * in_f22_23;\n                  }\n                  else {\n                    dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar52) {\n                    *pdVar10 = dVar52;\n                  }\n                  if (local_250[0x40] < dVar52) {\n                    local_250[0x40] = dVar52;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pfVar17 = pfVar17 + 1;\n              } while (piVar9 != piVar32 + iVar40 * 3);\n            }\n            iVar3 = iVar3 + 1;\n            pfVar8 = pfVar8 + iVar40;\n            iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n          } while (iVar3 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }" if (parenthesized_expression "((pfVar8 != (float *)0x0) && (iVar2 != 0))" ( (binary_expression "(pfVar8 != (float *)0x0) && (iVar2 != 0)" (parenthesized_expression "(pfVar8 != (float *)0x0)" ( (binary_expression "pfVar8 != (float *)0x0" identifier != (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) ))) )) (compound_statement "{\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < unaff_s6) {\n          iVar3 = 0;\n          piVar32 = *(int **)(unaff_s1 + 0x2d0);\n          dVar54 = *(double *)(puVar42 + 0x1440);\n          iVar38 = piVar32[0x13];\n          fVar51 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar55 = *(double *)(puVar42 + 0x1438);\n          do {\n            while (((iVar38 != 0 && (pfVar8[piVar32[0x14]] <= fVar51)) ||\n                   ((iVar24 = *(int *)(unaff_s7 + 0x2d0), *(int *)(iVar24 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4) <= fVar51))))) {\n              iVar3 = iVar3 + 1;\n              pfVar8 = pfVar8 + *(int *)(unaff_s1 + 0x2c0);\n              iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n              if (iVar3 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar32[0xd] == 0) {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = dVar55;\n            }\n            else {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = (double)pfVar8[piVar32[0xe]] * dVar54;\n            }\n            dVar50 = in_f24_25;\n            if (iVar40 != 0) {\n              dVar50 = (double)*(float *)(iVar2 + *(int *)(iVar24 + 0x38) * 4) * dVar54;\n            }\n            iVar40 = *(int *)(unaff_s1 + 0x2c0);\n            if (0 < iVar40) {\n              piVar9 = piVar32;\n              pdVar10 = unaff_s0;\n              pfVar17 = pfVar8;\n              do {\n                iVar43 = *piVar9;\n                iVar15 = iVar24 + iVar43 * 0xc;\n                if (((piVar32[iVar43 * 3 + 1] != 0) && (uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0)\n                    ) && ((uVar26 & 2) != 0)) {\n                  dVar52 = (double)*(float *)(iVar2 + *(int *)(iVar15 + 8) * 4);\n                  if (iVar43 == 4) {\n                    dVar52 = ABS((double)*pfVar17 - dVar52) * in_f22_23;\n                  }\n                  else {\n                    dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar52) {\n                    *pdVar10 = dVar52;\n                  }\n                  if (local_250[0x40] < dVar52) {\n                    local_250[0x40] = dVar52;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pfVar17 = pfVar17 + 1;\n              } while (piVar9 != piVar32 + iVar40 * 3);\n            }\n            iVar3 = iVar3 + 1;\n            pfVar8 = pfVar8 + iVar40;\n            iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n          } while (iVar3 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }" { (expression_statement "unaff_s0 = local_250;" (assignment_expression "unaff_s0 = local_250" identifier = identifier) ;) (expression_statement "(*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);" (call_expression "(*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208)" (parenthesized_expression "(*(code *)PTR_memset_003a96d4)" ( (pointer_expression "*(code *)PTR_memset_003a96d4" * (cast_expression "(code *)PTR_memset_003a96d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0,0,0x208)" ( identifier , number_literal , number_literal ))) ;) (if_statement "if (0 < unaff_s6) {\n          iVar3 = 0;\n          piVar32 = *(int **)(unaff_s1 + 0x2d0);\n          dVar54 = *(double *)(puVar42 + 0x1440);\n          iVar38 = piVar32[0x13];\n          fVar51 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar55 = *(double *)(puVar42 + 0x1438);\n          do {\n            while (((iVar38 != 0 && (pfVar8[piVar32[0x14]] <= fVar51)) ||\n                   ((iVar24 = *(int *)(unaff_s7 + 0x2d0), *(int *)(iVar24 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4) <= fVar51))))) {\n              iVar3 = iVar3 + 1;\n              pfVar8 = pfVar8 + *(int *)(unaff_s1 + 0x2c0);\n              iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n              if (iVar3 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar32[0xd] == 0) {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = dVar55;\n            }\n            else {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = (double)pfVar8[piVar32[0xe]] * dVar54;\n            }\n            dVar50 = in_f24_25;\n            if (iVar40 != 0) {\n              dVar50 = (double)*(float *)(iVar2 + *(int *)(iVar24 + 0x38) * 4) * dVar54;\n            }\n            iVar40 = *(int *)(unaff_s1 + 0x2c0);\n            if (0 < iVar40) {\n              piVar9 = piVar32;\n              pdVar10 = unaff_s0;\n              pfVar17 = pfVar8;\n              do {\n                iVar43 = *piVar9;\n                iVar15 = iVar24 + iVar43 * 0xc;\n                if (((piVar32[iVar43 * 3 + 1] != 0) && (uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0)\n                    ) && ((uVar26 & 2) != 0)) {\n                  dVar52 = (double)*(float *)(iVar2 + *(int *)(iVar15 + 8) * 4);\n                  if (iVar43 == 4) {\n                    dVar52 = ABS((double)*pfVar17 - dVar52) * in_f22_23;\n                  }\n                  else {\n                    dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar52) {\n                    *pdVar10 = dVar52;\n                  }\n                  if (local_250[0x40] < dVar52) {\n                    local_250[0x40] = dVar52;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pfVar17 = pfVar17 + 1;\n              } while (piVar9 != piVar32 + iVar40 * 3);\n            }\n            iVar3 = iVar3 + 1;\n            pfVar8 = pfVar8 + iVar40;\n            iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n          } while (iVar3 != unaff_s6);\n        }" if (parenthesized_expression "(0 < unaff_s6)" ( (binary_expression "0 < unaff_s6" number_literal < identifier) )) (compound_statement "{\n          iVar3 = 0;\n          piVar32 = *(int **)(unaff_s1 + 0x2d0);\n          dVar54 = *(double *)(puVar42 + 0x1440);\n          iVar38 = piVar32[0x13];\n          fVar51 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar55 = *(double *)(puVar42 + 0x1438);\n          do {\n            while (((iVar38 != 0 && (pfVar8[piVar32[0x14]] <= fVar51)) ||\n                   ((iVar24 = *(int *)(unaff_s7 + 0x2d0), *(int *)(iVar24 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4) <= fVar51))))) {\n              iVar3 = iVar3 + 1;\n              pfVar8 = pfVar8 + *(int *)(unaff_s1 + 0x2c0);\n              iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n              if (iVar3 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar32[0xd] == 0) {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = dVar55;\n            }\n            else {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = (double)pfVar8[piVar32[0xe]] * dVar54;\n            }\n            dVar50 = in_f24_25;\n            if (iVar40 != 0) {\n              dVar50 = (double)*(float *)(iVar2 + *(int *)(iVar24 + 0x38) * 4) * dVar54;\n            }\n            iVar40 = *(int *)(unaff_s1 + 0x2c0);\n            if (0 < iVar40) {\n              piVar9 = piVar32;\n              pdVar10 = unaff_s0;\n              pfVar17 = pfVar8;\n              do {\n                iVar43 = *piVar9;\n                iVar15 = iVar24 + iVar43 * 0xc;\n                if (((piVar32[iVar43 * 3 + 1] != 0) && (uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0)\n                    ) && ((uVar26 & 2) != 0)) {\n                  dVar52 = (double)*(float *)(iVar2 + *(int *)(iVar15 + 8) * 4);\n                  if (iVar43 == 4) {\n                    dVar52 = ABS((double)*pfVar17 - dVar52) * in_f22_23;\n                  }\n                  else {\n                    dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar52) {\n                    *pdVar10 = dVar52;\n                  }\n                  if (local_250[0x40] < dVar52) {\n                    local_250[0x40] = dVar52;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pfVar17 = pfVar17 + 1;\n              } while (piVar9 != piVar32 + iVar40 * 3);\n            }\n            iVar3 = iVar3 + 1;\n            pfVar8 = pfVar8 + iVar40;\n            iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n          } while (iVar3 != unaff_s6);\n        }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "piVar32 = *(int **)(unaff_s1 + 0x2d0);" (assignment_expression "piVar32 = *(int **)(unaff_s1 + 0x2d0)" identifier = (pointer_expression "*(int **)(unaff_s1 + 0x2d0)" * (cast_expression "(int **)(unaff_s1 + 0x2d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_s1 + 0x2d0)" ( (binary_expression "unaff_s1 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "dVar54 = *(double *)(puVar42 + 0x1440);" (assignment_expression "dVar54 = *(double *)(puVar42 + 0x1440)" identifier = (pointer_expression "*(double *)(puVar42 + 0x1440)" * (cast_expression "(double *)(puVar42 + 0x1440)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar42 + 0x1440)" ( (binary_expression "puVar42 + 0x1440" identifier + number_literal) ))))) ;) (expression_statement "iVar38 = piVar32[0x13];" (assignment_expression "iVar38 = piVar32[0x13]" identifier = (subscript_expression "piVar32[0x13]" identifier [ number_literal ])) ;) (expression_statement "fVar51 = *(float *)(PTR_LAB_003a88e0 + 0x3708);" (assignment_expression "fVar51 = *(float *)(PTR_LAB_003a88e0 + 0x3708)" identifier = (pointer_expression "*(float *)(PTR_LAB_003a88e0 + 0x3708)" * (cast_expression "(float *)(PTR_LAB_003a88e0 + 0x3708)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x3708)" ( (binary_expression "PTR_LAB_003a88e0 + 0x3708" identifier + number_literal) ))))) ;) (expression_statement "dVar55 = *(double *)(puVar42 + 0x1438);" (assignment_expression "dVar55 = *(double *)(puVar42 + 0x1438)" identifier = (pointer_expression "*(double *)(puVar42 + 0x1438)" * (cast_expression "(double *)(puVar42 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar42 + 0x1438)" ( (binary_expression "puVar42 + 0x1438" identifier + number_literal) ))))) ;) (do_statement "do {\n            while (((iVar38 != 0 && (pfVar8[piVar32[0x14]] <= fVar51)) ||\n                   ((iVar24 = *(int *)(unaff_s7 + 0x2d0), *(int *)(iVar24 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4) <= fVar51))))) {\n              iVar3 = iVar3 + 1;\n              pfVar8 = pfVar8 + *(int *)(unaff_s1 + 0x2c0);\n              iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n              if (iVar3 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar32[0xd] == 0) {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = dVar55;\n            }\n            else {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = (double)pfVar8[piVar32[0xe]] * dVar54;\n            }\n            dVar50 = in_f24_25;\n            if (iVar40 != 0) {\n              dVar50 = (double)*(float *)(iVar2 + *(int *)(iVar24 + 0x38) * 4) * dVar54;\n            }\n            iVar40 = *(int *)(unaff_s1 + 0x2c0);\n            if (0 < iVar40) {\n              piVar9 = piVar32;\n              pdVar10 = unaff_s0;\n              pfVar17 = pfVar8;\n              do {\n                iVar43 = *piVar9;\n                iVar15 = iVar24 + iVar43 * 0xc;\n                if (((piVar32[iVar43 * 3 + 1] != 0) && (uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0)\n                    ) && ((uVar26 & 2) != 0)) {\n                  dVar52 = (double)*(float *)(iVar2 + *(int *)(iVar15 + 8) * 4);\n                  if (iVar43 == 4) {\n                    dVar52 = ABS((double)*pfVar17 - dVar52) * in_f22_23;\n                  }\n                  else {\n                    dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar52) {\n                    *pdVar10 = dVar52;\n                  }\n                  if (local_250[0x40] < dVar52) {\n                    local_250[0x40] = dVar52;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pfVar17 = pfVar17 + 1;\n              } while (piVar9 != piVar32 + iVar40 * 3);\n            }\n            iVar3 = iVar3 + 1;\n            pfVar8 = pfVar8 + iVar40;\n            iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n          } while (iVar3 != unaff_s6);" do (compound_statement "{\n            while (((iVar38 != 0 && (pfVar8[piVar32[0x14]] <= fVar51)) ||\n                   ((iVar24 = *(int *)(unaff_s7 + 0x2d0), *(int *)(iVar24 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4) <= fVar51))))) {\n              iVar3 = iVar3 + 1;\n              pfVar8 = pfVar8 + *(int *)(unaff_s1 + 0x2c0);\n              iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n              if (iVar3 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar32[0xd] == 0) {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = dVar55;\n            }\n            else {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = (double)pfVar8[piVar32[0xe]] * dVar54;\n            }\n            dVar50 = in_f24_25;\n            if (iVar40 != 0) {\n              dVar50 = (double)*(float *)(iVar2 + *(int *)(iVar24 + 0x38) * 4) * dVar54;\n            }\n            iVar40 = *(int *)(unaff_s1 + 0x2c0);\n            if (0 < iVar40) {\n              piVar9 = piVar32;\n              pdVar10 = unaff_s0;\n              pfVar17 = pfVar8;\n              do {\n                iVar43 = *piVar9;\n                iVar15 = iVar24 + iVar43 * 0xc;\n                if (((piVar32[iVar43 * 3 + 1] != 0) && (uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0)\n                    ) && ((uVar26 & 2) != 0)) {\n                  dVar52 = (double)*(float *)(iVar2 + *(int *)(iVar15 + 8) * 4);\n                  if (iVar43 == 4) {\n                    dVar52 = ABS((double)*pfVar17 - dVar52) * in_f22_23;\n                  }\n                  else {\n                    dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar52) {\n                    *pdVar10 = dVar52;\n                  }\n                  if (local_250[0x40] < dVar52) {\n                    local_250[0x40] = dVar52;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pfVar17 = pfVar17 + 1;\n              } while (piVar9 != piVar32 + iVar40 * 3);\n            }\n            iVar3 = iVar3 + 1;\n            pfVar8 = pfVar8 + iVar40;\n            iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n          }" { (while_statement "while (((iVar38 != 0 && (pfVar8[piVar32[0x14]] <= fVar51)) ||\n                   ((iVar24 = *(int *)(unaff_s7 + 0x2d0), *(int *)(iVar24 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4) <= fVar51))))) {\n              iVar3 = iVar3 + 1;\n              pfVar8 = pfVar8 + *(int *)(unaff_s1 + 0x2c0);\n              iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n              if (iVar3 == unaff_s6) goto LAB_00073140;\n            }" while (parenthesized_expression "(((iVar38 != 0 && (pfVar8[piVar32[0x14]] <= fVar51)) ||\n                   ((iVar24 = *(int *)(unaff_s7 + 0x2d0), *(int *)(iVar24 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4) <= fVar51)))))" ( (parenthesized_expression "((iVar38 != 0 && (pfVar8[piVar32[0x14]] <= fVar51)) ||\n                   ((iVar24 = *(int *)(unaff_s7 + 0x2d0), *(int *)(iVar24 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4) <= fVar51))))" ( (binary_expression "(iVar38 != 0 && (pfVar8[piVar32[0x14]] <= fVar51)) ||\n                   ((iVar24 = *(int *)(unaff_s7 + 0x2d0), *(int *)(iVar24 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4) <= fVar51)))" (parenthesized_expression "(iVar38 != 0 && (pfVar8[piVar32[0x14]] <= fVar51))" ( (binary_expression "iVar38 != 0 && (pfVar8[piVar32[0x14]] <= fVar51)" (binary_expression "iVar38 != 0" identifier != number_literal) && (parenthesized_expression "(pfVar8[piVar32[0x14]] <= fVar51)" ( (binary_expression "pfVar8[piVar32[0x14]] <= fVar51" (subscript_expression "pfVar8[piVar32[0x14]]" identifier [ (subscript_expression "piVar32[0x14]" identifier [ number_literal ]) ]) <= identifier) ))) )) || (parenthesized_expression "((iVar24 = *(int *)(unaff_s7 + 0x2d0), *(int *)(iVar24 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4) <= fVar51)))" ( (parenthesized_expression "(iVar24 = *(int *)(unaff_s7 + 0x2d0), *(int *)(iVar24 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4) <= fVar51))" ( (comma_expression "iVar24 = *(int *)(unaff_s7 + 0x2d0), *(int *)(iVar24 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4) <= fVar51)" (assignment_expression "iVar24 = *(int *)(unaff_s7 + 0x2d0)" identifier = (pointer_expression "*(int *)(unaff_s7 + 0x2d0)" * (cast_expression "(int *)(unaff_s7 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + 0x2d0)" ( (binary_expression "unaff_s7 + 0x2d0" identifier + number_literal) ))))) , (binary_expression "*(int *)(iVar24 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4) <= fVar51)" (binary_expression "*(int *)(iVar24 + 0x4c) != 0" (pointer_expression "*(int *)(iVar24 + 0x4c)" * (cast_expression "(int *)(iVar24 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x4c)" ( (binary_expression "iVar24 + 0x4c" identifier + number_literal) )))) != number_literal) && (parenthesized_expression "(*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4) <= fVar51)" ( (binary_expression "*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4) <= fVar51" (pointer_expression "*(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4)" * (cast_expression "(float *)(iVar2 + *(int *)(iVar24 + 0x50) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + *(int *)(iVar24 + 0x50) * 4)" ( (binary_expression "iVar2 + *(int *)(iVar24 + 0x50) * 4" identifier + (binary_expression "*(int *)(iVar24 + 0x50) * 4" (pointer_expression "*(int *)(iVar24 + 0x50)" * (cast_expression "(int *)(iVar24 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x50)" ( (binary_expression "iVar24 + 0x50" identifier + number_literal) )))) * number_literal)) )))) <= identifier) )))) )) ))) )) )) (compound_statement "{\n              iVar3 = iVar3 + 1;\n              pfVar8 = pfVar8 + *(int *)(unaff_s1 + 0x2c0);\n              iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;\n              if (iVar3 == unaff_s6) goto LAB_00073140;\n            }" { (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "pfVar8 = pfVar8 + *(int *)(unaff_s1 + 0x2c0);" (assignment_expression "pfVar8 = pfVar8 + *(int *)(unaff_s1 + 0x2c0)" identifier = (binary_expression "pfVar8 + *(int *)(unaff_s1 + 0x2c0)" identifier + (pointer_expression "*(int *)(unaff_s1 + 0x2c0)" * (cast_expression "(int *)(unaff_s1 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2c0)" ( (binary_expression "unaff_s1 + 0x2c0" identifier + number_literal) )))))) ;) (expression_statement "iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;" (assignment_expression "iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4" identifier = (binary_expression "iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(unaff_s7 + 0x2c0) * 4" (pointer_expression "*(int *)(unaff_s7 + 0x2c0)" * (cast_expression "(int *)(unaff_s7 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + 0x2c0)" ( (binary_expression "unaff_s7 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (if_statement "if (iVar3 == unaff_s6) goto LAB_00073140;" if (parenthesized_expression "(iVar3 == unaff_s6)" ( (binary_expression "iVar3 == unaff_s6" identifier == identifier) )) (goto_statement "goto LAB_00073140;" goto statement_identifier ;)) })) (if_statement "if (piVar32[0xd] == 0) {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = dVar55;\n            }\n            else {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = (double)pfVar8[piVar32[0xe]] * dVar54;\n            }" if (parenthesized_expression "(piVar32[0xd] == 0)" ( (binary_expression "piVar32[0xd] == 0" (subscript_expression "piVar32[0xd]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = dVar55;\n            }" { (expression_statement "iVar40 = *(int *)(iVar24 + 0x34);" (assignment_expression "iVar40 = *(int *)(iVar24 + 0x34)" identifier = (pointer_expression "*(int *)(iVar24 + 0x34)" * (cast_expression "(int *)(iVar24 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x34)" ( (binary_expression "iVar24 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "dVar58 = dVar55;" (assignment_expression "dVar58 = dVar55" identifier = identifier) ;) }) (else_clause "else {\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = (double)pfVar8[piVar32[0xe]] * dVar54;\n            }" else (compound_statement "{\n              iVar40 = *(int *)(iVar24 + 0x34);\n              dVar58 = (double)pfVar8[piVar32[0xe]] * dVar54;\n            }" { (expression_statement "iVar40 = *(int *)(iVar24 + 0x34);" (assignment_expression "iVar40 = *(int *)(iVar24 + 0x34)" identifier = (pointer_expression "*(int *)(iVar24 + 0x34)" * (cast_expression "(int *)(iVar24 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x34)" ( (binary_expression "iVar24 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "dVar58 = (double)pfVar8[piVar32[0xe]] * dVar54;" (assignment_expression "dVar58 = (double)pfVar8[piVar32[0xe]] * dVar54" identifier = (binary_expression "(double)pfVar8[piVar32[0xe]] * dVar54" (cast_expression "(double)pfVar8[piVar32[0xe]]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "pfVar8[piVar32[0xe]]" identifier [ (subscript_expression "piVar32[0xe]" identifier [ number_literal ]) ])) * identifier)) ;) }))) (expression_statement "dVar50 = in_f24_25;" (assignment_expression "dVar50 = in_f24_25" identifier = identifier) ;) (if_statement "if (iVar40 != 0) {\n              dVar50 = (double)*(float *)(iVar2 + *(int *)(iVar24 + 0x38) * 4) * dVar54;\n            }" if (parenthesized_expression "(iVar40 != 0)" ( (binary_expression "iVar40 != 0" identifier != number_literal) )) (compound_statement "{\n              dVar50 = (double)*(float *)(iVar2 + *(int *)(iVar24 + 0x38) * 4) * dVar54;\n            }" { (expression_statement "dVar50 = (double)*(float *)(iVar2 + *(int *)(iVar24 + 0x38) * 4) * dVar54;" (assignment_expression "dVar50 = (double)*(float *)(iVar2 + *(int *)(iVar24 + 0x38) * 4) * dVar54" identifier = (binary_expression "(double)*(float *)(iVar2 + *(int *)(iVar24 + 0x38) * 4) * dVar54" (cast_expression "(double)*(float *)(iVar2 + *(int *)(iVar24 + 0x38) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar2 + *(int *)(iVar24 + 0x38) * 4)" * (cast_expression "(float *)(iVar2 + *(int *)(iVar24 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + *(int *)(iVar24 + 0x38) * 4)" ( (binary_expression "iVar2 + *(int *)(iVar24 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar24 + 0x38) * 4" (pointer_expression "*(int *)(iVar24 + 0x38)" * (cast_expression "(int *)(iVar24 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x38)" ( (binary_expression "iVar24 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) * identifier)) ;) })) (expression_statement "iVar40 = *(int *)(unaff_s1 + 0x2c0);" (assignment_expression "iVar40 = *(int *)(unaff_s1 + 0x2c0)" identifier = (pointer_expression "*(int *)(unaff_s1 + 0x2c0)" * (cast_expression "(int *)(unaff_s1 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s1 + 0x2c0)" ( (binary_expression "unaff_s1 + 0x2c0" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar40) {\n              piVar9 = piVar32;\n              pdVar10 = unaff_s0;\n              pfVar17 = pfVar8;\n              do {\n                iVar43 = *piVar9;\n                iVar15 = iVar24 + iVar43 * 0xc;\n                if (((piVar32[iVar43 * 3 + 1] != 0) && (uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0)\n                    ) && ((uVar26 & 2) != 0)) {\n                  dVar52 = (double)*(float *)(iVar2 + *(int *)(iVar15 + 8) * 4);\n                  if (iVar43 == 4) {\n                    dVar52 = ABS((double)*pfVar17 - dVar52) * in_f22_23;\n                  }\n                  else {\n                    dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar52) {\n                    *pdVar10 = dVar52;\n                  }\n                  if (local_250[0x40] < dVar52) {\n                    local_250[0x40] = dVar52;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pfVar17 = pfVar17 + 1;\n              } while (piVar9 != piVar32 + iVar40 * 3);\n            }" if (parenthesized_expression "(0 < iVar40)" ( (binary_expression "0 < iVar40" number_literal < identifier) )) (compound_statement "{\n              piVar9 = piVar32;\n              pdVar10 = unaff_s0;\n              pfVar17 = pfVar8;\n              do {\n                iVar43 = *piVar9;\n                iVar15 = iVar24 + iVar43 * 0xc;\n                if (((piVar32[iVar43 * 3 + 1] != 0) && (uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0)\n                    ) && ((uVar26 & 2) != 0)) {\n                  dVar52 = (double)*(float *)(iVar2 + *(int *)(iVar15 + 8) * 4);\n                  if (iVar43 == 4) {\n                    dVar52 = ABS((double)*pfVar17 - dVar52) * in_f22_23;\n                  }\n                  else {\n                    dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar52) {\n                    *pdVar10 = dVar52;\n                  }\n                  if (local_250[0x40] < dVar52) {\n                    local_250[0x40] = dVar52;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pfVar17 = pfVar17 + 1;\n              } while (piVar9 != piVar32 + iVar40 * 3);\n            }" { (expression_statement "piVar9 = piVar32;" (assignment_expression "piVar9 = piVar32" identifier = identifier) ;) (expression_statement "pdVar10 = unaff_s0;" (assignment_expression "pdVar10 = unaff_s0" identifier = identifier) ;) (expression_statement "pfVar17 = pfVar8;" (assignment_expression "pfVar17 = pfVar8" identifier = identifier) ;) (do_statement "do {\n                iVar43 = *piVar9;\n                iVar15 = iVar24 + iVar43 * 0xc;\n                if (((piVar32[iVar43 * 3 + 1] != 0) && (uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0)\n                    ) && ((uVar26 & 2) != 0)) {\n                  dVar52 = (double)*(float *)(iVar2 + *(int *)(iVar15 + 8) * 4);\n                  if (iVar43 == 4) {\n                    dVar52 = ABS((double)*pfVar17 - dVar52) * in_f22_23;\n                  }\n                  else {\n                    dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar52) {\n                    *pdVar10 = dVar52;\n                  }\n                  if (local_250[0x40] < dVar52) {\n                    local_250[0x40] = dVar52;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pfVar17 = pfVar17 + 1;\n              } while (piVar9 != piVar32 + iVar40 * 3);" do (compound_statement "{\n                iVar43 = *piVar9;\n                iVar15 = iVar24 + iVar43 * 0xc;\n                if (((piVar32[iVar43 * 3 + 1] != 0) && (uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0)\n                    ) && ((uVar26 & 2) != 0)) {\n                  dVar52 = (double)*(float *)(iVar2 + *(int *)(iVar15 + 8) * 4);\n                  if (iVar43 == 4) {\n                    dVar52 = ABS((double)*pfVar17 - dVar52) * in_f22_23;\n                  }\n                  else {\n                    dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar52) {\n                    *pdVar10 = dVar52;\n                  }\n                  if (local_250[0x40] < dVar52) {\n                    local_250[0x40] = dVar52;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pfVar17 = pfVar17 + 1;\n              }" { (expression_statement "iVar43 = *piVar9;" (assignment_expression "iVar43 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "iVar15 = iVar24 + iVar43 * 0xc;" (assignment_expression "iVar15 = iVar24 + iVar43 * 0xc" identifier = (binary_expression "iVar24 + iVar43 * 0xc" identifier + (binary_expression "iVar43 * 0xc" identifier * number_literal))) ;) (if_statement "if (((piVar32[iVar43 * 3 + 1] != 0) && (uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0)\n                    ) && ((uVar26 & 2) != 0)) {\n                  dVar52 = (double)*(float *)(iVar2 + *(int *)(iVar15 + 8) * 4);\n                  if (iVar43 == 4) {\n                    dVar52 = ABS((double)*pfVar17 - dVar52) * in_f22_23;\n                  }\n                  else {\n                    dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar52) {\n                    *pdVar10 = dVar52;\n                  }\n                  if (local_250[0x40] < dVar52) {\n                    local_250[0x40] = dVar52;\n                  }\n                }" if (parenthesized_expression "(((piVar32[iVar43 * 3 + 1] != 0) && (uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0)\n                    ) && ((uVar26 & 2) != 0))" ( (binary_expression "((piVar32[iVar43 * 3 + 1] != 0) && (uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0)\n                    ) && ((uVar26 & 2) != 0)" (parenthesized_expression "((piVar32[iVar43 * 3 + 1] != 0) && (uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0)\n                    )" ( (binary_expression "(piVar32[iVar43 * 3 + 1] != 0) && (uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0)" (parenthesized_expression "(piVar32[iVar43 * 3 + 1] != 0)" ( (binary_expression "piVar32[iVar43 * 3 + 1] != 0" (subscript_expression "piVar32[iVar43 * 3 + 1]" identifier [ (binary_expression "iVar43 * 3 + 1" (binary_expression "iVar43 * 3" identifier * number_literal) + number_literal) ]) != number_literal) )) && (parenthesized_expression "(uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0)" ( (comma_expression "uVar26 = *(uint *)(iVar15 + 4), uVar26 != 0" (assignment_expression "uVar26 = *(uint *)(iVar15 + 4)" identifier = (pointer_expression "*(uint *)(iVar15 + 4)" * (cast_expression "(uint *)(iVar15 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 4)" ( (binary_expression "iVar15 + 4" identifier + number_literal) ))))) , (binary_expression "uVar26 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "((uVar26 & 2) != 0)" ( (binary_expression "(uVar26 & 2) != 0" (parenthesized_expression "(uVar26 & 2)" ( (binary_expression "uVar26 & 2" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                  dVar52 = (double)*(float *)(iVar2 + *(int *)(iVar15 + 8) * 4);\n                  if (iVar43 == 4) {\n                    dVar52 = ABS((double)*pfVar17 - dVar52) * in_f22_23;\n                  }\n                  else {\n                    dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar52) {\n                    *pdVar10 = dVar52;\n                  }\n                  if (local_250[0x40] < dVar52) {\n                    local_250[0x40] = dVar52;\n                  }\n                }" { (expression_statement "dVar52 = (double)*(float *)(iVar2 + *(int *)(iVar15 + 8) * 4);" (assignment_expression "dVar52 = (double)*(float *)(iVar2 + *(int *)(iVar15 + 8) * 4)" identifier = (cast_expression "(double)*(float *)(iVar2 + *(int *)(iVar15 + 8) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar2 + *(int *)(iVar15 + 8) * 4)" * (cast_expression "(float *)(iVar2 + *(int *)(iVar15 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + *(int *)(iVar15 + 8) * 4)" ( (binary_expression "iVar2 + *(int *)(iVar15 + 8) * 4" identifier + (binary_expression "*(int *)(iVar15 + 8) * 4" (pointer_expression "*(int *)(iVar15 + 8)" * (cast_expression "(int *)(iVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 8)" ( (binary_expression "iVar15 + 8" identifier + number_literal) )))) * number_literal)) )))))) ;) (if_statement "if (iVar43 == 4) {\n                    dVar52 = ABS((double)*pfVar17 - dVar52) * in_f22_23;\n                  }\n                  else {\n                    dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21;\n                  }" if (parenthesized_expression "(iVar43 == 4)" ( (binary_expression "iVar43 == 4" identifier == number_literal) )) (compound_statement "{\n                    dVar52 = ABS((double)*pfVar17 - dVar52) * in_f22_23;\n                  }" { (expression_statement "dVar52 = ABS((double)*pfVar17 - dVar52) * in_f22_23;" (assignment_expression "dVar52 = ABS((double)*pfVar17 - dVar52) * in_f22_23" identifier = (binary_expression "ABS((double)*pfVar17 - dVar52) * in_f22_23" (call_expression "ABS((double)*pfVar17 - dVar52)" identifier (argument_list "((double)*pfVar17 - dVar52)" ( (binary_expression "(double)*pfVar17 - dVar52" (cast_expression "(double)*pfVar17" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*pfVar17" * identifier)) - identifier) ))) * identifier)) ;) }) (else_clause "else {\n                    dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21;\n                  }" else (compound_statement "{\n                    dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21;\n                  }" { (expression_statement "dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21;" (assignment_expression "dVar52 = ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21" identifier = (binary_expression "ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52) * in_f20_21" (call_expression "ABS(dVar58 * (double)*pfVar17 - dVar50 * dVar52)" identifier (argument_list "(dVar58 * (double)*pfVar17 - dVar50 * dVar52)" ( (binary_expression "dVar58 * (double)*pfVar17 - dVar50 * dVar52" (binary_expression "dVar58 * (double)*pfVar17" identifier * (cast_expression "(double)*pfVar17" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*pfVar17" * identifier))) - (binary_expression "dVar50 * dVar52" identifier * identifier)) ))) * identifier)) ;) }))) (if_statement "if (*pdVar10 < dVar52) {\n                    *pdVar10 = dVar52;\n                  }" if (parenthesized_expression "(*pdVar10 < dVar52)" ( (binary_expression "*pdVar10 < dVar52" (pointer_expression "*pdVar10" * identifier) < identifier) )) (compound_statement "{\n                    *pdVar10 = dVar52;\n                  }" { (expression_statement "*pdVar10 = dVar52;" (assignment_expression "*pdVar10 = dVar52" (pointer_expression "*pdVar10" * identifier) = identifier) ;) })) (if_statement "if (local_250[0x40] < dVar52) {\n                    local_250[0x40] = dVar52;\n                  }" if (parenthesized_expression "(local_250[0x40] < dVar52)" ( (binary_expression "local_250[0x40] < dVar52" (subscript_expression "local_250[0x40]" identifier [ number_literal ]) < identifier) )) (compound_statement "{\n                    local_250[0x40] = dVar52;\n                  }" { (expression_statement "local_250[0x40] = dVar52;" (assignment_expression "local_250[0x40] = dVar52" (subscript_expression "local_250[0x40]" identifier [ number_literal ]) = identifier) ;) })) })) (expression_statement "piVar9 = piVar9 + 3;" (assignment_expression "piVar9 = piVar9 + 3" identifier = (binary_expression "piVar9 + 3" identifier + number_literal)) ;) (expression_statement "pdVar10 = pdVar10 + 1;" (assignment_expression "pdVar10 = pdVar10 + 1" identifier = (binary_expression "pdVar10 + 1" identifier + number_literal)) ;) (expression_statement "pfVar17 = pfVar17 + 1;" (assignment_expression "pfVar17 = pfVar17 + 1" identifier = (binary_expression "pfVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar9 != piVar32 + iVar40 * 3)" ( (binary_expression "piVar9 != piVar32 + iVar40 * 3" identifier != (binary_expression "piVar32 + iVar40 * 3" identifier + (binary_expression "iVar40 * 3" identifier * number_literal))) )) ;) })) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "pfVar8 = pfVar8 + iVar40;" (assignment_expression "pfVar8 = pfVar8 + iVar40" identifier = (binary_expression "pfVar8 + iVar40" identifier + identifier)) ;) (expression_statement "iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4;" (assignment_expression "iVar2 = iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4" identifier = (binary_expression "iVar2 + *(int *)(unaff_s7 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(unaff_s7 + 0x2c0) * 4" (pointer_expression "*(int *)(unaff_s7 + 0x2c0)" * (cast_expression "(int *)(unaff_s7 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + 0x2c0)" ( (binary_expression "unaff_s7 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) }) while (parenthesized_expression "(iVar3 != unaff_s6)" ( (binary_expression "iVar3 != unaff_s6" identifier != identifier) )) ;) })) (labeled_statement "LAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);" statement_identifier : (expression_statement "(*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);" (call_expression "(*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644)" (parenthesized_expression "(*(code *)PTR_GOMP_critical_name_start_003a9734)" ( (pointer_expression "*(code *)PTR_GOMP_critical_name_start_003a9734" * (cast_expression "(code *)PTR_GOMP_critical_name_start_003a9734" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644)" ( identifier ))) ;)) (expression_statement "pdVar10 = pdVar7;" (assignment_expression "pdVar10 = pdVar7" identifier = identifier) ;) (do_statement "do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);" do (compound_statement "{\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        }" { (if_statement "if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }" if (parenthesized_expression "(*pdVar10 < *unaff_s0)" ( (binary_expression "*pdVar10 < *unaff_s0" (pointer_expression "*pdVar10" * identifier) < (pointer_expression "*unaff_s0" * identifier)) )) (compound_statement "{\n            *pdVar10 = *unaff_s0;\n          }" { (expression_statement "*pdVar10 = *unaff_s0;" (assignment_expression "*pdVar10 = *unaff_s0" (pointer_expression "*pdVar10" * identifier) = (pointer_expression "*unaff_s0" * identifier)) ;) })) (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (expression_statement "pdVar10 = pdVar10 + 1;" (assignment_expression "pdVar10 = pdVar10 + 1" identifier = (binary_expression "pdVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((double *)&uStack_48 != unaff_s0)" ( (binary_expression "(double *)&uStack_48 != unaff_s0" (cast_expression "(double *)&uStack_48" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_48" & identifier)) != identifier) )) ;) (expression_statement "pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;" (assignment_expression "pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644" identifier = (cast_expression "(double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(*(code *)PTR_GOMP_critical_name_end_003a93ac)();" (call_expression "(*(code *)PTR_GOMP_critical_name_end_003a93ac)()" (parenthesized_expression "(*(code *)PTR_GOMP_critical_name_end_003a93ac)" ( (pointer_expression "*(code *)PTR_GOMP_critical_name_end_003a93ac" * (cast_expression "(code *)PTR_GOMP_critical_name_end_003a93ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00073194;" goto statement_identifier ;) })) (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 "*(undefined4 *)((int)this + 0x20) = 0;" (assignment_expression "*(undefined4 *)((int)this + 0x20) = 0" (pointer_expression "*(undefined4 *)((int)this + 0x20)" * (cast_expression "(undefined4 *)((int)this + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)this + 0x20)" ( (binary_expression "(int)this + 0x20" (cast_expression "(int)this" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }) while (parenthesized_expression "(iVar60 != unaff_s5)" ( (binary_expression "iVar60 != unaff_s5" identifier != identifier) )) ;) })) (labeled_statement "LAB_000731a4:\n  if (uStack_48._4_4_ == *(int *)puVar1) {\n    return;\n  }" statement_identifier : (if_statement "if (uStack_48._4_4_ == *(int *)puVar1) {\n    return;\n  }" if (parenthesized_expression "(uStack_48._4_4_ == *(int *)puVar1)" ( (binary_expression "uStack_48._4_4_ == *(int *)puVar1" (field_expression "uStack_48._4_4_" identifier . field_identifier) == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "pcVar46 = GetStructuralSimilarityDistortion__omp_fn_7;" (assignment_expression "pcVar46 = GetStructuralSimilarityDistortion__omp_fn_7" identifier = identifier) ;) (expression_statement "puVar42 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar42 = PTR___stack_chk_fail_003a9064" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "piVar32 = *(int **)(puVar42 + 0x335fec);" (assignment_expression "piVar32 = *(int **)(puVar42 + 0x335fec)" identifier = (pointer_expression "*(int **)(puVar42 + 0x335fec)" * (cast_expression "(int **)(puVar42 + 0x335fec)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x335fec)" ( (binary_expression "puVar42 + 0x335fec" identifier + number_literal) ))))) ;) (expression_statement "iStack_2e4 = *piVar32;" (assignment_expression "iStack_2e4 = *piVar32" identifier = (pointer_expression "*piVar32" * identifier)) ;) (expression_statement "pdStack_2e0 = unaff_s0;" (assignment_expression "pdStack_2e0 = unaff_s0" identifier = identifier) ;) (expression_statement "iStack_2dc = unaff_s1;" (assignment_expression "iStack_2dc = unaff_s1" identifier = identifier) ;) (expression_statement "pvStack_2d8 = unaff_s2;" (assignment_expression "pvStack_2d8 = unaff_s2" identifier = identifier) ;) (expression_statement "iStack_2d4 = iVar2;" (assignment_expression "iStack_2d4 = iVar2" identifier = identifier) ;) (expression_statement "pfStack_2d0 = pfVar8;" (assignment_expression "pfStack_2d0 = pfVar8" identifier = identifier) ;) (expression_statement "iStack_2cc = unaff_s5;" (assignment_expression "iStack_2cc = unaff_s5" identifier = identifier) ;) (expression_statement "iStack_2c8 = unaff_s6;" (assignment_expression "iStack_2c8 = unaff_s6" identifier = identifier) ;) (expression_statement "iStack_2c4 = unaff_s7;" (assignment_expression "iStack_2c4 = unaff_s7" identifier = identifier) ;) (expression_statement "iStack_2c0 = iVar60;" (assignment_expression "iStack_2c0 = iVar60" identifier = identifier) ;) (expression_statement "pcStack_2bc = pcVar46;" (assignment_expression "pcStack_2bc = pcVar46" identifier = identifier) ;) (expression_statement "dStack_2b8 = in_f20_21;" (assignment_expression "dStack_2b8 = in_f20_21" identifier = identifier) ;) (expression_statement "dStack_2b0 = in_f22_23;" (assignment_expression "dStack_2b0 = in_f22_23" identifier = identifier) ;) (expression_statement "dStack_2a8 = in_f24_25;" (assignment_expression "dStack_2a8 = in_f24_25" identifier = identifier) ;) (expression_statement "iVar3 = (**(code **)(puVar42 + 0x3366c8))();" (assignment_expression "iVar3 = (**(code **)(puVar42 + 0x3366c8))()" identifier = (call_expression "(**(code **)(puVar42 + 0x3366c8))()" (parenthesized_expression "(**(code **)(puVar42 + 0x3366c8))" ( (pointer_expression "**(code **)(puVar42 + 0x3366c8)" * (pointer_expression "*(code **)(puVar42 + 0x3366c8)" * (cast_expression "(code **)(puVar42 + 0x3366c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x3366c8)" ( (binary_expression "puVar42 + 0x3366c8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar2 = (**(code **)(puVar42 + 0x3362c4))();" (assignment_expression "iVar2 = (**(code **)(puVar42 + 0x3362c4))()" identifier = (call_expression "(**(code **)(puVar42 + 0x3362c4))()" (parenthesized_expression "(**(code **)(puVar42 + 0x3362c4))" ( (pointer_expression "**(code **)(puVar42 + 0x3362c4)" * (pointer_expression "*(code **)(puVar42 + 0x3362c4)" * (cast_expression "(code **)(puVar42 + 0x3362c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x3362c4)" ( (binary_expression "puVar42 + 0x3362c4" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    trap(7);\n  }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "iVar60 = *(int *)(pdVar10 + 6) / iVar3;" (assignment_expression "iVar60 = *(int *)(pdVar10 + 6) / iVar3" identifier = (binary_expression "*(int *)(pdVar10 + 6) / iVar3" (pointer_expression "*(int *)(pdVar10 + 6)" * (cast_expression "(int *)(pdVar10 + 6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar10 + 6)" ( (binary_expression "pdVar10 + 6" identifier + number_literal) )))) / identifier)) ;) (expression_statement "pdVar4 = (double *)(*(int *)(pdVar10 + 6) % iVar3);" (assignment_expression "pdVar4 = (double *)(*(int *)(pdVar10 + 6) % iVar3)" identifier = (cast_expression "(double *)(*(int *)(pdVar10 + 6) % iVar3)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pdVar10 + 6) % iVar3)" ( (binary_expression "*(int *)(pdVar10 + 6) % iVar3" (pointer_expression "*(int *)(pdVar10 + 6)" * (cast_expression "(int *)(pdVar10 + 6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar10 + 6)" ( (binary_expression "pdVar10 + 6" identifier + number_literal) )))) % identifier) )))) ;) (if_statement "if (iVar2 < (int)pdVar4) {\n    iVar60 = iVar60 + 1;\n    pdVar4 = (double *)0x0;\n  }" if (parenthesized_expression "(iVar2 < (int)pdVar4)" ( (binary_expression "iVar2 < (int)pdVar4" identifier < (cast_expression "(int)pdVar4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    iVar60 = iVar60 + 1;\n    pdVar4 = (double *)0x0;\n  }" { (expression_statement "iVar60 = iVar60 + 1;" (assignment_expression "iVar60 = iVar60 + 1" identifier = (binary_expression "iVar60 + 1" identifier + number_literal)) ;) (expression_statement "pdVar4 = (double *)0x0;" (assignment_expression "pdVar4 = (double *)0x0" identifier = (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "pdStack_f48 = (double *)(iVar60 * iVar2 + (int)pdVar4);" (assignment_expression "pdStack_f48 = (double *)(iVar60 * iVar2 + (int)pdVar4)" identifier = (cast_expression "(double *)(iVar60 * iVar2 + (int)pdVar4)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar60 * iVar2 + (int)pdVar4)" ( (binary_expression "iVar60 * iVar2 + (int)pdVar4" (binary_expression "iVar60 * iVar2" identifier * identifier) + (cast_expression "(int)pdVar4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pdVar7 = (double *)(iVar60 + (int)pdStack_f48);" (assignment_expression "pdVar7 = (double *)(iVar60 + (int)pdStack_f48)" identifier = (cast_expression "(double *)(iVar60 + (int)pdStack_f48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar60 + (int)pdStack_f48)" ( (binary_expression "iVar60 + (int)pdStack_f48" identifier + (cast_expression "(int)pdStack_f48" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((int)pdStack_f48 < (int)pdVar7) {\n    dVar55 = pdVar10[1];\n    iVar3 = *(int *)(pdVar10 + 5);\n    pdVar18 = *(double **)((int)pdVar10 + 0x2c);\n    dVar54 = *pdVar10;\n    dVar58 = *(double *)(*(int *)(puVar42 + 0x33569c) + 0x1440);\n    pdVar11 = *(double **)((int)pdVar10 + 0x24);\n    uVar5 = *(undefined4 *)(pdVar10 + 4);\n    uVar6 = *(undefined4 *)((int)pdVar10 + 0x1c);\n    pdVar12 = *(double **)(pdVar10 + 3);\n    iVar2 = *(int *)((int)pdVar10 + 0x14);\n    iVar60 = *(int *)(pdVar10 + 2);\n    pdVar4 = pdVar18;\n    do {\n      if (*(int *)((int)pdVar10 + 0x34) != 0) {\n        pfStack_f50 = (float *)(**(code **)(puVar42 + 0x336418))\n                                         (uVar5,-(*(int *)(iVar3 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                          (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),\n                                          uVar6);\n        pdVar4 = pdVar11;\n        iStack_f54 = (**(code **)(puVar42 + 0x336418))\n                               (pdVar11,-(*(int *)(iVar3 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),uVar6);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(undefined4 *)((int)pdVar10 + 0x34) = 0;\n        }\n        else {\n          (**(code **)(puVar42 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar18) {\n            pdStack_f4c = (double *)0x0;\n            iVar24 = *(int *)(iVar60 + 0x2c0);\n            iVar38 = *(int *)(iVar2 + 0x2c0);\n            iVar40 = iVar38 * 4;\n            pcVar46 = *(code **)(puVar42 + 0x336490);\n            do {\n              (*pcVar46)(adStack_d10,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_4f0,0,0x208);\n              iVar15 = *(int *)(iVar3 + 8);\n              pdStack_f7c = *(double **)(iVar3 + 0x14);\n              if (0 < iVar15) {\n                iVar43 = *(int *)(iVar3 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar8 = pfStack_f50;\n                do {\n                  if (0 < iVar43) {\n                    iVar39 = 0;\n                    pdVar4 = pdStack_f7c;\n                    iVar36 = iStack_f80;\n                    pfVar17 = pfVar8;\n                    do {\n                      if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }\n                      iVar39 = iVar39 + 1;\n                      pdVar4 = pdVar4 + 1;\n                      pfVar17 = pfVar17 + iVar24;\n                      iVar36 = iVar36 + iVar40;\n                    } while (iVar39 != iVar43);\n                    pdStack_f7c = pdStack_f7c + iVar43;\n                    pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4);\n                    iStack_f80 = iStack_f80 + iVar43 * iVar40;\n                  }\n                  pfVar8 = (float *)((int)pfVar8 + iVar24 * (int)pdVar18 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar18 * 4 * iVar38;\n                } while (iStack_f78 != iVar15);\n              }\n              if (0 < iVar24) {\n                piVar25 = *(int **)(iVar60 + 0x2d0);\n                iVar15 = 0;\n                iVar43 = *(int *)(iVar2 + 0x2d0);\n                piVar9 = piVar25;\n                do {\n                  if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)) &&\n                     ((uVar26 & 2) != 0)) {\n                    dVar57 = *(double *)((int)adStack_d10 + iVar15);\n                    dVar50 = *(double *)((int)adStack_6f8 + iVar15);\n                    pdVar4 = (double *)((int)adStack_f18 + iVar15);\n                    dVar52 = dVar57 * dVar50;\n                    dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52;\n                    dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54));\n                    *pdVar4 = *pdVar4 + dVar50;\n                    dStack_d18 = dStack_d18 + dVar50;\n                  }\n                  iVar15 = iVar15 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar15 != iVar24 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar24;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar40;\n              pcVar46 = *(code **)(puVar42 + 0x336490);\n            } while (pdVar18 != pdStack_f4c);\n          }\n          (**(code **)(puVar42 + 0x3364f0))(*(undefined4 *)(puVar42 + 0x3360c4));\n          pdVar4 = adStack_f18;\n          pdVar30 = pdVar12;\n          do {\n            pdVar27 = pdVar4 + 1;\n            *pdVar30 = *pdVar30 + *pdVar4;\n            pdVar4 = pdVar27;\n            pdVar30 = pdVar30 + 1;\n          } while (adStack_d10 != pdVar27);\n          pdVar4 = *(double **)(puVar42 + 0x3360c4);\n          (**(code **)(puVar42 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    } while (pdVar7 != pdStack_f48);\n  }" if (parenthesized_expression "((int)pdStack_f48 < (int)pdVar7)" ( (binary_expression "(int)pdStack_f48 < (int)pdVar7" (cast_expression "(int)pdStack_f48" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pdVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    dVar55 = pdVar10[1];\n    iVar3 = *(int *)(pdVar10 + 5);\n    pdVar18 = *(double **)((int)pdVar10 + 0x2c);\n    dVar54 = *pdVar10;\n    dVar58 = *(double *)(*(int *)(puVar42 + 0x33569c) + 0x1440);\n    pdVar11 = *(double **)((int)pdVar10 + 0x24);\n    uVar5 = *(undefined4 *)(pdVar10 + 4);\n    uVar6 = *(undefined4 *)((int)pdVar10 + 0x1c);\n    pdVar12 = *(double **)(pdVar10 + 3);\n    iVar2 = *(int *)((int)pdVar10 + 0x14);\n    iVar60 = *(int *)(pdVar10 + 2);\n    pdVar4 = pdVar18;\n    do {\n      if (*(int *)((int)pdVar10 + 0x34) != 0) {\n        pfStack_f50 = (float *)(**(code **)(puVar42 + 0x336418))\n                                         (uVar5,-(*(int *)(iVar3 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                          (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),\n                                          uVar6);\n        pdVar4 = pdVar11;\n        iStack_f54 = (**(code **)(puVar42 + 0x336418))\n                               (pdVar11,-(*(int *)(iVar3 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),uVar6);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(undefined4 *)((int)pdVar10 + 0x34) = 0;\n        }\n        else {\n          (**(code **)(puVar42 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar18) {\n            pdStack_f4c = (double *)0x0;\n            iVar24 = *(int *)(iVar60 + 0x2c0);\n            iVar38 = *(int *)(iVar2 + 0x2c0);\n            iVar40 = iVar38 * 4;\n            pcVar46 = *(code **)(puVar42 + 0x336490);\n            do {\n              (*pcVar46)(adStack_d10,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_4f0,0,0x208);\n              iVar15 = *(int *)(iVar3 + 8);\n              pdStack_f7c = *(double **)(iVar3 + 0x14);\n              if (0 < iVar15) {\n                iVar43 = *(int *)(iVar3 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar8 = pfStack_f50;\n                do {\n                  if (0 < iVar43) {\n                    iVar39 = 0;\n                    pdVar4 = pdStack_f7c;\n                    iVar36 = iStack_f80;\n                    pfVar17 = pfVar8;\n                    do {\n                      if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }\n                      iVar39 = iVar39 + 1;\n                      pdVar4 = pdVar4 + 1;\n                      pfVar17 = pfVar17 + iVar24;\n                      iVar36 = iVar36 + iVar40;\n                    } while (iVar39 != iVar43);\n                    pdStack_f7c = pdStack_f7c + iVar43;\n                    pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4);\n                    iStack_f80 = iStack_f80 + iVar43 * iVar40;\n                  }\n                  pfVar8 = (float *)((int)pfVar8 + iVar24 * (int)pdVar18 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar18 * 4 * iVar38;\n                } while (iStack_f78 != iVar15);\n              }\n              if (0 < iVar24) {\n                piVar25 = *(int **)(iVar60 + 0x2d0);\n                iVar15 = 0;\n                iVar43 = *(int *)(iVar2 + 0x2d0);\n                piVar9 = piVar25;\n                do {\n                  if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)) &&\n                     ((uVar26 & 2) != 0)) {\n                    dVar57 = *(double *)((int)adStack_d10 + iVar15);\n                    dVar50 = *(double *)((int)adStack_6f8 + iVar15);\n                    pdVar4 = (double *)((int)adStack_f18 + iVar15);\n                    dVar52 = dVar57 * dVar50;\n                    dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52;\n                    dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54));\n                    *pdVar4 = *pdVar4 + dVar50;\n                    dStack_d18 = dStack_d18 + dVar50;\n                  }\n                  iVar15 = iVar15 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar15 != iVar24 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar24;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar40;\n              pcVar46 = *(code **)(puVar42 + 0x336490);\n            } while (pdVar18 != pdStack_f4c);\n          }\n          (**(code **)(puVar42 + 0x3364f0))(*(undefined4 *)(puVar42 + 0x3360c4));\n          pdVar4 = adStack_f18;\n          pdVar30 = pdVar12;\n          do {\n            pdVar27 = pdVar4 + 1;\n            *pdVar30 = *pdVar30 + *pdVar4;\n            pdVar4 = pdVar27;\n            pdVar30 = pdVar30 + 1;\n          } while (adStack_d10 != pdVar27);\n          pdVar4 = *(double **)(puVar42 + 0x3360c4);\n          (**(code **)(puVar42 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    } while (pdVar7 != pdStack_f48);\n  }" { (expression_statement "dVar55 = pdVar10[1];" (assignment_expression "dVar55 = pdVar10[1]" identifier = (subscript_expression "pdVar10[1]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = *(int *)(pdVar10 + 5);" (assignment_expression "iVar3 = *(int *)(pdVar10 + 5)" identifier = (pointer_expression "*(int *)(pdVar10 + 5)" * (cast_expression "(int *)(pdVar10 + 5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar10 + 5)" ( (binary_expression "pdVar10 + 5" identifier + number_literal) ))))) ;) (expression_statement "pdVar18 = *(double **)((int)pdVar10 + 0x2c);" (assignment_expression "pdVar18 = *(double **)((int)pdVar10 + 0x2c)" identifier = (pointer_expression "*(double **)((int)pdVar10 + 0x2c)" * (cast_expression "(double **)((int)pdVar10 + 0x2c)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pdVar10 + 0x2c)" ( (binary_expression "(int)pdVar10 + 0x2c" (cast_expression "(int)pdVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "dVar54 = *pdVar10;" (assignment_expression "dVar54 = *pdVar10" identifier = (pointer_expression "*pdVar10" * identifier)) ;) (expression_statement "dVar58 = *(double *)(*(int *)(puVar42 + 0x33569c) + 0x1440);" (assignment_expression "dVar58 = *(double *)(*(int *)(puVar42 + 0x33569c) + 0x1440)" identifier = (pointer_expression "*(double *)(*(int *)(puVar42 + 0x33569c) + 0x1440)" * (cast_expression "(double *)(*(int *)(puVar42 + 0x33569c) + 0x1440)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar42 + 0x33569c) + 0x1440)" ( (binary_expression "*(int *)(puVar42 + 0x33569c) + 0x1440" (pointer_expression "*(int *)(puVar42 + 0x33569c)" * (cast_expression "(int *)(puVar42 + 0x33569c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar42 + 0x33569c)" ( (binary_expression "puVar42 + 0x33569c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "pdVar11 = *(double **)((int)pdVar10 + 0x24);" (assignment_expression "pdVar11 = *(double **)((int)pdVar10 + 0x24)" identifier = (pointer_expression "*(double **)((int)pdVar10 + 0x24)" * (cast_expression "(double **)((int)pdVar10 + 0x24)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pdVar10 + 0x24)" ( (binary_expression "(int)pdVar10 + 0x24" (cast_expression "(int)pdVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar5 = *(undefined4 *)(pdVar10 + 4);" (assignment_expression "uVar5 = *(undefined4 *)(pdVar10 + 4)" identifier = (pointer_expression "*(undefined4 *)(pdVar10 + 4)" * (cast_expression "(undefined4 *)(pdVar10 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar10 + 4)" ( (binary_expression "pdVar10 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(undefined4 *)((int)pdVar10 + 0x1c);" (assignment_expression "uVar6 = *(undefined4 *)((int)pdVar10 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)((int)pdVar10 + 0x1c)" * (cast_expression "(undefined4 *)((int)pdVar10 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar10 + 0x1c)" ( (binary_expression "(int)pdVar10 + 0x1c" (cast_expression "(int)pdVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pdVar12 = *(double **)(pdVar10 + 3);" (assignment_expression "pdVar12 = *(double **)(pdVar10 + 3)" identifier = (pointer_expression "*(double **)(pdVar10 + 3)" * (cast_expression "(double **)(pdVar10 + 3)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pdVar10 + 3)" ( (binary_expression "pdVar10 + 3" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)((int)pdVar10 + 0x14);" (assignment_expression "iVar2 = *(int *)((int)pdVar10 + 0x14)" identifier = (pointer_expression "*(int *)((int)pdVar10 + 0x14)" * (cast_expression "(int *)((int)pdVar10 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar10 + 0x14)" ( (binary_expression "(int)pdVar10 + 0x14" (cast_expression "(int)pdVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar60 = *(int *)(pdVar10 + 2);" (assignment_expression "iVar60 = *(int *)(pdVar10 + 2)" identifier = (pointer_expression "*(int *)(pdVar10 + 2)" * (cast_expression "(int *)(pdVar10 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar10 + 2)" ( (binary_expression "pdVar10 + 2" identifier + number_literal) ))))) ;) (expression_statement "pdVar4 = pdVar18;" (assignment_expression "pdVar4 = pdVar18" identifier = identifier) ;) (do_statement "do {\n      if (*(int *)((int)pdVar10 + 0x34) != 0) {\n        pfStack_f50 = (float *)(**(code **)(puVar42 + 0x336418))\n                                         (uVar5,-(*(int *)(iVar3 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                          (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),\n                                          uVar6);\n        pdVar4 = pdVar11;\n        iStack_f54 = (**(code **)(puVar42 + 0x336418))\n                               (pdVar11,-(*(int *)(iVar3 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),uVar6);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(undefined4 *)((int)pdVar10 + 0x34) = 0;\n        }\n        else {\n          (**(code **)(puVar42 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar18) {\n            pdStack_f4c = (double *)0x0;\n            iVar24 = *(int *)(iVar60 + 0x2c0);\n            iVar38 = *(int *)(iVar2 + 0x2c0);\n            iVar40 = iVar38 * 4;\n            pcVar46 = *(code **)(puVar42 + 0x336490);\n            do {\n              (*pcVar46)(adStack_d10,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_4f0,0,0x208);\n              iVar15 = *(int *)(iVar3 + 8);\n              pdStack_f7c = *(double **)(iVar3 + 0x14);\n              if (0 < iVar15) {\n                iVar43 = *(int *)(iVar3 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar8 = pfStack_f50;\n                do {\n                  if (0 < iVar43) {\n                    iVar39 = 0;\n                    pdVar4 = pdStack_f7c;\n                    iVar36 = iStack_f80;\n                    pfVar17 = pfVar8;\n                    do {\n                      if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }\n                      iVar39 = iVar39 + 1;\n                      pdVar4 = pdVar4 + 1;\n                      pfVar17 = pfVar17 + iVar24;\n                      iVar36 = iVar36 + iVar40;\n                    } while (iVar39 != iVar43);\n                    pdStack_f7c = pdStack_f7c + iVar43;\n                    pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4);\n                    iStack_f80 = iStack_f80 + iVar43 * iVar40;\n                  }\n                  pfVar8 = (float *)((int)pfVar8 + iVar24 * (int)pdVar18 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar18 * 4 * iVar38;\n                } while (iStack_f78 != iVar15);\n              }\n              if (0 < iVar24) {\n                piVar25 = *(int **)(iVar60 + 0x2d0);\n                iVar15 = 0;\n                iVar43 = *(int *)(iVar2 + 0x2d0);\n                piVar9 = piVar25;\n                do {\n                  if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)) &&\n                     ((uVar26 & 2) != 0)) {\n                    dVar57 = *(double *)((int)adStack_d10 + iVar15);\n                    dVar50 = *(double *)((int)adStack_6f8 + iVar15);\n                    pdVar4 = (double *)((int)adStack_f18 + iVar15);\n                    dVar52 = dVar57 * dVar50;\n                    dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52;\n                    dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54));\n                    *pdVar4 = *pdVar4 + dVar50;\n                    dStack_d18 = dStack_d18 + dVar50;\n                  }\n                  iVar15 = iVar15 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar15 != iVar24 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar24;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar40;\n              pcVar46 = *(code **)(puVar42 + 0x336490);\n            } while (pdVar18 != pdStack_f4c);\n          }\n          (**(code **)(puVar42 + 0x3364f0))(*(undefined4 *)(puVar42 + 0x3360c4));\n          pdVar4 = adStack_f18;\n          pdVar30 = pdVar12;\n          do {\n            pdVar27 = pdVar4 + 1;\n            *pdVar30 = *pdVar30 + *pdVar4;\n            pdVar4 = pdVar27;\n            pdVar30 = pdVar30 + 1;\n          } while (adStack_d10 != pdVar27);\n          pdVar4 = *(double **)(puVar42 + 0x3360c4);\n          (**(code **)(puVar42 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    } while (pdVar7 != pdStack_f48);" do (compound_statement "{\n      if (*(int *)((int)pdVar10 + 0x34) != 0) {\n        pfStack_f50 = (float *)(**(code **)(puVar42 + 0x336418))\n                                         (uVar5,-(*(int *)(iVar3 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                          (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),\n                                          uVar6);\n        pdVar4 = pdVar11;\n        iStack_f54 = (**(code **)(puVar42 + 0x336418))\n                               (pdVar11,-(*(int *)(iVar3 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),uVar6);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(undefined4 *)((int)pdVar10 + 0x34) = 0;\n        }\n        else {\n          (**(code **)(puVar42 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar18) {\n            pdStack_f4c = (double *)0x0;\n            iVar24 = *(int *)(iVar60 + 0x2c0);\n            iVar38 = *(int *)(iVar2 + 0x2c0);\n            iVar40 = iVar38 * 4;\n            pcVar46 = *(code **)(puVar42 + 0x336490);\n            do {\n              (*pcVar46)(adStack_d10,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_4f0,0,0x208);\n              iVar15 = *(int *)(iVar3 + 8);\n              pdStack_f7c = *(double **)(iVar3 + 0x14);\n              if (0 < iVar15) {\n                iVar43 = *(int *)(iVar3 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar8 = pfStack_f50;\n                do {\n                  if (0 < iVar43) {\n                    iVar39 = 0;\n                    pdVar4 = pdStack_f7c;\n                    iVar36 = iStack_f80;\n                    pfVar17 = pfVar8;\n                    do {\n                      if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }\n                      iVar39 = iVar39 + 1;\n                      pdVar4 = pdVar4 + 1;\n                      pfVar17 = pfVar17 + iVar24;\n                      iVar36 = iVar36 + iVar40;\n                    } while (iVar39 != iVar43);\n                    pdStack_f7c = pdStack_f7c + iVar43;\n                    pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4);\n                    iStack_f80 = iStack_f80 + iVar43 * iVar40;\n                  }\n                  pfVar8 = (float *)((int)pfVar8 + iVar24 * (int)pdVar18 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar18 * 4 * iVar38;\n                } while (iStack_f78 != iVar15);\n              }\n              if (0 < iVar24) {\n                piVar25 = *(int **)(iVar60 + 0x2d0);\n                iVar15 = 0;\n                iVar43 = *(int *)(iVar2 + 0x2d0);\n                piVar9 = piVar25;\n                do {\n                  if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)) &&\n                     ((uVar26 & 2) != 0)) {\n                    dVar57 = *(double *)((int)adStack_d10 + iVar15);\n                    dVar50 = *(double *)((int)adStack_6f8 + iVar15);\n                    pdVar4 = (double *)((int)adStack_f18 + iVar15);\n                    dVar52 = dVar57 * dVar50;\n                    dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52;\n                    dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54));\n                    *pdVar4 = *pdVar4 + dVar50;\n                    dStack_d18 = dStack_d18 + dVar50;\n                  }\n                  iVar15 = iVar15 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar15 != iVar24 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar24;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar40;\n              pcVar46 = *(code **)(puVar42 + 0x336490);\n            } while (pdVar18 != pdStack_f4c);\n          }\n          (**(code **)(puVar42 + 0x3364f0))(*(undefined4 *)(puVar42 + 0x3360c4));\n          pdVar4 = adStack_f18;\n          pdVar30 = pdVar12;\n          do {\n            pdVar27 = pdVar4 + 1;\n            *pdVar30 = *pdVar30 + *pdVar4;\n            pdVar4 = pdVar27;\n            pdVar30 = pdVar30 + 1;\n          } while (adStack_d10 != pdVar27);\n          pdVar4 = *(double **)(puVar42 + 0x3360c4);\n          (**(code **)(puVar42 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    }" { (if_statement "if (*(int *)((int)pdVar10 + 0x34) != 0) {\n        pfStack_f50 = (float *)(**(code **)(puVar42 + 0x336418))\n                                         (uVar5,-(*(int *)(iVar3 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                          (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),\n                                          uVar6);\n        pdVar4 = pdVar11;\n        iStack_f54 = (**(code **)(puVar42 + 0x336418))\n                               (pdVar11,-(*(int *)(iVar3 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),uVar6);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(undefined4 *)((int)pdVar10 + 0x34) = 0;\n        }\n        else {\n          (**(code **)(puVar42 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar18) {\n            pdStack_f4c = (double *)0x0;\n            iVar24 = *(int *)(iVar60 + 0x2c0);\n            iVar38 = *(int *)(iVar2 + 0x2c0);\n            iVar40 = iVar38 * 4;\n            pcVar46 = *(code **)(puVar42 + 0x336490);\n            do {\n              (*pcVar46)(adStack_d10,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_4f0,0,0x208);\n              iVar15 = *(int *)(iVar3 + 8);\n              pdStack_f7c = *(double **)(iVar3 + 0x14);\n              if (0 < iVar15) {\n                iVar43 = *(int *)(iVar3 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar8 = pfStack_f50;\n                do {\n                  if (0 < iVar43) {\n                    iVar39 = 0;\n                    pdVar4 = pdStack_f7c;\n                    iVar36 = iStack_f80;\n                    pfVar17 = pfVar8;\n                    do {\n                      if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }\n                      iVar39 = iVar39 + 1;\n                      pdVar4 = pdVar4 + 1;\n                      pfVar17 = pfVar17 + iVar24;\n                      iVar36 = iVar36 + iVar40;\n                    } while (iVar39 != iVar43);\n                    pdStack_f7c = pdStack_f7c + iVar43;\n                    pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4);\n                    iStack_f80 = iStack_f80 + iVar43 * iVar40;\n                  }\n                  pfVar8 = (float *)((int)pfVar8 + iVar24 * (int)pdVar18 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar18 * 4 * iVar38;\n                } while (iStack_f78 != iVar15);\n              }\n              if (0 < iVar24) {\n                piVar25 = *(int **)(iVar60 + 0x2d0);\n                iVar15 = 0;\n                iVar43 = *(int *)(iVar2 + 0x2d0);\n                piVar9 = piVar25;\n                do {\n                  if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)) &&\n                     ((uVar26 & 2) != 0)) {\n                    dVar57 = *(double *)((int)adStack_d10 + iVar15);\n                    dVar50 = *(double *)((int)adStack_6f8 + iVar15);\n                    pdVar4 = (double *)((int)adStack_f18 + iVar15);\n                    dVar52 = dVar57 * dVar50;\n                    dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52;\n                    dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54));\n                    *pdVar4 = *pdVar4 + dVar50;\n                    dStack_d18 = dStack_d18 + dVar50;\n                  }\n                  iVar15 = iVar15 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar15 != iVar24 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar24;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar40;\n              pcVar46 = *(code **)(puVar42 + 0x336490);\n            } while (pdVar18 != pdStack_f4c);\n          }\n          (**(code **)(puVar42 + 0x3364f0))(*(undefined4 *)(puVar42 + 0x3360c4));\n          pdVar4 = adStack_f18;\n          pdVar30 = pdVar12;\n          do {\n            pdVar27 = pdVar4 + 1;\n            *pdVar30 = *pdVar30 + *pdVar4;\n            pdVar4 = pdVar27;\n            pdVar30 = pdVar30 + 1;\n          } while (adStack_d10 != pdVar27);\n          pdVar4 = *(double **)(puVar42 + 0x3360c4);\n          (**(code **)(puVar42 + 0x336168))();\n        }\n      }" if (parenthesized_expression "(*(int *)((int)pdVar10 + 0x34) != 0)" ( (binary_expression "*(int *)((int)pdVar10 + 0x34) != 0" (pointer_expression "*(int *)((int)pdVar10 + 0x34)" * (cast_expression "(int *)((int)pdVar10 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar10 + 0x34)" ( (binary_expression "(int)pdVar10 + 0x34" (cast_expression "(int)pdVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n        pfStack_f50 = (float *)(**(code **)(puVar42 + 0x336418))\n                                         (uVar5,-(*(int *)(iVar3 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                          (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),\n                                          uVar6);\n        pdVar4 = pdVar11;\n        iStack_f54 = (**(code **)(puVar42 + 0x336418))\n                               (pdVar11,-(*(int *)(iVar3 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),uVar6);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(undefined4 *)((int)pdVar10 + 0x34) = 0;\n        }\n        else {\n          (**(code **)(puVar42 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar18) {\n            pdStack_f4c = (double *)0x0;\n            iVar24 = *(int *)(iVar60 + 0x2c0);\n            iVar38 = *(int *)(iVar2 + 0x2c0);\n            iVar40 = iVar38 * 4;\n            pcVar46 = *(code **)(puVar42 + 0x336490);\n            do {\n              (*pcVar46)(adStack_d10,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_4f0,0,0x208);\n              iVar15 = *(int *)(iVar3 + 8);\n              pdStack_f7c = *(double **)(iVar3 + 0x14);\n              if (0 < iVar15) {\n                iVar43 = *(int *)(iVar3 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar8 = pfStack_f50;\n                do {\n                  if (0 < iVar43) {\n                    iVar39 = 0;\n                    pdVar4 = pdStack_f7c;\n                    iVar36 = iStack_f80;\n                    pfVar17 = pfVar8;\n                    do {\n                      if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }\n                      iVar39 = iVar39 + 1;\n                      pdVar4 = pdVar4 + 1;\n                      pfVar17 = pfVar17 + iVar24;\n                      iVar36 = iVar36 + iVar40;\n                    } while (iVar39 != iVar43);\n                    pdStack_f7c = pdStack_f7c + iVar43;\n                    pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4);\n                    iStack_f80 = iStack_f80 + iVar43 * iVar40;\n                  }\n                  pfVar8 = (float *)((int)pfVar8 + iVar24 * (int)pdVar18 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar18 * 4 * iVar38;\n                } while (iStack_f78 != iVar15);\n              }\n              if (0 < iVar24) {\n                piVar25 = *(int **)(iVar60 + 0x2d0);\n                iVar15 = 0;\n                iVar43 = *(int *)(iVar2 + 0x2d0);\n                piVar9 = piVar25;\n                do {\n                  if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)) &&\n                     ((uVar26 & 2) != 0)) {\n                    dVar57 = *(double *)((int)adStack_d10 + iVar15);\n                    dVar50 = *(double *)((int)adStack_6f8 + iVar15);\n                    pdVar4 = (double *)((int)adStack_f18 + iVar15);\n                    dVar52 = dVar57 * dVar50;\n                    dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52;\n                    dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54));\n                    *pdVar4 = *pdVar4 + dVar50;\n                    dStack_d18 = dStack_d18 + dVar50;\n                  }\n                  iVar15 = iVar15 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar15 != iVar24 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar24;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar40;\n              pcVar46 = *(code **)(puVar42 + 0x336490);\n            } while (pdVar18 != pdStack_f4c);\n          }\n          (**(code **)(puVar42 + 0x3364f0))(*(undefined4 *)(puVar42 + 0x3360c4));\n          pdVar4 = adStack_f18;\n          pdVar30 = pdVar12;\n          do {\n            pdVar27 = pdVar4 + 1;\n            *pdVar30 = *pdVar30 + *pdVar4;\n            pdVar4 = pdVar27;\n            pdVar30 = pdVar30 + 1;\n          } while (adStack_d10 != pdVar27);\n          pdVar4 = *(double **)(puVar42 + 0x3360c4);\n          (**(code **)(puVar42 + 0x336168))();\n        }\n      }" { (expression_statement "pfStack_f50 = (float *)(**(code **)(puVar42 + 0x336418))\n                                         (uVar5,-(*(int *)(iVar3 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                          (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),\n                                          uVar6);" (assignment_expression "pfStack_f50 = (float *)(**(code **)(puVar42 + 0x336418))\n                                         (uVar5,-(*(int *)(iVar3 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                          (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),\n                                          uVar6)" identifier = (cast_expression "(float *)(**(code **)(puVar42 + 0x336418))\n                                         (uVar5,-(*(int *)(iVar3 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                          (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),\n                                          uVar6)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar42 + 0x336418))\n                                         (uVar5,-(*(int *)(iVar3 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                          (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),\n                                          uVar6)" (parenthesized_expression "(**(code **)(puVar42 + 0x336418))" ( (pointer_expression "**(code **)(puVar42 + 0x336418)" * (pointer_expression "*(code **)(puVar42 + 0x336418)" * (cast_expression "(code **)(puVar42 + 0x336418)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x336418)" ( (binary_expression "puVar42 + 0x336418" identifier + number_literal) ))))) )) (argument_list "(uVar5,-(*(int *)(iVar3 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                          (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),\n                                          uVar6)" ( identifier , (unary_expression "-(*(int *)(iVar3 + 4) / 2)" - (parenthesized_expression "(*(int *)(iVar3 + 4) / 2)" ( (binary_expression "*(int *)(iVar3 + 4) / 2" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) / number_literal) ))) , (binary_expression "(int)pdStack_f48 - *(int *)(iVar3 + 8) / 2" (cast_expression "(int)pdStack_f48" ( (type_descriptor "int" primitive_type) ) identifier) - (binary_expression "*(int *)(iVar3 + 8) / 2" (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) )))) / number_literal)) , (binary_expression "(int)pdVar18 + *(int *)(iVar3 + 4)" (cast_expression "(int)pdVar18" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) ))))) , (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) )))) , identifier ))))) ;) (expression_statement "pdVar4 = pdVar11;" (assignment_expression "pdVar4 = pdVar11" identifier = identifier) ;) (expression_statement "iStack_f54 = (**(code **)(puVar42 + 0x336418))\n                               (pdVar11,-(*(int *)(iVar3 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),uVar6);" (assignment_expression "iStack_f54 = (**(code **)(puVar42 + 0x336418))\n                               (pdVar11,-(*(int *)(iVar3 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),uVar6)" identifier = (call_expression "(**(code **)(puVar42 + 0x336418))\n                               (pdVar11,-(*(int *)(iVar3 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),uVar6)" (parenthesized_expression "(**(code **)(puVar42 + 0x336418))" ( (pointer_expression "**(code **)(puVar42 + 0x336418)" * (pointer_expression "*(code **)(puVar42 + 0x336418)" * (cast_expression "(code **)(puVar42 + 0x336418)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x336418)" ( (binary_expression "puVar42 + 0x336418" identifier + number_literal) ))))) )) (argument_list "(pdVar11,-(*(int *)(iVar3 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)(iVar3 + 8) / 2,\n                                (int)pdVar18 + *(int *)(iVar3 + 4),*(int *)(iVar3 + 8),uVar6)" ( identifier , (unary_expression "-(*(int *)(iVar3 + 4) / 2)" - (parenthesized_expression "(*(int *)(iVar3 + 4) / 2)" ( (binary_expression "*(int *)(iVar3 + 4) / 2" (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) / number_literal) ))) , (binary_expression "(int)pdStack_f48 - *(int *)(iVar3 + 8) / 2" (cast_expression "(int)pdStack_f48" ( (type_descriptor "int" primitive_type) ) identifier) - (binary_expression "*(int *)(iVar3 + 8) / 2" (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) )))) / number_literal)) , (binary_expression "(int)pdVar18 + *(int *)(iVar3 + 4)" (cast_expression "(int)pdVar18" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) ))))) , (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) )))) , identifier )))) ;) (if_statement "if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(undefined4 *)((int)pdVar10 + 0x34) = 0;\n        }\n        else {\n          (**(code **)(puVar42 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar18) {\n            pdStack_f4c = (double *)0x0;\n            iVar24 = *(int *)(iVar60 + 0x2c0);\n            iVar38 = *(int *)(iVar2 + 0x2c0);\n            iVar40 = iVar38 * 4;\n            pcVar46 = *(code **)(puVar42 + 0x336490);\n            do {\n              (*pcVar46)(adStack_d10,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_4f0,0,0x208);\n              iVar15 = *(int *)(iVar3 + 8);\n              pdStack_f7c = *(double **)(iVar3 + 0x14);\n              if (0 < iVar15) {\n                iVar43 = *(int *)(iVar3 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar8 = pfStack_f50;\n                do {\n                  if (0 < iVar43) {\n                    iVar39 = 0;\n                    pdVar4 = pdStack_f7c;\n                    iVar36 = iStack_f80;\n                    pfVar17 = pfVar8;\n                    do {\n                      if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }\n                      iVar39 = iVar39 + 1;\n                      pdVar4 = pdVar4 + 1;\n                      pfVar17 = pfVar17 + iVar24;\n                      iVar36 = iVar36 + iVar40;\n                    } while (iVar39 != iVar43);\n                    pdStack_f7c = pdStack_f7c + iVar43;\n                    pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4);\n                    iStack_f80 = iStack_f80 + iVar43 * iVar40;\n                  }\n                  pfVar8 = (float *)((int)pfVar8 + iVar24 * (int)pdVar18 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar18 * 4 * iVar38;\n                } while (iStack_f78 != iVar15);\n              }\n              if (0 < iVar24) {\n                piVar25 = *(int **)(iVar60 + 0x2d0);\n                iVar15 = 0;\n                iVar43 = *(int *)(iVar2 + 0x2d0);\n                piVar9 = piVar25;\n                do {\n                  if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)) &&\n                     ((uVar26 & 2) != 0)) {\n                    dVar57 = *(double *)((int)adStack_d10 + iVar15);\n                    dVar50 = *(double *)((int)adStack_6f8 + iVar15);\n                    pdVar4 = (double *)((int)adStack_f18 + iVar15);\n                    dVar52 = dVar57 * dVar50;\n                    dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52;\n                    dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54));\n                    *pdVar4 = *pdVar4 + dVar50;\n                    dStack_d18 = dStack_d18 + dVar50;\n                  }\n                  iVar15 = iVar15 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar15 != iVar24 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar24;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar40;\n              pcVar46 = *(code **)(puVar42 + 0x336490);\n            } while (pdVar18 != pdStack_f4c);\n          }\n          (**(code **)(puVar42 + 0x3364f0))(*(undefined4 *)(puVar42 + 0x3360c4));\n          pdVar4 = adStack_f18;\n          pdVar30 = pdVar12;\n          do {\n            pdVar27 = pdVar4 + 1;\n            *pdVar30 = *pdVar30 + *pdVar4;\n            pdVar4 = pdVar27;\n            pdVar30 = pdVar30 + 1;\n          } while (adStack_d10 != pdVar27);\n          pdVar4 = *(double **)(puVar42 + 0x3360c4);\n          (**(code **)(puVar42 + 0x336168))();\n        }" if (parenthesized_expression "((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0))" ( (binary_expression "(pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)" (parenthesized_expression "(pfStack_f50 == (float *)0x0)" ( (binary_expression "pfStack_f50 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(iStack_f54 == 0)" ( (binary_expression "iStack_f54 == 0" identifier == number_literal) ))) )) (compound_statement "{\n          *(undefined4 *)((int)pdVar10 + 0x34) = 0;\n        }" { (expression_statement "*(undefined4 *)((int)pdVar10 + 0x34) = 0;" (assignment_expression "*(undefined4 *)((int)pdVar10 + 0x34) = 0" (pointer_expression "*(undefined4 *)((int)pdVar10 + 0x34)" * (cast_expression "(undefined4 *)((int)pdVar10 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar10 + 0x34)" ( (binary_expression "(int)pdVar10 + 0x34" (cast_expression "(int)pdVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          (**(code **)(puVar42 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar18) {\n            pdStack_f4c = (double *)0x0;\n            iVar24 = *(int *)(iVar60 + 0x2c0);\n            iVar38 = *(int *)(iVar2 + 0x2c0);\n            iVar40 = iVar38 * 4;\n            pcVar46 = *(code **)(puVar42 + 0x336490);\n            do {\n              (*pcVar46)(adStack_d10,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_4f0,0,0x208);\n              iVar15 = *(int *)(iVar3 + 8);\n              pdStack_f7c = *(double **)(iVar3 + 0x14);\n              if (0 < iVar15) {\n                iVar43 = *(int *)(iVar3 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar8 = pfStack_f50;\n                do {\n                  if (0 < iVar43) {\n                    iVar39 = 0;\n                    pdVar4 = pdStack_f7c;\n                    iVar36 = iStack_f80;\n                    pfVar17 = pfVar8;\n                    do {\n                      if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }\n                      iVar39 = iVar39 + 1;\n                      pdVar4 = pdVar4 + 1;\n                      pfVar17 = pfVar17 + iVar24;\n                      iVar36 = iVar36 + iVar40;\n                    } while (iVar39 != iVar43);\n                    pdStack_f7c = pdStack_f7c + iVar43;\n                    pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4);\n                    iStack_f80 = iStack_f80 + iVar43 * iVar40;\n                  }\n                  pfVar8 = (float *)((int)pfVar8 + iVar24 * (int)pdVar18 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar18 * 4 * iVar38;\n                } while (iStack_f78 != iVar15);\n              }\n              if (0 < iVar24) {\n                piVar25 = *(int **)(iVar60 + 0x2d0);\n                iVar15 = 0;\n                iVar43 = *(int *)(iVar2 + 0x2d0);\n                piVar9 = piVar25;\n                do {\n                  if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)) &&\n                     ((uVar26 & 2) != 0)) {\n                    dVar57 = *(double *)((int)adStack_d10 + iVar15);\n                    dVar50 = *(double *)((int)adStack_6f8 + iVar15);\n                    pdVar4 = (double *)((int)adStack_f18 + iVar15);\n                    dVar52 = dVar57 * dVar50;\n                    dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52;\n                    dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54));\n                    *pdVar4 = *pdVar4 + dVar50;\n                    dStack_d18 = dStack_d18 + dVar50;\n                  }\n                  iVar15 = iVar15 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar15 != iVar24 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar24;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar40;\n              pcVar46 = *(code **)(puVar42 + 0x336490);\n            } while (pdVar18 != pdStack_f4c);\n          }\n          (**(code **)(puVar42 + 0x3364f0))(*(undefined4 *)(puVar42 + 0x3360c4));\n          pdVar4 = adStack_f18;\n          pdVar30 = pdVar12;\n          do {\n            pdVar27 = pdVar4 + 1;\n            *pdVar30 = *pdVar30 + *pdVar4;\n            pdVar4 = pdVar27;\n            pdVar30 = pdVar30 + 1;\n          } while (adStack_d10 != pdVar27);\n          pdVar4 = *(double **)(puVar42 + 0x3360c4);\n          (**(code **)(puVar42 + 0x336168))();\n        }" else (compound_statement "{\n          (**(code **)(puVar42 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar18) {\n            pdStack_f4c = (double *)0x0;\n            iVar24 = *(int *)(iVar60 + 0x2c0);\n            iVar38 = *(int *)(iVar2 + 0x2c0);\n            iVar40 = iVar38 * 4;\n            pcVar46 = *(code **)(puVar42 + 0x336490);\n            do {\n              (*pcVar46)(adStack_d10,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_4f0,0,0x208);\n              iVar15 = *(int *)(iVar3 + 8);\n              pdStack_f7c = *(double **)(iVar3 + 0x14);\n              if (0 < iVar15) {\n                iVar43 = *(int *)(iVar3 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar8 = pfStack_f50;\n                do {\n                  if (0 < iVar43) {\n                    iVar39 = 0;\n                    pdVar4 = pdStack_f7c;\n                    iVar36 = iStack_f80;\n                    pfVar17 = pfVar8;\n                    do {\n                      if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }\n                      iVar39 = iVar39 + 1;\n                      pdVar4 = pdVar4 + 1;\n                      pfVar17 = pfVar17 + iVar24;\n                      iVar36 = iVar36 + iVar40;\n                    } while (iVar39 != iVar43);\n                    pdStack_f7c = pdStack_f7c + iVar43;\n                    pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4);\n                    iStack_f80 = iStack_f80 + iVar43 * iVar40;\n                  }\n                  pfVar8 = (float *)((int)pfVar8 + iVar24 * (int)pdVar18 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar18 * 4 * iVar38;\n                } while (iStack_f78 != iVar15);\n              }\n              if (0 < iVar24) {\n                piVar25 = *(int **)(iVar60 + 0x2d0);\n                iVar15 = 0;\n                iVar43 = *(int *)(iVar2 + 0x2d0);\n                piVar9 = piVar25;\n                do {\n                  if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)) &&\n                     ((uVar26 & 2) != 0)) {\n                    dVar57 = *(double *)((int)adStack_d10 + iVar15);\n                    dVar50 = *(double *)((int)adStack_6f8 + iVar15);\n                    pdVar4 = (double *)((int)adStack_f18 + iVar15);\n                    dVar52 = dVar57 * dVar50;\n                    dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52;\n                    dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54));\n                    *pdVar4 = *pdVar4 + dVar50;\n                    dStack_d18 = dStack_d18 + dVar50;\n                  }\n                  iVar15 = iVar15 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar15 != iVar24 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar24;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar40;\n              pcVar46 = *(code **)(puVar42 + 0x336490);\n            } while (pdVar18 != pdStack_f4c);\n          }\n          (**(code **)(puVar42 + 0x3364f0))(*(undefined4 *)(puVar42 + 0x3360c4));\n          pdVar4 = adStack_f18;\n          pdVar30 = pdVar12;\n          do {\n            pdVar27 = pdVar4 + 1;\n            *pdVar30 = *pdVar30 + *pdVar4;\n            pdVar4 = pdVar27;\n            pdVar30 = pdVar30 + 1;\n          } while (adStack_d10 != pdVar27);\n          pdVar4 = *(double **)(puVar42 + 0x3360c4);\n          (**(code **)(puVar42 + 0x336168))();\n        }" { (expression_statement "(**(code **)(puVar42 + 0x336490))(adStack_f18,0,0x208);" (call_expression "(**(code **)(puVar42 + 0x336490))(adStack_f18,0,0x208)" (parenthesized_expression "(**(code **)(puVar42 + 0x336490))" ( (pointer_expression "**(code **)(puVar42 + 0x336490)" * (pointer_expression "*(code **)(puVar42 + 0x336490)" * (cast_expression "(code **)(puVar42 + 0x336490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x336490)" ( (binary_expression "puVar42 + 0x336490" identifier + number_literal) ))))) )) (argument_list "(adStack_f18,0,0x208)" ( identifier , number_literal , number_literal ))) ;) (if_statement "if (0 < (int)pdVar18) {\n            pdStack_f4c = (double *)0x0;\n            iVar24 = *(int *)(iVar60 + 0x2c0);\n            iVar38 = *(int *)(iVar2 + 0x2c0);\n            iVar40 = iVar38 * 4;\n            pcVar46 = *(code **)(puVar42 + 0x336490);\n            do {\n              (*pcVar46)(adStack_d10,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_4f0,0,0x208);\n              iVar15 = *(int *)(iVar3 + 8);\n              pdStack_f7c = *(double **)(iVar3 + 0x14);\n              if (0 < iVar15) {\n                iVar43 = *(int *)(iVar3 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar8 = pfStack_f50;\n                do {\n                  if (0 < iVar43) {\n                    iVar39 = 0;\n                    pdVar4 = pdStack_f7c;\n                    iVar36 = iStack_f80;\n                    pfVar17 = pfVar8;\n                    do {\n                      if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }\n                      iVar39 = iVar39 + 1;\n                      pdVar4 = pdVar4 + 1;\n                      pfVar17 = pfVar17 + iVar24;\n                      iVar36 = iVar36 + iVar40;\n                    } while (iVar39 != iVar43);\n                    pdStack_f7c = pdStack_f7c + iVar43;\n                    pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4);\n                    iStack_f80 = iStack_f80 + iVar43 * iVar40;\n                  }\n                  pfVar8 = (float *)((int)pfVar8 + iVar24 * (int)pdVar18 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar18 * 4 * iVar38;\n                } while (iStack_f78 != iVar15);\n              }\n              if (0 < iVar24) {\n                piVar25 = *(int **)(iVar60 + 0x2d0);\n                iVar15 = 0;\n                iVar43 = *(int *)(iVar2 + 0x2d0);\n                piVar9 = piVar25;\n                do {\n                  if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)) &&\n                     ((uVar26 & 2) != 0)) {\n                    dVar57 = *(double *)((int)adStack_d10 + iVar15);\n                    dVar50 = *(double *)((int)adStack_6f8 + iVar15);\n                    pdVar4 = (double *)((int)adStack_f18 + iVar15);\n                    dVar52 = dVar57 * dVar50;\n                    dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52;\n                    dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54));\n                    *pdVar4 = *pdVar4 + dVar50;\n                    dStack_d18 = dStack_d18 + dVar50;\n                  }\n                  iVar15 = iVar15 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar15 != iVar24 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar24;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar40;\n              pcVar46 = *(code **)(puVar42 + 0x336490);\n            } while (pdVar18 != pdStack_f4c);\n          }" if (parenthesized_expression "(0 < (int)pdVar18)" ( (binary_expression "0 < (int)pdVar18" number_literal < (cast_expression "(int)pdVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pdStack_f4c = (double *)0x0;\n            iVar24 = *(int *)(iVar60 + 0x2c0);\n            iVar38 = *(int *)(iVar2 + 0x2c0);\n            iVar40 = iVar38 * 4;\n            pcVar46 = *(code **)(puVar42 + 0x336490);\n            do {\n              (*pcVar46)(adStack_d10,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_4f0,0,0x208);\n              iVar15 = *(int *)(iVar3 + 8);\n              pdStack_f7c = *(double **)(iVar3 + 0x14);\n              if (0 < iVar15) {\n                iVar43 = *(int *)(iVar3 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar8 = pfStack_f50;\n                do {\n                  if (0 < iVar43) {\n                    iVar39 = 0;\n                    pdVar4 = pdStack_f7c;\n                    iVar36 = iStack_f80;\n                    pfVar17 = pfVar8;\n                    do {\n                      if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }\n                      iVar39 = iVar39 + 1;\n                      pdVar4 = pdVar4 + 1;\n                      pfVar17 = pfVar17 + iVar24;\n                      iVar36 = iVar36 + iVar40;\n                    } while (iVar39 != iVar43);\n                    pdStack_f7c = pdStack_f7c + iVar43;\n                    pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4);\n                    iStack_f80 = iStack_f80 + iVar43 * iVar40;\n                  }\n                  pfVar8 = (float *)((int)pfVar8 + iVar24 * (int)pdVar18 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar18 * 4 * iVar38;\n                } while (iStack_f78 != iVar15);\n              }\n              if (0 < iVar24) {\n                piVar25 = *(int **)(iVar60 + 0x2d0);\n                iVar15 = 0;\n                iVar43 = *(int *)(iVar2 + 0x2d0);\n                piVar9 = piVar25;\n                do {\n                  if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)) &&\n                     ((uVar26 & 2) != 0)) {\n                    dVar57 = *(double *)((int)adStack_d10 + iVar15);\n                    dVar50 = *(double *)((int)adStack_6f8 + iVar15);\n                    pdVar4 = (double *)((int)adStack_f18 + iVar15);\n                    dVar52 = dVar57 * dVar50;\n                    dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52;\n                    dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54));\n                    *pdVar4 = *pdVar4 + dVar50;\n                    dStack_d18 = dStack_d18 + dVar50;\n                  }\n                  iVar15 = iVar15 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar15 != iVar24 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar24;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar40;\n              pcVar46 = *(code **)(puVar42 + 0x336490);\n            } while (pdVar18 != pdStack_f4c);\n          }" { (expression_statement "pdStack_f4c = (double *)0x0;" (assignment_expression "pdStack_f4c = (double *)0x0" identifier = (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar24 = *(int *)(iVar60 + 0x2c0);" (assignment_expression "iVar24 = *(int *)(iVar60 + 0x2c0)" identifier = (pointer_expression "*(int *)(iVar60 + 0x2c0)" * (cast_expression "(int *)(iVar60 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar60 + 0x2c0)" ( (binary_expression "iVar60 + 0x2c0" identifier + number_literal) ))))) ;) (expression_statement "iVar38 = *(int *)(iVar2 + 0x2c0);" (assignment_expression "iVar38 = *(int *)(iVar2 + 0x2c0)" identifier = (pointer_expression "*(int *)(iVar2 + 0x2c0)" * (cast_expression "(int *)(iVar2 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2c0)" ( (binary_expression "iVar2 + 0x2c0" identifier + number_literal) ))))) ;) (expression_statement "iVar40 = iVar38 * 4;" (assignment_expression "iVar40 = iVar38 * 4" identifier = (binary_expression "iVar38 * 4" identifier * number_literal)) ;) (expression_statement "pcVar46 = *(code **)(puVar42 + 0x336490);" (assignment_expression "pcVar46 = *(code **)(puVar42 + 0x336490)" identifier = (pointer_expression "*(code **)(puVar42 + 0x336490)" * (cast_expression "(code **)(puVar42 + 0x336490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x336490)" ( (binary_expression "puVar42 + 0x336490" identifier + number_literal) ))))) ;) (do_statement "do {\n              (*pcVar46)(adStack_d10,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_4f0,0,0x208);\n              iVar15 = *(int *)(iVar3 + 8);\n              pdStack_f7c = *(double **)(iVar3 + 0x14);\n              if (0 < iVar15) {\n                iVar43 = *(int *)(iVar3 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar8 = pfStack_f50;\n                do {\n                  if (0 < iVar43) {\n                    iVar39 = 0;\n                    pdVar4 = pdStack_f7c;\n                    iVar36 = iStack_f80;\n                    pfVar17 = pfVar8;\n                    do {\n                      if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }\n                      iVar39 = iVar39 + 1;\n                      pdVar4 = pdVar4 + 1;\n                      pfVar17 = pfVar17 + iVar24;\n                      iVar36 = iVar36 + iVar40;\n                    } while (iVar39 != iVar43);\n                    pdStack_f7c = pdStack_f7c + iVar43;\n                    pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4);\n                    iStack_f80 = iStack_f80 + iVar43 * iVar40;\n                  }\n                  pfVar8 = (float *)((int)pfVar8 + iVar24 * (int)pdVar18 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar18 * 4 * iVar38;\n                } while (iStack_f78 != iVar15);\n              }\n              if (0 < iVar24) {\n                piVar25 = *(int **)(iVar60 + 0x2d0);\n                iVar15 = 0;\n                iVar43 = *(int *)(iVar2 + 0x2d0);\n                piVar9 = piVar25;\n                do {\n                  if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)) &&\n                     ((uVar26 & 2) != 0)) {\n                    dVar57 = *(double *)((int)adStack_d10 + iVar15);\n                    dVar50 = *(double *)((int)adStack_6f8 + iVar15);\n                    pdVar4 = (double *)((int)adStack_f18 + iVar15);\n                    dVar52 = dVar57 * dVar50;\n                    dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52;\n                    dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54));\n                    *pdVar4 = *pdVar4 + dVar50;\n                    dStack_d18 = dStack_d18 + dVar50;\n                  }\n                  iVar15 = iVar15 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar15 != iVar24 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar24;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar40;\n              pcVar46 = *(code **)(puVar42 + 0x336490);\n            } while (pdVar18 != pdStack_f4c);" do (compound_statement "{\n              (*pcVar46)(adStack_d10,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar42 + 0x336490))(adStack_4f0,0,0x208);\n              iVar15 = *(int *)(iVar3 + 8);\n              pdStack_f7c = *(double **)(iVar3 + 0x14);\n              if (0 < iVar15) {\n                iVar43 = *(int *)(iVar3 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar8 = pfStack_f50;\n                do {\n                  if (0 < iVar43) {\n                    iVar39 = 0;\n                    pdVar4 = pdStack_f7c;\n                    iVar36 = iStack_f80;\n                    pfVar17 = pfVar8;\n                    do {\n                      if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }\n                      iVar39 = iVar39 + 1;\n                      pdVar4 = pdVar4 + 1;\n                      pfVar17 = pfVar17 + iVar24;\n                      iVar36 = iVar36 + iVar40;\n                    } while (iVar39 != iVar43);\n                    pdStack_f7c = pdStack_f7c + iVar43;\n                    pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4);\n                    iStack_f80 = iStack_f80 + iVar43 * iVar40;\n                  }\n                  pfVar8 = (float *)((int)pfVar8 + iVar24 * (int)pdVar18 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar18 * 4 * iVar38;\n                } while (iStack_f78 != iVar15);\n              }\n              if (0 < iVar24) {\n                piVar25 = *(int **)(iVar60 + 0x2d0);\n                iVar15 = 0;\n                iVar43 = *(int *)(iVar2 + 0x2d0);\n                piVar9 = piVar25;\n                do {\n                  if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)) &&\n                     ((uVar26 & 2) != 0)) {\n                    dVar57 = *(double *)((int)adStack_d10 + iVar15);\n                    dVar50 = *(double *)((int)adStack_6f8 + iVar15);\n                    pdVar4 = (double *)((int)adStack_f18 + iVar15);\n                    dVar52 = dVar57 * dVar50;\n                    dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52;\n                    dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54));\n                    *pdVar4 = *pdVar4 + dVar50;\n                    dStack_d18 = dStack_d18 + dVar50;\n                  }\n                  iVar15 = iVar15 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar15 != iVar24 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar24;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar40;\n              pcVar46 = *(code **)(puVar42 + 0x336490);\n            }" { (expression_statement "(*pcVar46)(adStack_d10,0,0x208);" (call_expression "(*pcVar46)(adStack_d10,0,0x208)" (parenthesized_expression "(*pcVar46)" ( (pointer_expression "*pcVar46" * identifier) )) (argument_list "(adStack_d10,0,0x208)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "(**(code **)(puVar42 + 0x336490))(adStack_900,0,0x208);" (call_expression "(**(code **)(puVar42 + 0x336490))(adStack_900,0,0x208)" (parenthesized_expression "(**(code **)(puVar42 + 0x336490))" ( (pointer_expression "**(code **)(puVar42 + 0x336490)" * (pointer_expression "*(code **)(puVar42 + 0x336490)" * (cast_expression "(code **)(puVar42 + 0x336490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x336490)" ( (binary_expression "puVar42 + 0x336490" identifier + number_literal) ))))) )) (argument_list "(adStack_900,0,0x208)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "(**(code **)(puVar42 + 0x336490))(adStack_b08,0,0x208);" (call_expression "(**(code **)(puVar42 + 0x336490))(adStack_b08,0,0x208)" (parenthesized_expression "(**(code **)(puVar42 + 0x336490))" ( (pointer_expression "**(code **)(puVar42 + 0x336490)" * (pointer_expression "*(code **)(puVar42 + 0x336490)" * (cast_expression "(code **)(puVar42 + 0x336490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x336490)" ( (binary_expression "puVar42 + 0x336490" identifier + number_literal) ))))) )) (argument_list "(adStack_b08,0,0x208)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "(**(code **)(puVar42 + 0x336490))(adStack_6f8,0,0x208);" (call_expression "(**(code **)(puVar42 + 0x336490))(adStack_6f8,0,0x208)" (parenthesized_expression "(**(code **)(puVar42 + 0x336490))" ( (pointer_expression "**(code **)(puVar42 + 0x336490)" * (pointer_expression "*(code **)(puVar42 + 0x336490)" * (cast_expression "(code **)(puVar42 + 0x336490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x336490)" ( (binary_expression "puVar42 + 0x336490" identifier + number_literal) ))))) )) (argument_list "(adStack_6f8,0,0x208)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "(**(code **)(puVar42 + 0x336490))(adStack_4f0,0,0x208);" (call_expression "(**(code **)(puVar42 + 0x336490))(adStack_4f0,0,0x208)" (parenthesized_expression "(**(code **)(puVar42 + 0x336490))" ( (pointer_expression "**(code **)(puVar42 + 0x336490)" * (pointer_expression "*(code **)(puVar42 + 0x336490)" * (cast_expression "(code **)(puVar42 + 0x336490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x336490)" ( (binary_expression "puVar42 + 0x336490" identifier + number_literal) ))))) )) (argument_list "(adStack_4f0,0,0x208)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "iVar15 = *(int *)(iVar3 + 8);" (assignment_expression "iVar15 = *(int *)(iVar3 + 8)" identifier = (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) ))))) ;) (expression_statement "pdStack_f7c = *(double **)(iVar3 + 0x14);" (assignment_expression "pdStack_f7c = *(double **)(iVar3 + 0x14)" identifier = (pointer_expression "*(double **)(iVar3 + 0x14)" * (cast_expression "(double **)(iVar3 + 0x14)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (0 < iVar15) {\n                iVar43 = *(int *)(iVar3 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar8 = pfStack_f50;\n                do {\n                  if (0 < iVar43) {\n                    iVar39 = 0;\n                    pdVar4 = pdStack_f7c;\n                    iVar36 = iStack_f80;\n                    pfVar17 = pfVar8;\n                    do {\n                      if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }\n                      iVar39 = iVar39 + 1;\n                      pdVar4 = pdVar4 + 1;\n                      pfVar17 = pfVar17 + iVar24;\n                      iVar36 = iVar36 + iVar40;\n                    } while (iVar39 != iVar43);\n                    pdStack_f7c = pdStack_f7c + iVar43;\n                    pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4);\n                    iStack_f80 = iStack_f80 + iVar43 * iVar40;\n                  }\n                  pfVar8 = (float *)((int)pfVar8 + iVar24 * (int)pdVar18 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar18 * 4 * iVar38;\n                } while (iStack_f78 != iVar15);\n              }" if (parenthesized_expression "(0 < iVar15)" ( (binary_expression "0 < iVar15" number_literal < identifier) )) (compound_statement "{\n                iVar43 = *(int *)(iVar3 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar8 = pfStack_f50;\n                do {\n                  if (0 < iVar43) {\n                    iVar39 = 0;\n                    pdVar4 = pdStack_f7c;\n                    iVar36 = iStack_f80;\n                    pfVar17 = pfVar8;\n                    do {\n                      if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }\n                      iVar39 = iVar39 + 1;\n                      pdVar4 = pdVar4 + 1;\n                      pfVar17 = pfVar17 + iVar24;\n                      iVar36 = iVar36 + iVar40;\n                    } while (iVar39 != iVar43);\n                    pdStack_f7c = pdStack_f7c + iVar43;\n                    pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4);\n                    iStack_f80 = iStack_f80 + iVar43 * iVar40;\n                  }\n                  pfVar8 = (float *)((int)pfVar8 + iVar24 * (int)pdVar18 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar18 * 4 * iVar38;\n                } while (iStack_f78 != iVar15);\n              }" { (expression_statement "iVar43 = *(int *)(iVar3 + 4);" (assignment_expression "iVar43 = *(int *)(iVar3 + 4)" identifier = (pointer_expression "*(int *)(iVar3 + 4)" * (cast_expression "(int *)(iVar3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) ))))) ;) (expression_statement "iStack_f78 = 0;" (assignment_expression "iStack_f78 = 0" identifier = number_literal) ;) (expression_statement "iStack_f80 = iStack_f54;" (assignment_expression "iStack_f80 = iStack_f54" identifier = identifier) ;) (expression_statement "pfVar8 = pfStack_f50;" (assignment_expression "pfVar8 = pfStack_f50" identifier = identifier) ;) (do_statement "do {\n                  if (0 < iVar43) {\n                    iVar39 = 0;\n                    pdVar4 = pdStack_f7c;\n                    iVar36 = iStack_f80;\n                    pfVar17 = pfVar8;\n                    do {\n                      if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }\n                      iVar39 = iVar39 + 1;\n                      pdVar4 = pdVar4 + 1;\n                      pfVar17 = pfVar17 + iVar24;\n                      iVar36 = iVar36 + iVar40;\n                    } while (iVar39 != iVar43);\n                    pdStack_f7c = pdStack_f7c + iVar43;\n                    pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4);\n                    iStack_f80 = iStack_f80 + iVar43 * iVar40;\n                  }\n                  pfVar8 = (float *)((int)pfVar8 + iVar24 * (int)pdVar18 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar18 * 4 * iVar38;\n                } while (iStack_f78 != iVar15);" do (compound_statement "{\n                  if (0 < iVar43) {\n                    iVar39 = 0;\n                    pdVar4 = pdStack_f7c;\n                    iVar36 = iStack_f80;\n                    pfVar17 = pfVar8;\n                    do {\n                      if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }\n                      iVar39 = iVar39 + 1;\n                      pdVar4 = pdVar4 + 1;\n                      pfVar17 = pfVar17 + iVar24;\n                      iVar36 = iVar36 + iVar40;\n                    } while (iVar39 != iVar43);\n                    pdStack_f7c = pdStack_f7c + iVar43;\n                    pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4);\n                    iStack_f80 = iStack_f80 + iVar43 * iVar40;\n                  }\n                  pfVar8 = (float *)((int)pfVar8 + iVar24 * (int)pdVar18 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar18 * 4 * iVar38;\n                }" { (if_statement "if (0 < iVar43) {\n                    iVar39 = 0;\n                    pdVar4 = pdStack_f7c;\n                    iVar36 = iStack_f80;\n                    pfVar17 = pfVar8;\n                    do {\n                      if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }\n                      iVar39 = iVar39 + 1;\n                      pdVar4 = pdVar4 + 1;\n                      pfVar17 = pfVar17 + iVar24;\n                      iVar36 = iVar36 + iVar40;\n                    } while (iVar39 != iVar43);\n                    pdStack_f7c = pdStack_f7c + iVar43;\n                    pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4);\n                    iStack_f80 = iStack_f80 + iVar43 * iVar40;\n                  }" if (parenthesized_expression "(0 < iVar43)" ( (binary_expression "0 < iVar43" number_literal < identifier) )) (compound_statement "{\n                    iVar39 = 0;\n                    pdVar4 = pdStack_f7c;\n                    iVar36 = iStack_f80;\n                    pfVar17 = pfVar8;\n                    do {\n                      if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }\n                      iVar39 = iVar39 + 1;\n                      pdVar4 = pdVar4 + 1;\n                      pfVar17 = pfVar17 + iVar24;\n                      iVar36 = iVar36 + iVar40;\n                    } while (iVar39 != iVar43);\n                    pdStack_f7c = pdStack_f7c + iVar43;\n                    pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4);\n                    iStack_f80 = iStack_f80 + iVar43 * iVar40;\n                  }" { (expression_statement "iVar39 = 0;" (assignment_expression "iVar39 = 0" identifier = number_literal) ;) (expression_statement "pdVar4 = pdStack_f7c;" (assignment_expression "pdVar4 = pdStack_f7c" identifier = identifier) ;) (expression_statement "iVar36 = iStack_f80;" (assignment_expression "iVar36 = iStack_f80" identifier = identifier) ;) (expression_statement "pfVar17 = pfVar8;" (assignment_expression "pfVar17 = pfVar8" identifier = identifier) ;) (do_statement "do {\n                      if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }\n                      iVar39 = iVar39 + 1;\n                      pdVar4 = pdVar4 + 1;\n                      pfVar17 = pfVar17 + iVar24;\n                      iVar36 = iVar36 + iVar40;\n                    } while (iVar39 != iVar43);" do (compound_statement "{\n                      if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }\n                      iVar39 = iVar39 + 1;\n                      pdVar4 = pdVar4 + 1;\n                      pfVar17 = pfVar17 + iVar24;\n                      iVar36 = iVar36 + iVar40;\n                    }" { (if_statement "if (0 < iVar24) {\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }" if (parenthesized_expression "(0 < iVar24)" ( (binary_expression "0 < iVar24" number_literal < identifier) )) (compound_statement "{\n                        iVar34 = *(int *)(iVar2 + 0x2d0);\n                        piVar25 = *(int **)(iVar60 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar25;\n                        pfVar19 = pfVar17;\n                        do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);\n                      }" { (expression_statement "iVar34 = *(int *)(iVar2 + 0x2d0);" (assignment_expression "iVar34 = *(int *)(iVar2 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar2 + 0x2d0)" * (cast_expression "(int *)(iVar2 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2d0)" ( (binary_expression "iVar2 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "piVar25 = *(int **)(iVar60 + 0x2d0);" (assignment_expression "piVar25 = *(int **)(iVar60 + 0x2d0)" identifier = (pointer_expression "*(int **)(iVar60 + 0x2d0)" * (cast_expression "(int **)(iVar60 + 0x2d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar60 + 0x2d0)" ( (binary_expression "iVar60 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (expression_statement "piVar9 = piVar25;" (assignment_expression "piVar9 = piVar25" identifier = identifier) ;) (expression_statement "pfVar19 = pfVar17;" (assignment_expression "pfVar19 = pfVar17" identifier = identifier) ;) (do_statement "do {\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        } while (iVar24 << 3 != iVar13);" do (compound_statement "{\n                          iVar21 = iVar34 + *piVar9 * 0xc;\n                          if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar19 = pfVar19 + 1;\n                        }" { (expression_statement "iVar21 = iVar34 + *piVar9 * 0xc;" (assignment_expression "iVar21 = iVar34 + *piVar9 * 0xc" identifier = (binary_expression "iVar34 + *piVar9 * 0xc" identifier + (binary_expression "*piVar9 * 0xc" (pointer_expression "*piVar9" * identifier) * number_literal))) ;) (if_statement "if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)) {\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }" if (parenthesized_expression "(((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0))" ( (binary_expression "((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)) &&\n                             (pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)" (parenthesized_expression "((piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0))" ( (binary_expression "(piVar25[*piVar9 * 3 + 1] != 0) &&\n                              (uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)" (parenthesized_expression "(piVar25[*piVar9 * 3 + 1] != 0)" ( (binary_expression "piVar25[*piVar9 * 3 + 1] != 0" (subscript_expression "piVar25[*piVar9 * 3 + 1]" identifier [ (binary_expression "*piVar9 * 3 + 1" (binary_expression "*piVar9 * 3" (pointer_expression "*piVar9" * identifier) * number_literal) + number_literal) ]) != number_literal) )) && (parenthesized_expression "(uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0)" ( (comma_expression "uVar26 = *(uint *)(iVar21 + 4), uVar26 != 0" (assignment_expression "uVar26 = *(uint *)(iVar21 + 4)" identifier = (pointer_expression "*(uint *)(iVar21 + 4)" * (cast_expression "(uint *)(iVar21 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 4)" ( (binary_expression "iVar21 + 4" identifier + number_literal) ))))) , (binary_expression "uVar26 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0)" ( (comma_expression "pdVar30 = (double *)((int)adStack_b08 + iVar13), (uVar26 & 2) != 0" (assignment_expression "pdVar30 = (double *)((int)adStack_b08 + iVar13)" identifier = (cast_expression "(double *)((int)adStack_b08 + iVar13)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_b08 + iVar13)" ( (binary_expression "(int)adStack_b08 + iVar13" (cast_expression "(int)adStack_b08" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) , (binary_expression "(uVar26 & 2) != 0" (parenthesized_expression "(uVar26 & 2)" ( (binary_expression "uVar26 & 2" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n                            pdVar27 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar29 = (double *)((int)adStack_900 + iVar13);\n                            pdVar31 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar33 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;\n                            dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;\n                            dVar50 = *pdVar4 * dVar52;\n                            *pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;\n                            *pdVar29 = dVar56 * dVar52 + *pdVar29;\n                            *pdVar27 = dVar52 * dVar50 + *pdVar27;\n                            *pdVar31 = *pdVar31 + dVar56;\n                            *pdVar33 = *pdVar33 + dVar50;\n                          }" { (expression_statement "pdVar27 = (double *)((int)adStack_4f0 + iVar13);" (assignment_expression "pdVar27 = (double *)((int)adStack_4f0 + iVar13)" identifier = (cast_expression "(double *)((int)adStack_4f0 + iVar13)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_4f0 + iVar13)" ( (binary_expression "(int)adStack_4f0 + iVar13" (cast_expression "(int)adStack_4f0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pdVar29 = (double *)((int)adStack_900 + iVar13);" (assignment_expression "pdVar29 = (double *)((int)adStack_900 + iVar13)" identifier = (cast_expression "(double *)((int)adStack_900 + iVar13)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_900 + iVar13)" ( (binary_expression "(int)adStack_900 + iVar13" (cast_expression "(int)adStack_900" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pdVar31 = (double *)((int)adStack_d10 + iVar13);" (assignment_expression "pdVar31 = (double *)((int)adStack_d10 + iVar13)" identifier = (cast_expression "(double *)((int)adStack_d10 + iVar13)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_d10 + iVar13)" ( (binary_expression "(int)adStack_d10 + iVar13" (cast_expression "(int)adStack_d10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pdVar33 = (double *)((int)adStack_6f8 + iVar13);" (assignment_expression "pdVar33 = (double *)((int)adStack_6f8 + iVar13)" identifier = (cast_expression "(double *)((int)adStack_6f8 + iVar13)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_6f8 + iVar13)" ( (binary_expression "(int)adStack_6f8 + iVar13" (cast_expression "(int)adStack_6f8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58;" (assignment_expression "dVar52 = (double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58" identifier = (binary_expression "(double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4) * dVar58" (cast_expression "(double)*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar36 + *(int *)(iVar21 + 8) * 4)" * (cast_expression "(float *)(iVar36 + *(int *)(iVar21 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar36 + *(int *)(iVar21 + 8) * 4)" ( (binary_expression "iVar36 + *(int *)(iVar21 + 8) * 4" identifier + (binary_expression "*(int *)(iVar21 + 8) * 4" (pointer_expression "*(int *)(iVar21 + 8)" * (cast_expression "(int *)(iVar21 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 8)" ( (binary_expression "iVar21 + 8" identifier + number_literal) )))) * number_literal)) ))))) * identifier)) ;) (expression_statement "dVar56 = (double)*pfVar19 * dVar58 * *pdVar4;" (assignment_expression "dVar56 = (double)*pfVar19 * dVar58 * *pdVar4" identifier = (binary_expression "(double)*pfVar19 * dVar58 * *pdVar4" (binary_expression "(double)*pfVar19 * dVar58" (cast_expression "(double)*pfVar19" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*pfVar19" * identifier)) * identifier) * (pointer_expression "*pdVar4" * identifier))) ;) (expression_statement "dVar50 = *pdVar4 * dVar52;" (assignment_expression "dVar50 = *pdVar4 * dVar52" identifier = (binary_expression "*pdVar4 * dVar52" (pointer_expression "*pdVar4" * identifier) * identifier)) ;) (expression_statement "*pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30;" (assignment_expression "*pdVar30 = (double)*pfVar19 * dVar58 * dVar56 + *pdVar30" (pointer_expression "*pdVar30" * identifier) = (binary_expression "(double)*pfVar19 * dVar58 * dVar56 + *pdVar30" (binary_expression "(double)*pfVar19 * dVar58 * dVar56" (binary_expression "(double)*pfVar19 * dVar58" (cast_expression "(double)*pfVar19" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*pfVar19" * identifier)) * identifier) * identifier) + (pointer_expression "*pdVar30" * identifier))) ;) (expression_statement "*pdVar29 = dVar56 * dVar52 + *pdVar29;" (assignment_expression "*pdVar29 = dVar56 * dVar52 + *pdVar29" (pointer_expression "*pdVar29" * identifier) = (binary_expression "dVar56 * dVar52 + *pdVar29" (binary_expression "dVar56 * dVar52" identifier * identifier) + (pointer_expression "*pdVar29" * identifier))) ;) (expression_statement "*pdVar27 = dVar52 * dVar50 + *pdVar27;" (assignment_expression "*pdVar27 = dVar52 * dVar50 + *pdVar27" (pointer_expression "*pdVar27" * identifier) = (binary_expression "dVar52 * dVar50 + *pdVar27" (binary_expression "dVar52 * dVar50" identifier * identifier) + (pointer_expression "*pdVar27" * identifier))) ;) (expression_statement "*pdVar31 = *pdVar31 + dVar56;" (assignment_expression "*pdVar31 = *pdVar31 + dVar56" (pointer_expression "*pdVar31" * identifier) = (binary_expression "*pdVar31 + dVar56" (pointer_expression "*pdVar31" * identifier) + identifier)) ;) (expression_statement "*pdVar33 = *pdVar33 + dVar50;" (assignment_expression "*pdVar33 = *pdVar33 + dVar50" (pointer_expression "*pdVar33" * identifier) = (binary_expression "*pdVar33 + dVar50" (pointer_expression "*pdVar33" * identifier) + identifier)) ;) })) (expression_statement "iVar13 = iVar13 + 8;" (assignment_expression "iVar13 = iVar13 + 8" identifier = (binary_expression "iVar13 + 8" identifier + number_literal)) ;) (expression_statement "piVar9 = piVar9 + 3;" (assignment_expression "piVar9 = piVar9 + 3" identifier = (binary_expression "piVar9 + 3" identifier + number_literal)) ;) (expression_statement "pfVar19 = pfVar19 + 1;" (assignment_expression "pfVar19 = pfVar19 + 1" identifier = (binary_expression "pfVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar24 << 3 != iVar13)" ( (binary_expression "iVar24 << 3 != iVar13" (binary_expression "iVar24 << 3" identifier << number_literal) != identifier) )) ;) })) (expression_statement "iVar39 = iVar39 + 1;" (assignment_expression "iVar39 = iVar39 + 1" identifier = (binary_expression "iVar39 + 1" identifier + number_literal)) ;) (expression_statement "pdVar4 = pdVar4 + 1;" (assignment_expression "pdVar4 = pdVar4 + 1" identifier = (binary_expression "pdVar4 + 1" identifier + number_literal)) ;) (expression_statement "pfVar17 = pfVar17 + iVar24;" (assignment_expression "pfVar17 = pfVar17 + iVar24" identifier = (binary_expression "pfVar17 + iVar24" identifier + identifier)) ;) (expression_statement "iVar36 = iVar36 + iVar40;" (assignment_expression "iVar36 = iVar36 + iVar40" identifier = (binary_expression "iVar36 + iVar40" identifier + identifier)) ;) }) while (parenthesized_expression "(iVar39 != iVar43)" ( (binary_expression "iVar39 != iVar43" identifier != identifier) )) ;) (expression_statement "pdStack_f7c = pdStack_f7c + iVar43;" (assignment_expression "pdStack_f7c = pdStack_f7c + iVar43" identifier = (binary_expression "pdStack_f7c + iVar43" identifier + identifier)) ;) (expression_statement "pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4);" (assignment_expression "pfVar8 = (float *)((int)pfVar8 + iVar43 * iVar24 * 4)" identifier = (cast_expression "(float *)((int)pfVar8 + iVar43 * iVar24 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar8 + iVar43 * iVar24 * 4)" ( (binary_expression "(int)pfVar8 + iVar43 * iVar24 * 4" (cast_expression "(int)pfVar8" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar43 * iVar24 * 4" (binary_expression "iVar43 * iVar24" identifier * identifier) * number_literal)) )))) ;) (expression_statement "iStack_f80 = iStack_f80 + iVar43 * iVar40;" (assignment_expression "iStack_f80 = iStack_f80 + iVar43 * iVar40" identifier = (binary_expression "iStack_f80 + iVar43 * iVar40" identifier + (binary_expression "iVar43 * iVar40" identifier * identifier))) ;) })) (expression_statement "pfVar8 = (float *)((int)pfVar8 + iVar24 * (int)pdVar18 * 4);" (assignment_expression "pfVar8 = (float *)((int)pfVar8 + iVar24 * (int)pdVar18 * 4)" identifier = (cast_expression "(float *)((int)pfVar8 + iVar24 * (int)pdVar18 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar8 + iVar24 * (int)pdVar18 * 4)" ( (binary_expression "(int)pfVar8 + iVar24 * (int)pdVar18 * 4" (cast_expression "(int)pfVar8" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar24 * (int)pdVar18 * 4" (binary_expression "iVar24 * (int)pdVar18" identifier * (cast_expression "(int)pdVar18" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal)) )))) ;) (expression_statement "iStack_f78 = iStack_f78 + 1;" (assignment_expression "iStack_f78 = iStack_f78 + 1" identifier = (binary_expression "iStack_f78 + 1" identifier + number_literal)) ;) (expression_statement "iStack_f80 = iStack_f80 + (int)pdVar18 * 4 * iVar38;" (assignment_expression "iStack_f80 = iStack_f80 + (int)pdVar18 * 4 * iVar38" identifier = (binary_expression "iStack_f80 + (int)pdVar18 * 4 * iVar38" identifier + (binary_expression "(int)pdVar18 * 4 * iVar38" (binary_expression "(int)pdVar18 * 4" (cast_expression "(int)pdVar18" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) * identifier))) ;) }) while (parenthesized_expression "(iStack_f78 != iVar15)" ( (binary_expression "iStack_f78 != iVar15" identifier != identifier) )) ;) })) (if_statement "if (0 < iVar24) {\n                piVar25 = *(int **)(iVar60 + 0x2d0);\n                iVar15 = 0;\n                iVar43 = *(int *)(iVar2 + 0x2d0);\n                piVar9 = piVar25;\n                do {\n                  if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)) &&\n                     ((uVar26 & 2) != 0)) {\n                    dVar57 = *(double *)((int)adStack_d10 + iVar15);\n                    dVar50 = *(double *)((int)adStack_6f8 + iVar15);\n                    pdVar4 = (double *)((int)adStack_f18 + iVar15);\n                    dVar52 = dVar57 * dVar50;\n                    dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52;\n                    dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54));\n                    *pdVar4 = *pdVar4 + dVar50;\n                    dStack_d18 = dStack_d18 + dVar50;\n                  }\n                  iVar15 = iVar15 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar15 != iVar24 << 3);\n              }" if (parenthesized_expression "(0 < iVar24)" ( (binary_expression "0 < iVar24" number_literal < identifier) )) (compound_statement "{\n                piVar25 = *(int **)(iVar60 + 0x2d0);\n                iVar15 = 0;\n                iVar43 = *(int *)(iVar2 + 0x2d0);\n                piVar9 = piVar25;\n                do {\n                  if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)) &&\n                     ((uVar26 & 2) != 0)) {\n                    dVar57 = *(double *)((int)adStack_d10 + iVar15);\n                    dVar50 = *(double *)((int)adStack_6f8 + iVar15);\n                    pdVar4 = (double *)((int)adStack_f18 + iVar15);\n                    dVar52 = dVar57 * dVar50;\n                    dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52;\n                    dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54));\n                    *pdVar4 = *pdVar4 + dVar50;\n                    dStack_d18 = dStack_d18 + dVar50;\n                  }\n                  iVar15 = iVar15 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar15 != iVar24 << 3);\n              }" { (expression_statement "piVar25 = *(int **)(iVar60 + 0x2d0);" (assignment_expression "piVar25 = *(int **)(iVar60 + 0x2d0)" identifier = (pointer_expression "*(int **)(iVar60 + 0x2d0)" * (cast_expression "(int **)(iVar60 + 0x2d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar60 + 0x2d0)" ( (binary_expression "iVar60 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (expression_statement "iVar43 = *(int *)(iVar2 + 0x2d0);" (assignment_expression "iVar43 = *(int *)(iVar2 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar2 + 0x2d0)" * (cast_expression "(int *)(iVar2 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2d0)" ( (binary_expression "iVar2 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "piVar9 = piVar25;" (assignment_expression "piVar9 = piVar25" identifier = identifier) ;) (do_statement "do {\n                  if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)) &&\n                     ((uVar26 & 2) != 0)) {\n                    dVar57 = *(double *)((int)adStack_d10 + iVar15);\n                    dVar50 = *(double *)((int)adStack_6f8 + iVar15);\n                    pdVar4 = (double *)((int)adStack_f18 + iVar15);\n                    dVar52 = dVar57 * dVar50;\n                    dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52;\n                    dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54));\n                    *pdVar4 = *pdVar4 + dVar50;\n                    dStack_d18 = dStack_d18 + dVar50;\n                  }\n                  iVar15 = iVar15 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar15 != iVar24 << 3);" do (compound_statement "{\n                  if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)) &&\n                     ((uVar26 & 2) != 0)) {\n                    dVar57 = *(double *)((int)adStack_d10 + iVar15);\n                    dVar50 = *(double *)((int)adStack_6f8 + iVar15);\n                    pdVar4 = (double *)((int)adStack_f18 + iVar15);\n                    dVar52 = dVar57 * dVar50;\n                    dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52;\n                    dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54));\n                    *pdVar4 = *pdVar4 + dVar50;\n                    dStack_d18 = dStack_d18 + dVar50;\n                  }\n                  iVar15 = iVar15 + 8;\n                  piVar9 = piVar9 + 3;\n                }" { (if_statement "if (((piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)) &&\n                     ((uVar26 & 2) != 0)) {\n                    dVar57 = *(double *)((int)adStack_d10 + iVar15);\n                    dVar50 = *(double *)((int)adStack_6f8 + iVar15);\n                    pdVar4 = (double *)((int)adStack_f18 + iVar15);\n                    dVar52 = dVar57 * dVar50;\n                    dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52;\n                    dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54));\n                    *pdVar4 = *pdVar4 + dVar50;\n                    dStack_d18 = dStack_d18 + dVar50;\n                  }" if (parenthesized_expression "(((piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)) &&\n                     ((uVar26 & 2) != 0))" ( (binary_expression "((piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)) &&\n                     ((uVar26 & 2) != 0)" (parenthesized_expression "((piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0))" ( (binary_expression "(piVar25[*piVar9 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)" (parenthesized_expression "(piVar25[*piVar9 * 3 + 1] != 0)" ( (binary_expression "piVar25[*piVar9 * 3 + 1] != 0" (subscript_expression "piVar25[*piVar9 * 3 + 1]" identifier [ (binary_expression "*piVar9 * 3 + 1" (binary_expression "*piVar9 * 3" (pointer_expression "*piVar9" * identifier) * number_literal) + number_literal) ]) != number_literal) )) && (parenthesized_expression "(uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0)" ( (comma_expression "uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4), uVar26 != 0" (assignment_expression "uVar26 = *(uint *)(iVar43 + *piVar9 * 0xc + 4)" identifier = (pointer_expression "*(uint *)(iVar43 + *piVar9 * 0xc + 4)" * (cast_expression "(uint *)(iVar43 + *piVar9 * 0xc + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar43 + *piVar9 * 0xc + 4)" ( (binary_expression "iVar43 + *piVar9 * 0xc + 4" (binary_expression "iVar43 + *piVar9 * 0xc" identifier + (binary_expression "*piVar9 * 0xc" (pointer_expression "*piVar9" * identifier) * number_literal)) + number_literal) ))))) , (binary_expression "uVar26 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "((uVar26 & 2) != 0)" ( (binary_expression "(uVar26 & 2) != 0" (parenthesized_expression "(uVar26 & 2)" ( (binary_expression "uVar26 & 2" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                    dVar57 = *(double *)((int)adStack_d10 + iVar15);\n                    dVar50 = *(double *)((int)adStack_6f8 + iVar15);\n                    pdVar4 = (double *)((int)adStack_f18 + iVar15);\n                    dVar52 = dVar57 * dVar50;\n                    dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52;\n                    dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54));\n                    *pdVar4 = *pdVar4 + dVar50;\n                    dStack_d18 = dStack_d18 + dVar50;\n                  }" { (expression_statement "dVar57 = *(double *)((int)adStack_d10 + iVar15);" (assignment_expression "dVar57 = *(double *)((int)adStack_d10 + iVar15)" identifier = (pointer_expression "*(double *)((int)adStack_d10 + iVar15)" * (cast_expression "(double *)((int)adStack_d10 + iVar15)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_d10 + iVar15)" ( (binary_expression "(int)adStack_d10 + iVar15" (cast_expression "(int)adStack_d10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))))) ;) (expression_statement "dVar50 = *(double *)((int)adStack_6f8 + iVar15);" (assignment_expression "dVar50 = *(double *)((int)adStack_6f8 + iVar15)" identifier = (pointer_expression "*(double *)((int)adStack_6f8 + iVar15)" * (cast_expression "(double *)((int)adStack_6f8 + iVar15)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_6f8 + iVar15)" ( (binary_expression "(int)adStack_6f8 + iVar15" (cast_expression "(int)adStack_6f8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))))) ;) (expression_statement "pdVar4 = (double *)((int)adStack_f18 + iVar15);" (assignment_expression "pdVar4 = (double *)((int)adStack_f18 + iVar15)" identifier = (cast_expression "(double *)((int)adStack_f18 + iVar15)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_f18 + iVar15)" ( (binary_expression "(int)adStack_f18 + iVar15" (cast_expression "(int)adStack_f18" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "dVar52 = dVar57 * dVar50;" (assignment_expression "dVar52 = dVar57 * dVar50" identifier = (binary_expression "dVar57 * dVar50" identifier * identifier)) ;) (expression_statement "dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52;" (assignment_expression "dVar56 = *(double *)((int)adStack_900 + iVar15) - dVar52" identifier = (binary_expression "*(double *)((int)adStack_900 + iVar15) - dVar52" (pointer_expression "*(double *)((int)adStack_900 + iVar15)" * (cast_expression "(double *)((int)adStack_900 + iVar15)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_900 + iVar15)" ( (binary_expression "(int)adStack_900 + iVar15" (cast_expression "(int)adStack_900" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) - identifier)) ;) (expression_statement "dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54));" (assignment_expression "dVar50 = ((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54))" identifier = (binary_expression "((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)) /\n                             (((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54))" (parenthesized_expression "((dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54))" ( (binary_expression "(dVar56 + dVar56 + dVar55) * (dVar52 + dVar52 + dVar54)" (parenthesized_expression "(dVar56 + dVar56 + dVar55)" ( (binary_expression "dVar56 + dVar56 + dVar55" (binary_expression "dVar56 + dVar56" identifier + identifier) + identifier) )) * (parenthesized_expression "(dVar52 + dVar52 + dVar54)" ( (binary_expression "dVar52 + dVar52 + dVar54" (binary_expression "dVar52 + dVar52" identifier + identifier) + identifier) ))) )) / (parenthesized_expression "(((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54))" ( (binary_expression "((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)\n                             * (dVar57 * dVar57 + dVar50 * dVar50 + dVar54)" (parenthesized_expression "((*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55)" ( (binary_expression "(*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50) + dVar55" (binary_expression "(*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57) +\n                               (*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50)" (parenthesized_expression "(*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57)" ( (binary_expression "*(double *)((int)adStack_b08 + iVar15) - dVar57 * dVar57" (pointer_expression "*(double *)((int)adStack_b08 + iVar15)" * (cast_expression "(double *)((int)adStack_b08 + iVar15)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_b08 + iVar15)" ( (binary_expression "(int)adStack_b08 + iVar15" (cast_expression "(int)adStack_b08" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) - (binary_expression "dVar57 * dVar57" identifier * identifier)) )) + (parenthesized_expression "(*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50)" ( (binary_expression "*(double *)((int)adStack_4f0 + iVar15) - dVar50 * dVar50" (pointer_expression "*(double *)((int)adStack_4f0 + iVar15)" * (cast_expression "(double *)((int)adStack_4f0 + iVar15)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_4f0 + iVar15)" ( (binary_expression "(int)adStack_4f0 + iVar15" (cast_expression "(int)adStack_4f0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) - (binary_expression "dVar50 * dVar50" identifier * identifier)) ))) + identifier) )) * (parenthesized_expression "(dVar57 * dVar57 + dVar50 * dVar50 + dVar54)" ( (binary_expression "dVar57 * dVar57 + dVar50 * dVar50 + dVar54" (binary_expression "dVar57 * dVar57 + dVar50 * dVar50" (binary_expression "dVar57 * dVar57" identifier * identifier) + (binary_expression "dVar50 * dVar50" identifier * identifier)) + identifier) ))) )))) ;) (expression_statement "*pdVar4 = *pdVar4 + dVar50;" (assignment_expression "*pdVar4 = *pdVar4 + dVar50" (pointer_expression "*pdVar4" * identifier) = (binary_expression "*pdVar4 + dVar50" (pointer_expression "*pdVar4" * identifier) + identifier)) ;) (expression_statement "dStack_d18 = dStack_d18 + dVar50;" (assignment_expression "dStack_d18 = dStack_d18 + dVar50" identifier = (binary_expression "dStack_d18 + dVar50" identifier + identifier)) ;) })) (expression_statement "iVar15 = iVar15 + 8;" (assignment_expression "iVar15 = iVar15 + 8" identifier = (binary_expression "iVar15 + 8" identifier + number_literal)) ;) (expression_statement "piVar9 = piVar9 + 3;" (assignment_expression "piVar9 = piVar9 + 3" identifier = (binary_expression "piVar9 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar15 != iVar24 << 3)" ( (binary_expression "iVar15 != iVar24 << 3" identifier != (binary_expression "iVar24 << 3" identifier << number_literal)) )) ;) })) (expression_statement "pfStack_f50 = pfStack_f50 + iVar24;" (assignment_expression "pfStack_f50 = pfStack_f50 + iVar24" identifier = (binary_expression "pfStack_f50 + iVar24" identifier + identifier)) ;) (expression_statement "pdStack_f4c = (double *)((int)pdStack_f4c + 1);" (assignment_expression "pdStack_f4c = (double *)((int)pdStack_f4c + 1)" identifier = (cast_expression "(double *)((int)pdStack_f4c + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdStack_f4c + 1)" ( (binary_expression "(int)pdStack_f4c + 1" (cast_expression "(int)pdStack_f4c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iStack_f54 = iStack_f54 + iVar40;" (assignment_expression "iStack_f54 = iStack_f54 + iVar40" identifier = (binary_expression "iStack_f54 + iVar40" identifier + identifier)) ;) (expression_statement "pcVar46 = *(code **)(puVar42 + 0x336490);" (assignment_expression "pcVar46 = *(code **)(puVar42 + 0x336490)" identifier = (pointer_expression "*(code **)(puVar42 + 0x336490)" * (cast_expression "(code **)(puVar42 + 0x336490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x336490)" ( (binary_expression "puVar42 + 0x336490" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(pdVar18 != pdStack_f4c)" ( (binary_expression "pdVar18 != pdStack_f4c" identifier != identifier) )) ;) })) (expression_statement "(**(code **)(puVar42 + 0x3364f0))(*(undefined4 *)(puVar42 + 0x3360c4));" (call_expression "(**(code **)(puVar42 + 0x3364f0))(*(undefined4 *)(puVar42 + 0x3360c4))" (parenthesized_expression "(**(code **)(puVar42 + 0x3364f0))" ( (pointer_expression "**(code **)(puVar42 + 0x3364f0)" * (pointer_expression "*(code **)(puVar42 + 0x3364f0)" * (cast_expression "(code **)(puVar42 + 0x3364f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x3364f0)" ( (binary_expression "puVar42 + 0x3364f0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar42 + 0x3360c4))" ( (pointer_expression "*(undefined4 *)(puVar42 + 0x3360c4)" * (cast_expression "(undefined4 *)(puVar42 + 0x3360c4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar42 + 0x3360c4)" ( (binary_expression "puVar42 + 0x3360c4" identifier + number_literal) )))) ))) ;) (expression_statement "pdVar4 = adStack_f18;" (assignment_expression "pdVar4 = adStack_f18" identifier = identifier) ;) (expression_statement "pdVar30 = pdVar12;" (assignment_expression "pdVar30 = pdVar12" identifier = identifier) ;) (do_statement "do {\n            pdVar27 = pdVar4 + 1;\n            *pdVar30 = *pdVar30 + *pdVar4;\n            pdVar4 = pdVar27;\n            pdVar30 = pdVar30 + 1;\n          } while (adStack_d10 != pdVar27);" do (compound_statement "{\n            pdVar27 = pdVar4 + 1;\n            *pdVar30 = *pdVar30 + *pdVar4;\n            pdVar4 = pdVar27;\n            pdVar30 = pdVar30 + 1;\n          }" { (expression_statement "pdVar27 = pdVar4 + 1;" (assignment_expression "pdVar27 = pdVar4 + 1" identifier = (binary_expression "pdVar4 + 1" identifier + number_literal)) ;) (expression_statement "*pdVar30 = *pdVar30 + *pdVar4;" (assignment_expression "*pdVar30 = *pdVar30 + *pdVar4" (pointer_expression "*pdVar30" * identifier) = (binary_expression "*pdVar30 + *pdVar4" (pointer_expression "*pdVar30" * identifier) + (pointer_expression "*pdVar4" * identifier))) ;) (expression_statement "pdVar4 = pdVar27;" (assignment_expression "pdVar4 = pdVar27" identifier = identifier) ;) (expression_statement "pdVar30 = pdVar30 + 1;" (assignment_expression "pdVar30 = pdVar30 + 1" identifier = (binary_expression "pdVar30 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(adStack_d10 != pdVar27)" ( (binary_expression "adStack_d10 != pdVar27" identifier != identifier) )) ;) (expression_statement "pdVar4 = *(double **)(puVar42 + 0x3360c4);" (assignment_expression "pdVar4 = *(double **)(puVar42 + 0x3360c4)" identifier = (pointer_expression "*(double **)(puVar42 + 0x3360c4)" * (cast_expression "(double **)(puVar42 + 0x3360c4)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x3360c4)" ( (binary_expression "puVar42 + 0x3360c4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(puVar42 + 0x336168))();" (call_expression "(**(code **)(puVar42 + 0x336168))()" (parenthesized_expression "(**(code **)(puVar42 + 0x336168))" ( (pointer_expression "**(code **)(puVar42 + 0x336168)" * (pointer_expression "*(code **)(puVar42 + 0x336168)" * (cast_expression "(code **)(puVar42 + 0x336168)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x336168)" ( (binary_expression "puVar42 + 0x336168" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }))) })) (expression_statement "pdStack_f48 = (double *)((int)pdStack_f48 + 1);" (assignment_expression "pdStack_f48 = (double *)((int)pdStack_f48 + 1)" identifier = (cast_expression "(double *)((int)pdStack_f48 + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdStack_f48 + 1)" ( (binary_expression "(int)pdStack_f48 + 1" (cast_expression "(int)pdStack_f48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(pdVar7 != pdStack_f48)" ( (binary_expression "pdVar7 != pdStack_f48" identifier != identifier) )) ;) })) (if_statement "if (iStack_2e4 == *piVar32) {\n    return;\n  }" if (parenthesized_expression "(iStack_2e4 == *piVar32)" ( (binary_expression "iStack_2e4 == *piVar32" identifier == (pointer_expression "*piVar32" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar46 = *(code **)(puVar42 + 0x335e20);" (assignment_expression "pcVar46 = *(code **)(puVar42 + 0x335e20)" identifier = (pointer_expression "*(code **)(puVar42 + 0x335e20)" * (cast_expression "(code **)(puVar42 + 0x335e20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar42 + 0x335e20)" ( (binary_expression "puVar42 + 0x335e20" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar46)();" (call_expression "(*pcVar46)()" (parenthesized_expression "(*pcVar46)" ( (pointer_expression "*pcVar46" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar3 = (**(code **)(pcVar46 + 0x336064))();" (assignment_expression "iVar3 = (**(code **)(pcVar46 + 0x336064))()" identifier = (call_expression "(**(code **)(pcVar46 + 0x336064))()" (parenthesized_expression "(**(code **)(pcVar46 + 0x336064))" ( (pointer_expression "**(code **)(pcVar46 + 0x336064)" * (pointer_expression "*(code **)(pcVar46 + 0x336064)" * (cast_expression "(code **)(pcVar46 + 0x336064)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar46 + 0x336064)" ( (binary_expression "pcVar46 + 0x336064" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar2 = (**(code **)(pcVar46 + 0x335c60))();" (assignment_expression "iVar2 = (**(code **)(pcVar46 + 0x335c60))()" identifier = (call_expression "(**(code **)(pcVar46 + 0x335c60))()" (parenthesized_expression "(**(code **)(pcVar46 + 0x335c60))" ( (pointer_expression "**(code **)(pcVar46 + 0x335c60)" * (pointer_expression "*(code **)(pcVar46 + 0x335c60)" * (cast_expression "(code **)(pcVar46 + 0x335c60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar46 + 0x335c60)" ( (binary_expression "pcVar46 + 0x335c60" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    trap(7);\n  }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "iVar60 = *(int *)((int)pdVar4 + 0x34) / iVar3;" (assignment_expression "iVar60 = *(int *)((int)pdVar4 + 0x34) / iVar3" identifier = (binary_expression "*(int *)((int)pdVar4 + 0x34) / iVar3" (pointer_expression "*(int *)((int)pdVar4 + 0x34)" * (cast_expression "(int *)((int)pdVar4 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar4 + 0x34)" ( (binary_expression "(int)pdVar4 + 0x34" (cast_expression "(int)pdVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) / identifier)) ;) (expression_statement "iVar3 = *(int *)((int)pdVar4 + 0x34) % iVar3;" (assignment_expression "iVar3 = *(int *)((int)pdVar4 + 0x34) % iVar3" identifier = (binary_expression "*(int *)((int)pdVar4 + 0x34) % iVar3" (pointer_expression "*(int *)((int)pdVar4 + 0x34)" * (cast_expression "(int *)((int)pdVar4 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar4 + 0x34)" ( (binary_expression "(int)pdVar4 + 0x34" (cast_expression "(int)pdVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) % identifier)) ;) (if_statement "if (iVar2 < iVar3) {\n    iVar60 = iVar60 + 1;\n    iVar3 = 0;\n  }" if (parenthesized_expression "(iVar2 < iVar3)" ( (binary_expression "iVar2 < iVar3" identifier < identifier) )) (compound_statement "{\n    iVar60 = iVar60 + 1;\n    iVar3 = 0;\n  }" { (expression_statement "iVar60 = iVar60 + 1;" (assignment_expression "iVar60 = iVar60 + 1" identifier = (binary_expression "iVar60 + 1" identifier + number_literal)) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) })) (expression_statement "iVar3 = iVar60 * iVar2 + iVar3;" (assignment_expression "iVar3 = iVar60 * iVar2 + iVar3" identifier = (binary_expression "iVar60 * iVar2 + iVar3" (binary_expression "iVar60 * iVar2" identifier * identifier) + identifier)) ;) (expression_statement "iVar60 = iVar60 + iVar3;" (assignment_expression "iVar60 = iVar60 + iVar3" identifier = (binary_expression "iVar60 + iVar3" identifier + identifier)) ;) (expression_statement "iVar2 = *(int *)(pcVar46 + 0x335038);" (assignment_expression "iVar2 = *(int *)(pcVar46 + 0x335038)" identifier = (pointer_expression "*(int *)(pcVar46 + 0x335038)" * (cast_expression "(int *)(pcVar46 + 0x335038)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 0x335038)" ( (binary_expression "pcVar46 + 0x335038" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 < iVar60) {\n    iVar38 = *(int *)(pcVar46 + 0x335038);\n    iVar24 = *(int *)(pcVar46 + 0x335038);\n    uVar59 = (ulonglong)*(uint *)(iVar2 + 0x1a50);\n    uVar5 = *(undefined4 *)((int)pdVar4 + 0x1c);\n    dVar54 = *pdVar4;\n    iVar40 = *(int *)(pdVar4 + 4);\n    dVar55 = *(double *)(iVar38 + 0x1438);\n    iVar15 = *(int *)((int)pdVar4 + 0xc);\n    dVar58 = *(double *)(iVar24 + 0x1440);\n    iVar36 = *(int *)(pdVar4 + 1);\n    iVar43 = *(int *)(pdVar4 + 6);\n    uVar45 = *(undefined4 *)(pdVar4 + 2);\n    uVar6 = *(undefined4 *)(pdVar4 + 3);\n    uVar14 = *(undefined4 *)((int)pdVar4 + 0x14);\n    do {\n      if (*(int *)(pdVar4 + 7) != 0) {\n        iVar39 = (**(code **)(pcVar46 + 0x335db4))(uVar6,0,iVar3,iVar43,1,uVar45);\n        iVar13 = (**(code **)(pcVar46 + 0x335db4))(uVar5,0,iVar3,iVar43,1,uVar45);\n        iVar34 = (**(code **)(pcVar46 + 0x3353a8))(uVar14,0,iVar3,iVar43,1,uVar45);\n        if (((iVar39 != 0) && (iVar13 != 0)) && (iVar34 != 0)) {\n          if (0 < iVar43) {\n            iVar21 = 0;\n            piVar32 = *(int **)(iVar36 + 0x2d0);\n            iVar35 = *(int *)((int)pdVar4 + 0x2c);\n            fVar53 = *(float *)(iVar2 + 0x1a50);\n            iVar41 = piVar32[0x13];\n            iVar44 = *(int *)((int)pdVar4 + 0x24);\n            fVar51 = *(float *)(*(int *)(pcVar46 + 0x335038) + 0x3708);\n            iVar37 = *(int *)(pdVar4 + 5);\n            dVar50 = *(double *)(iVar38 + 0x1438);\n            dVar52 = *(double *)(iVar24 + 0x1440);\n            do {\n              while (((iVar41 != 0 && (*(float *)(iVar39 + piVar32[0x14] * 4) <= fVar51)) ||\n                     ((iVar16 = *(int *)(iVar15 + 0x2d0), *(int *)(iVar16 + 0x4c) != 0 &&\n                      (*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51))))) {\n                iVar16 = *(int *)(iVar40 + 0x2d0);\n                dVar57 = *(double *)(iVar35 + 0x30);\n                dVar56 = *(double *)(iVar35 + 0x38);\n                iVar22 = *(int *)(iVar16 + 0x14);\n                iVar20 = *(int *)(iVar16 + 0x20);\n                iVar28 = *(int *)(iVar16 + 0x28);\n                *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar35 + 0x28);\n                *(float *)(iVar34 + iVar22 * 4) = (float)dVar57;\n                *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                if (iVar28 != 0) {\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                       (float)*(double *)(iVar35 + 0x40);\n                }\n                if (*(int *)(iVar16 + 0x34) != 0) {\n                  fVar48 = fVar53;\n                  if (*(int *)(iVar35 + 8) != 0) {\n                    fVar48 = (float)*(double *)(iVar35 + 0x48);\n                  }\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n                }\n                iVar21 = iVar21 + 1;\n                iVar39 = iVar39 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n                iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar21 == iVar43) goto LAB_00073d60;\n              }\n              dVar56 = dVar50;\n              if (piVar32[0xd] != 0) {\n                dVar56 = (double)*(float *)(iVar39 + piVar32[0xe] * 4) * dVar52;\n              }\n              dVar57 = dVar55;\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                dVar57 = (double)*(float *)(iVar13 + *(int *)(iVar16 + 0x38) * 4) * dVar58;\n              }\n              iVar22 = *(int *)(iVar36 + 0x2c0);\n              iVar20 = 0;\n              piVar9 = piVar32;\n              if (0 < iVar22) {\n                do {\n                  iVar23 = *piVar9;\n                  iVar28 = iVar16 + iVar23 * 0xc;\n                  if (((piVar32[iVar23 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)) && ((uVar26 & 2) != 0)) {\n                    dVar49 = (double)*(float *)(iVar39 + iVar20 * 4);\n                    dVar47 = (double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4);\n                    if (iVar23 == 4) {\n                      dVar49 = dVar49 - dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    else {\n                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    if (dVar54 <= dVar49) {\n                      iVar16 = *(int *)(iVar40 + 0x2d0);\n                      dVar57 = *(double *)(iVar44 + 0x30);\n                      dVar56 = *(double *)(iVar44 + 0x38);\n                      iVar28 = *(int *)(iVar16 + 0x14);\n                      iVar20 = *(int *)(iVar16 + 0x20);\n                      iVar23 = *(int *)(iVar16 + 0x28);\n                      *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28);\n                      *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n                      *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                      if (iVar23 != 0) {\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }\n                      if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;\n                      fVar48 = fVar53;\n                      if (*(int *)(iVar44 + 8) != 0) {\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar20 = iVar20 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar22 != iVar20);\n              }\n              iVar16 = *(int *)(iVar40 + 0x2d0);\n              dVar57 = *(double *)(iVar37 + 0x30);\n              dVar56 = *(double *)(iVar37 + 0x38);\n              iVar28 = *(int *)(iVar16 + 0x14);\n              iVar20 = *(int *)(iVar16 + 0x20);\n              iVar23 = *(int *)(iVar16 + 0x28);\n              *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar37 + 0x28);\n              *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n              *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n              if (iVar23 != 0) {\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) = (float)*(double *)(iVar37 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                if (*(int *)(iVar37 + 8) == 0) {\n                  fVar48 = (float)uVar59;\n                }\n                else {\n                  fVar48 = (float)*(double *)(iVar37 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n              }\nLAB_00073d38:\n              iVar21 = iVar21 + 1;\n              iVar39 = iVar39 + iVar22 * 4;\n              iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n              iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar21 != iVar43);\n          }\nLAB_00073d60:\n          iVar39 = (**(code **)(pcVar46 + 0x335c50))(uVar14,uVar45);\n          if (iVar39 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar4 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    } while (iVar60 != iVar3);\n  }" if (parenthesized_expression "(iVar3 < iVar60)" ( (binary_expression "iVar3 < iVar60" identifier < identifier) )) (compound_statement "{\n    iVar38 = *(int *)(pcVar46 + 0x335038);\n    iVar24 = *(int *)(pcVar46 + 0x335038);\n    uVar59 = (ulonglong)*(uint *)(iVar2 + 0x1a50);\n    uVar5 = *(undefined4 *)((int)pdVar4 + 0x1c);\n    dVar54 = *pdVar4;\n    iVar40 = *(int *)(pdVar4 + 4);\n    dVar55 = *(double *)(iVar38 + 0x1438);\n    iVar15 = *(int *)((int)pdVar4 + 0xc);\n    dVar58 = *(double *)(iVar24 + 0x1440);\n    iVar36 = *(int *)(pdVar4 + 1);\n    iVar43 = *(int *)(pdVar4 + 6);\n    uVar45 = *(undefined4 *)(pdVar4 + 2);\n    uVar6 = *(undefined4 *)(pdVar4 + 3);\n    uVar14 = *(undefined4 *)((int)pdVar4 + 0x14);\n    do {\n      if (*(int *)(pdVar4 + 7) != 0) {\n        iVar39 = (**(code **)(pcVar46 + 0x335db4))(uVar6,0,iVar3,iVar43,1,uVar45);\n        iVar13 = (**(code **)(pcVar46 + 0x335db4))(uVar5,0,iVar3,iVar43,1,uVar45);\n        iVar34 = (**(code **)(pcVar46 + 0x3353a8))(uVar14,0,iVar3,iVar43,1,uVar45);\n        if (((iVar39 != 0) && (iVar13 != 0)) && (iVar34 != 0)) {\n          if (0 < iVar43) {\n            iVar21 = 0;\n            piVar32 = *(int **)(iVar36 + 0x2d0);\n            iVar35 = *(int *)((int)pdVar4 + 0x2c);\n            fVar53 = *(float *)(iVar2 + 0x1a50);\n            iVar41 = piVar32[0x13];\n            iVar44 = *(int *)((int)pdVar4 + 0x24);\n            fVar51 = *(float *)(*(int *)(pcVar46 + 0x335038) + 0x3708);\n            iVar37 = *(int *)(pdVar4 + 5);\n            dVar50 = *(double *)(iVar38 + 0x1438);\n            dVar52 = *(double *)(iVar24 + 0x1440);\n            do {\n              while (((iVar41 != 0 && (*(float *)(iVar39 + piVar32[0x14] * 4) <= fVar51)) ||\n                     ((iVar16 = *(int *)(iVar15 + 0x2d0), *(int *)(iVar16 + 0x4c) != 0 &&\n                      (*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51))))) {\n                iVar16 = *(int *)(iVar40 + 0x2d0);\n                dVar57 = *(double *)(iVar35 + 0x30);\n                dVar56 = *(double *)(iVar35 + 0x38);\n                iVar22 = *(int *)(iVar16 + 0x14);\n                iVar20 = *(int *)(iVar16 + 0x20);\n                iVar28 = *(int *)(iVar16 + 0x28);\n                *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar35 + 0x28);\n                *(float *)(iVar34 + iVar22 * 4) = (float)dVar57;\n                *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                if (iVar28 != 0) {\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                       (float)*(double *)(iVar35 + 0x40);\n                }\n                if (*(int *)(iVar16 + 0x34) != 0) {\n                  fVar48 = fVar53;\n                  if (*(int *)(iVar35 + 8) != 0) {\n                    fVar48 = (float)*(double *)(iVar35 + 0x48);\n                  }\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n                }\n                iVar21 = iVar21 + 1;\n                iVar39 = iVar39 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n                iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar21 == iVar43) goto LAB_00073d60;\n              }\n              dVar56 = dVar50;\n              if (piVar32[0xd] != 0) {\n                dVar56 = (double)*(float *)(iVar39 + piVar32[0xe] * 4) * dVar52;\n              }\n              dVar57 = dVar55;\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                dVar57 = (double)*(float *)(iVar13 + *(int *)(iVar16 + 0x38) * 4) * dVar58;\n              }\n              iVar22 = *(int *)(iVar36 + 0x2c0);\n              iVar20 = 0;\n              piVar9 = piVar32;\n              if (0 < iVar22) {\n                do {\n                  iVar23 = *piVar9;\n                  iVar28 = iVar16 + iVar23 * 0xc;\n                  if (((piVar32[iVar23 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)) && ((uVar26 & 2) != 0)) {\n                    dVar49 = (double)*(float *)(iVar39 + iVar20 * 4);\n                    dVar47 = (double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4);\n                    if (iVar23 == 4) {\n                      dVar49 = dVar49 - dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    else {\n                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    if (dVar54 <= dVar49) {\n                      iVar16 = *(int *)(iVar40 + 0x2d0);\n                      dVar57 = *(double *)(iVar44 + 0x30);\n                      dVar56 = *(double *)(iVar44 + 0x38);\n                      iVar28 = *(int *)(iVar16 + 0x14);\n                      iVar20 = *(int *)(iVar16 + 0x20);\n                      iVar23 = *(int *)(iVar16 + 0x28);\n                      *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28);\n                      *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n                      *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                      if (iVar23 != 0) {\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }\n                      if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;\n                      fVar48 = fVar53;\n                      if (*(int *)(iVar44 + 8) != 0) {\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar20 = iVar20 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar22 != iVar20);\n              }\n              iVar16 = *(int *)(iVar40 + 0x2d0);\n              dVar57 = *(double *)(iVar37 + 0x30);\n              dVar56 = *(double *)(iVar37 + 0x38);\n              iVar28 = *(int *)(iVar16 + 0x14);\n              iVar20 = *(int *)(iVar16 + 0x20);\n              iVar23 = *(int *)(iVar16 + 0x28);\n              *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar37 + 0x28);\n              *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n              *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n              if (iVar23 != 0) {\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) = (float)*(double *)(iVar37 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                if (*(int *)(iVar37 + 8) == 0) {\n                  fVar48 = (float)uVar59;\n                }\n                else {\n                  fVar48 = (float)*(double *)(iVar37 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n              }\nLAB_00073d38:\n              iVar21 = iVar21 + 1;\n              iVar39 = iVar39 + iVar22 * 4;\n              iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n              iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar21 != iVar43);\n          }\nLAB_00073d60:\n          iVar39 = (**(code **)(pcVar46 + 0x335c50))(uVar14,uVar45);\n          if (iVar39 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar4 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    } while (iVar60 != iVar3);\n  }" { (expression_statement "iVar38 = *(int *)(pcVar46 + 0x335038);" (assignment_expression "iVar38 = *(int *)(pcVar46 + 0x335038)" identifier = (pointer_expression "*(int *)(pcVar46 + 0x335038)" * (cast_expression "(int *)(pcVar46 + 0x335038)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 0x335038)" ( (binary_expression "pcVar46 + 0x335038" identifier + number_literal) ))))) ;) (expression_statement "iVar24 = *(int *)(pcVar46 + 0x335038);" (assignment_expression "iVar24 = *(int *)(pcVar46 + 0x335038)" identifier = (pointer_expression "*(int *)(pcVar46 + 0x335038)" * (cast_expression "(int *)(pcVar46 + 0x335038)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 0x335038)" ( (binary_expression "pcVar46 + 0x335038" identifier + number_literal) ))))) ;) (expression_statement "uVar59 = (ulonglong)*(uint *)(iVar2 + 0x1a50);" (assignment_expression "uVar59 = (ulonglong)*(uint *)(iVar2 + 0x1a50)" identifier = (binary_expression "(ulonglong)*(uint *)(iVar2 + 0x1a50)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(iVar2 + 0x1a50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1a50)" ( (binary_expression "iVar2 + 0x1a50" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(undefined4 *)((int)pdVar4 + 0x1c);" (assignment_expression "uVar5 = *(undefined4 *)((int)pdVar4 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)((int)pdVar4 + 0x1c)" * (cast_expression "(undefined4 *)((int)pdVar4 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar4 + 0x1c)" ( (binary_expression "(int)pdVar4 + 0x1c" (cast_expression "(int)pdVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "dVar54 = *pdVar4;" (assignment_expression "dVar54 = *pdVar4" identifier = (pointer_expression "*pdVar4" * identifier)) ;) (expression_statement "iVar40 = *(int *)(pdVar4 + 4);" (assignment_expression "iVar40 = *(int *)(pdVar4 + 4)" identifier = (pointer_expression "*(int *)(pdVar4 + 4)" * (cast_expression "(int *)(pdVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar4 + 4)" ( (binary_expression "pdVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "dVar55 = *(double *)(iVar38 + 0x1438);" (assignment_expression "dVar55 = *(double *)(iVar38 + 0x1438)" identifier = (pointer_expression "*(double *)(iVar38 + 0x1438)" * (cast_expression "(double *)(iVar38 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar38 + 0x1438)" ( (binary_expression "iVar38 + 0x1438" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)((int)pdVar4 + 0xc);" (assignment_expression "iVar15 = *(int *)((int)pdVar4 + 0xc)" identifier = (pointer_expression "*(int *)((int)pdVar4 + 0xc)" * (cast_expression "(int *)((int)pdVar4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar4 + 0xc)" ( (binary_expression "(int)pdVar4 + 0xc" (cast_expression "(int)pdVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "dVar58 = *(double *)(iVar24 + 0x1440);" (assignment_expression "dVar58 = *(double *)(iVar24 + 0x1440)" identifier = (pointer_expression "*(double *)(iVar24 + 0x1440)" * (cast_expression "(double *)(iVar24 + 0x1440)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x1440)" ( (binary_expression "iVar24 + 0x1440" identifier + number_literal) ))))) ;) (expression_statement "iVar36 = *(int *)(pdVar4 + 1);" (assignment_expression "iVar36 = *(int *)(pdVar4 + 1)" identifier = (pointer_expression "*(int *)(pdVar4 + 1)" * (cast_expression "(int *)(pdVar4 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar4 + 1)" ( (binary_expression "pdVar4 + 1" identifier + number_literal) ))))) ;) (expression_statement "iVar43 = *(int *)(pdVar4 + 6);" (assignment_expression "iVar43 = *(int *)(pdVar4 + 6)" identifier = (pointer_expression "*(int *)(pdVar4 + 6)" * (cast_expression "(int *)(pdVar4 + 6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar4 + 6)" ( (binary_expression "pdVar4 + 6" identifier + number_literal) ))))) ;) (expression_statement "uVar45 = *(undefined4 *)(pdVar4 + 2);" (assignment_expression "uVar45 = *(undefined4 *)(pdVar4 + 2)" identifier = (pointer_expression "*(undefined4 *)(pdVar4 + 2)" * (cast_expression "(undefined4 *)(pdVar4 + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar4 + 2)" ( (binary_expression "pdVar4 + 2" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(undefined4 *)(pdVar4 + 3);" (assignment_expression "uVar6 = *(undefined4 *)(pdVar4 + 3)" identifier = (pointer_expression "*(undefined4 *)(pdVar4 + 3)" * (cast_expression "(undefined4 *)(pdVar4 + 3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar4 + 3)" ( (binary_expression "pdVar4 + 3" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = *(undefined4 *)((int)pdVar4 + 0x14);" (assignment_expression "uVar14 = *(undefined4 *)((int)pdVar4 + 0x14)" identifier = (pointer_expression "*(undefined4 *)((int)pdVar4 + 0x14)" * (cast_expression "(undefined4 *)((int)pdVar4 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar4 + 0x14)" ( (binary_expression "(int)pdVar4 + 0x14" (cast_expression "(int)pdVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (do_statement "do {\n      if (*(int *)(pdVar4 + 7) != 0) {\n        iVar39 = (**(code **)(pcVar46 + 0x335db4))(uVar6,0,iVar3,iVar43,1,uVar45);\n        iVar13 = (**(code **)(pcVar46 + 0x335db4))(uVar5,0,iVar3,iVar43,1,uVar45);\n        iVar34 = (**(code **)(pcVar46 + 0x3353a8))(uVar14,0,iVar3,iVar43,1,uVar45);\n        if (((iVar39 != 0) && (iVar13 != 0)) && (iVar34 != 0)) {\n          if (0 < iVar43) {\n            iVar21 = 0;\n            piVar32 = *(int **)(iVar36 + 0x2d0);\n            iVar35 = *(int *)((int)pdVar4 + 0x2c);\n            fVar53 = *(float *)(iVar2 + 0x1a50);\n            iVar41 = piVar32[0x13];\n            iVar44 = *(int *)((int)pdVar4 + 0x24);\n            fVar51 = *(float *)(*(int *)(pcVar46 + 0x335038) + 0x3708);\n            iVar37 = *(int *)(pdVar4 + 5);\n            dVar50 = *(double *)(iVar38 + 0x1438);\n            dVar52 = *(double *)(iVar24 + 0x1440);\n            do {\n              while (((iVar41 != 0 && (*(float *)(iVar39 + piVar32[0x14] * 4) <= fVar51)) ||\n                     ((iVar16 = *(int *)(iVar15 + 0x2d0), *(int *)(iVar16 + 0x4c) != 0 &&\n                      (*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51))))) {\n                iVar16 = *(int *)(iVar40 + 0x2d0);\n                dVar57 = *(double *)(iVar35 + 0x30);\n                dVar56 = *(double *)(iVar35 + 0x38);\n                iVar22 = *(int *)(iVar16 + 0x14);\n                iVar20 = *(int *)(iVar16 + 0x20);\n                iVar28 = *(int *)(iVar16 + 0x28);\n                *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar35 + 0x28);\n                *(float *)(iVar34 + iVar22 * 4) = (float)dVar57;\n                *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                if (iVar28 != 0) {\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                       (float)*(double *)(iVar35 + 0x40);\n                }\n                if (*(int *)(iVar16 + 0x34) != 0) {\n                  fVar48 = fVar53;\n                  if (*(int *)(iVar35 + 8) != 0) {\n                    fVar48 = (float)*(double *)(iVar35 + 0x48);\n                  }\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n                }\n                iVar21 = iVar21 + 1;\n                iVar39 = iVar39 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n                iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar21 == iVar43) goto LAB_00073d60;\n              }\n              dVar56 = dVar50;\n              if (piVar32[0xd] != 0) {\n                dVar56 = (double)*(float *)(iVar39 + piVar32[0xe] * 4) * dVar52;\n              }\n              dVar57 = dVar55;\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                dVar57 = (double)*(float *)(iVar13 + *(int *)(iVar16 + 0x38) * 4) * dVar58;\n              }\n              iVar22 = *(int *)(iVar36 + 0x2c0);\n              iVar20 = 0;\n              piVar9 = piVar32;\n              if (0 < iVar22) {\n                do {\n                  iVar23 = *piVar9;\n                  iVar28 = iVar16 + iVar23 * 0xc;\n                  if (((piVar32[iVar23 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)) && ((uVar26 & 2) != 0)) {\n                    dVar49 = (double)*(float *)(iVar39 + iVar20 * 4);\n                    dVar47 = (double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4);\n                    if (iVar23 == 4) {\n                      dVar49 = dVar49 - dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    else {\n                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    if (dVar54 <= dVar49) {\n                      iVar16 = *(int *)(iVar40 + 0x2d0);\n                      dVar57 = *(double *)(iVar44 + 0x30);\n                      dVar56 = *(double *)(iVar44 + 0x38);\n                      iVar28 = *(int *)(iVar16 + 0x14);\n                      iVar20 = *(int *)(iVar16 + 0x20);\n                      iVar23 = *(int *)(iVar16 + 0x28);\n                      *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28);\n                      *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n                      *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                      if (iVar23 != 0) {\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }\n                      if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;\n                      fVar48 = fVar53;\n                      if (*(int *)(iVar44 + 8) != 0) {\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar20 = iVar20 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar22 != iVar20);\n              }\n              iVar16 = *(int *)(iVar40 + 0x2d0);\n              dVar57 = *(double *)(iVar37 + 0x30);\n              dVar56 = *(double *)(iVar37 + 0x38);\n              iVar28 = *(int *)(iVar16 + 0x14);\n              iVar20 = *(int *)(iVar16 + 0x20);\n              iVar23 = *(int *)(iVar16 + 0x28);\n              *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar37 + 0x28);\n              *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n              *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n              if (iVar23 != 0) {\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) = (float)*(double *)(iVar37 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                if (*(int *)(iVar37 + 8) == 0) {\n                  fVar48 = (float)uVar59;\n                }\n                else {\n                  fVar48 = (float)*(double *)(iVar37 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n              }\nLAB_00073d38:\n              iVar21 = iVar21 + 1;\n              iVar39 = iVar39 + iVar22 * 4;\n              iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n              iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar21 != iVar43);\n          }\nLAB_00073d60:\n          iVar39 = (**(code **)(pcVar46 + 0x335c50))(uVar14,uVar45);\n          if (iVar39 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar4 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    } while (iVar60 != iVar3);" do (compound_statement "{\n      if (*(int *)(pdVar4 + 7) != 0) {\n        iVar39 = (**(code **)(pcVar46 + 0x335db4))(uVar6,0,iVar3,iVar43,1,uVar45);\n        iVar13 = (**(code **)(pcVar46 + 0x335db4))(uVar5,0,iVar3,iVar43,1,uVar45);\n        iVar34 = (**(code **)(pcVar46 + 0x3353a8))(uVar14,0,iVar3,iVar43,1,uVar45);\n        if (((iVar39 != 0) && (iVar13 != 0)) && (iVar34 != 0)) {\n          if (0 < iVar43) {\n            iVar21 = 0;\n            piVar32 = *(int **)(iVar36 + 0x2d0);\n            iVar35 = *(int *)((int)pdVar4 + 0x2c);\n            fVar53 = *(float *)(iVar2 + 0x1a50);\n            iVar41 = piVar32[0x13];\n            iVar44 = *(int *)((int)pdVar4 + 0x24);\n            fVar51 = *(float *)(*(int *)(pcVar46 + 0x335038) + 0x3708);\n            iVar37 = *(int *)(pdVar4 + 5);\n            dVar50 = *(double *)(iVar38 + 0x1438);\n            dVar52 = *(double *)(iVar24 + 0x1440);\n            do {\n              while (((iVar41 != 0 && (*(float *)(iVar39 + piVar32[0x14] * 4) <= fVar51)) ||\n                     ((iVar16 = *(int *)(iVar15 + 0x2d0), *(int *)(iVar16 + 0x4c) != 0 &&\n                      (*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51))))) {\n                iVar16 = *(int *)(iVar40 + 0x2d0);\n                dVar57 = *(double *)(iVar35 + 0x30);\n                dVar56 = *(double *)(iVar35 + 0x38);\n                iVar22 = *(int *)(iVar16 + 0x14);\n                iVar20 = *(int *)(iVar16 + 0x20);\n                iVar28 = *(int *)(iVar16 + 0x28);\n                *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar35 + 0x28);\n                *(float *)(iVar34 + iVar22 * 4) = (float)dVar57;\n                *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                if (iVar28 != 0) {\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                       (float)*(double *)(iVar35 + 0x40);\n                }\n                if (*(int *)(iVar16 + 0x34) != 0) {\n                  fVar48 = fVar53;\n                  if (*(int *)(iVar35 + 8) != 0) {\n                    fVar48 = (float)*(double *)(iVar35 + 0x48);\n                  }\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n                }\n                iVar21 = iVar21 + 1;\n                iVar39 = iVar39 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n                iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar21 == iVar43) goto LAB_00073d60;\n              }\n              dVar56 = dVar50;\n              if (piVar32[0xd] != 0) {\n                dVar56 = (double)*(float *)(iVar39 + piVar32[0xe] * 4) * dVar52;\n              }\n              dVar57 = dVar55;\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                dVar57 = (double)*(float *)(iVar13 + *(int *)(iVar16 + 0x38) * 4) * dVar58;\n              }\n              iVar22 = *(int *)(iVar36 + 0x2c0);\n              iVar20 = 0;\n              piVar9 = piVar32;\n              if (0 < iVar22) {\n                do {\n                  iVar23 = *piVar9;\n                  iVar28 = iVar16 + iVar23 * 0xc;\n                  if (((piVar32[iVar23 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)) && ((uVar26 & 2) != 0)) {\n                    dVar49 = (double)*(float *)(iVar39 + iVar20 * 4);\n                    dVar47 = (double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4);\n                    if (iVar23 == 4) {\n                      dVar49 = dVar49 - dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    else {\n                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    if (dVar54 <= dVar49) {\n                      iVar16 = *(int *)(iVar40 + 0x2d0);\n                      dVar57 = *(double *)(iVar44 + 0x30);\n                      dVar56 = *(double *)(iVar44 + 0x38);\n                      iVar28 = *(int *)(iVar16 + 0x14);\n                      iVar20 = *(int *)(iVar16 + 0x20);\n                      iVar23 = *(int *)(iVar16 + 0x28);\n                      *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28);\n                      *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n                      *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                      if (iVar23 != 0) {\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }\n                      if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;\n                      fVar48 = fVar53;\n                      if (*(int *)(iVar44 + 8) != 0) {\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar20 = iVar20 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar22 != iVar20);\n              }\n              iVar16 = *(int *)(iVar40 + 0x2d0);\n              dVar57 = *(double *)(iVar37 + 0x30);\n              dVar56 = *(double *)(iVar37 + 0x38);\n              iVar28 = *(int *)(iVar16 + 0x14);\n              iVar20 = *(int *)(iVar16 + 0x20);\n              iVar23 = *(int *)(iVar16 + 0x28);\n              *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar37 + 0x28);\n              *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n              *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n              if (iVar23 != 0) {\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) = (float)*(double *)(iVar37 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                if (*(int *)(iVar37 + 8) == 0) {\n                  fVar48 = (float)uVar59;\n                }\n                else {\n                  fVar48 = (float)*(double *)(iVar37 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n              }\nLAB_00073d38:\n              iVar21 = iVar21 + 1;\n              iVar39 = iVar39 + iVar22 * 4;\n              iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n              iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar21 != iVar43);\n          }\nLAB_00073d60:\n          iVar39 = (**(code **)(pcVar46 + 0x335c50))(uVar14,uVar45);\n          if (iVar39 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar4 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    }" { (if_statement "if (*(int *)(pdVar4 + 7) != 0) {\n        iVar39 = (**(code **)(pcVar46 + 0x335db4))(uVar6,0,iVar3,iVar43,1,uVar45);\n        iVar13 = (**(code **)(pcVar46 + 0x335db4))(uVar5,0,iVar3,iVar43,1,uVar45);\n        iVar34 = (**(code **)(pcVar46 + 0x3353a8))(uVar14,0,iVar3,iVar43,1,uVar45);\n        if (((iVar39 != 0) && (iVar13 != 0)) && (iVar34 != 0)) {\n          if (0 < iVar43) {\n            iVar21 = 0;\n            piVar32 = *(int **)(iVar36 + 0x2d0);\n            iVar35 = *(int *)((int)pdVar4 + 0x2c);\n            fVar53 = *(float *)(iVar2 + 0x1a50);\n            iVar41 = piVar32[0x13];\n            iVar44 = *(int *)((int)pdVar4 + 0x24);\n            fVar51 = *(float *)(*(int *)(pcVar46 + 0x335038) + 0x3708);\n            iVar37 = *(int *)(pdVar4 + 5);\n            dVar50 = *(double *)(iVar38 + 0x1438);\n            dVar52 = *(double *)(iVar24 + 0x1440);\n            do {\n              while (((iVar41 != 0 && (*(float *)(iVar39 + piVar32[0x14] * 4) <= fVar51)) ||\n                     ((iVar16 = *(int *)(iVar15 + 0x2d0), *(int *)(iVar16 + 0x4c) != 0 &&\n                      (*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51))))) {\n                iVar16 = *(int *)(iVar40 + 0x2d0);\n                dVar57 = *(double *)(iVar35 + 0x30);\n                dVar56 = *(double *)(iVar35 + 0x38);\n                iVar22 = *(int *)(iVar16 + 0x14);\n                iVar20 = *(int *)(iVar16 + 0x20);\n                iVar28 = *(int *)(iVar16 + 0x28);\n                *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar35 + 0x28);\n                *(float *)(iVar34 + iVar22 * 4) = (float)dVar57;\n                *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                if (iVar28 != 0) {\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                       (float)*(double *)(iVar35 + 0x40);\n                }\n                if (*(int *)(iVar16 + 0x34) != 0) {\n                  fVar48 = fVar53;\n                  if (*(int *)(iVar35 + 8) != 0) {\n                    fVar48 = (float)*(double *)(iVar35 + 0x48);\n                  }\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n                }\n                iVar21 = iVar21 + 1;\n                iVar39 = iVar39 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n                iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar21 == iVar43) goto LAB_00073d60;\n              }\n              dVar56 = dVar50;\n              if (piVar32[0xd] != 0) {\n                dVar56 = (double)*(float *)(iVar39 + piVar32[0xe] * 4) * dVar52;\n              }\n              dVar57 = dVar55;\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                dVar57 = (double)*(float *)(iVar13 + *(int *)(iVar16 + 0x38) * 4) * dVar58;\n              }\n              iVar22 = *(int *)(iVar36 + 0x2c0);\n              iVar20 = 0;\n              piVar9 = piVar32;\n              if (0 < iVar22) {\n                do {\n                  iVar23 = *piVar9;\n                  iVar28 = iVar16 + iVar23 * 0xc;\n                  if (((piVar32[iVar23 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)) && ((uVar26 & 2) != 0)) {\n                    dVar49 = (double)*(float *)(iVar39 + iVar20 * 4);\n                    dVar47 = (double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4);\n                    if (iVar23 == 4) {\n                      dVar49 = dVar49 - dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    else {\n                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    if (dVar54 <= dVar49) {\n                      iVar16 = *(int *)(iVar40 + 0x2d0);\n                      dVar57 = *(double *)(iVar44 + 0x30);\n                      dVar56 = *(double *)(iVar44 + 0x38);\n                      iVar28 = *(int *)(iVar16 + 0x14);\n                      iVar20 = *(int *)(iVar16 + 0x20);\n                      iVar23 = *(int *)(iVar16 + 0x28);\n                      *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28);\n                      *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n                      *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                      if (iVar23 != 0) {\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }\n                      if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;\n                      fVar48 = fVar53;\n                      if (*(int *)(iVar44 + 8) != 0) {\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar20 = iVar20 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar22 != iVar20);\n              }\n              iVar16 = *(int *)(iVar40 + 0x2d0);\n              dVar57 = *(double *)(iVar37 + 0x30);\n              dVar56 = *(double *)(iVar37 + 0x38);\n              iVar28 = *(int *)(iVar16 + 0x14);\n              iVar20 = *(int *)(iVar16 + 0x20);\n              iVar23 = *(int *)(iVar16 + 0x28);\n              *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar37 + 0x28);\n              *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n              *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n              if (iVar23 != 0) {\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) = (float)*(double *)(iVar37 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                if (*(int *)(iVar37 + 8) == 0) {\n                  fVar48 = (float)uVar59;\n                }\n                else {\n                  fVar48 = (float)*(double *)(iVar37 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n              }\nLAB_00073d38:\n              iVar21 = iVar21 + 1;\n              iVar39 = iVar39 + iVar22 * 4;\n              iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n              iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar21 != iVar43);\n          }\nLAB_00073d60:\n          iVar39 = (**(code **)(pcVar46 + 0x335c50))(uVar14,uVar45);\n          if (iVar39 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar4 + 7) = 0;\n      }" if (parenthesized_expression "(*(int *)(pdVar4 + 7) != 0)" ( (binary_expression "*(int *)(pdVar4 + 7) != 0" (pointer_expression "*(int *)(pdVar4 + 7)" * (cast_expression "(int *)(pdVar4 + 7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar4 + 7)" ( (binary_expression "pdVar4 + 7" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        iVar39 = (**(code **)(pcVar46 + 0x335db4))(uVar6,0,iVar3,iVar43,1,uVar45);\n        iVar13 = (**(code **)(pcVar46 + 0x335db4))(uVar5,0,iVar3,iVar43,1,uVar45);\n        iVar34 = (**(code **)(pcVar46 + 0x3353a8))(uVar14,0,iVar3,iVar43,1,uVar45);\n        if (((iVar39 != 0) && (iVar13 != 0)) && (iVar34 != 0)) {\n          if (0 < iVar43) {\n            iVar21 = 0;\n            piVar32 = *(int **)(iVar36 + 0x2d0);\n            iVar35 = *(int *)((int)pdVar4 + 0x2c);\n            fVar53 = *(float *)(iVar2 + 0x1a50);\n            iVar41 = piVar32[0x13];\n            iVar44 = *(int *)((int)pdVar4 + 0x24);\n            fVar51 = *(float *)(*(int *)(pcVar46 + 0x335038) + 0x3708);\n            iVar37 = *(int *)(pdVar4 + 5);\n            dVar50 = *(double *)(iVar38 + 0x1438);\n            dVar52 = *(double *)(iVar24 + 0x1440);\n            do {\n              while (((iVar41 != 0 && (*(float *)(iVar39 + piVar32[0x14] * 4) <= fVar51)) ||\n                     ((iVar16 = *(int *)(iVar15 + 0x2d0), *(int *)(iVar16 + 0x4c) != 0 &&\n                      (*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51))))) {\n                iVar16 = *(int *)(iVar40 + 0x2d0);\n                dVar57 = *(double *)(iVar35 + 0x30);\n                dVar56 = *(double *)(iVar35 + 0x38);\n                iVar22 = *(int *)(iVar16 + 0x14);\n                iVar20 = *(int *)(iVar16 + 0x20);\n                iVar28 = *(int *)(iVar16 + 0x28);\n                *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar35 + 0x28);\n                *(float *)(iVar34 + iVar22 * 4) = (float)dVar57;\n                *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                if (iVar28 != 0) {\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                       (float)*(double *)(iVar35 + 0x40);\n                }\n                if (*(int *)(iVar16 + 0x34) != 0) {\n                  fVar48 = fVar53;\n                  if (*(int *)(iVar35 + 8) != 0) {\n                    fVar48 = (float)*(double *)(iVar35 + 0x48);\n                  }\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n                }\n                iVar21 = iVar21 + 1;\n                iVar39 = iVar39 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n                iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar21 == iVar43) goto LAB_00073d60;\n              }\n              dVar56 = dVar50;\n              if (piVar32[0xd] != 0) {\n                dVar56 = (double)*(float *)(iVar39 + piVar32[0xe] * 4) * dVar52;\n              }\n              dVar57 = dVar55;\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                dVar57 = (double)*(float *)(iVar13 + *(int *)(iVar16 + 0x38) * 4) * dVar58;\n              }\n              iVar22 = *(int *)(iVar36 + 0x2c0);\n              iVar20 = 0;\n              piVar9 = piVar32;\n              if (0 < iVar22) {\n                do {\n                  iVar23 = *piVar9;\n                  iVar28 = iVar16 + iVar23 * 0xc;\n                  if (((piVar32[iVar23 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)) && ((uVar26 & 2) != 0)) {\n                    dVar49 = (double)*(float *)(iVar39 + iVar20 * 4);\n                    dVar47 = (double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4);\n                    if (iVar23 == 4) {\n                      dVar49 = dVar49 - dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    else {\n                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    if (dVar54 <= dVar49) {\n                      iVar16 = *(int *)(iVar40 + 0x2d0);\n                      dVar57 = *(double *)(iVar44 + 0x30);\n                      dVar56 = *(double *)(iVar44 + 0x38);\n                      iVar28 = *(int *)(iVar16 + 0x14);\n                      iVar20 = *(int *)(iVar16 + 0x20);\n                      iVar23 = *(int *)(iVar16 + 0x28);\n                      *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28);\n                      *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n                      *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                      if (iVar23 != 0) {\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }\n                      if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;\n                      fVar48 = fVar53;\n                      if (*(int *)(iVar44 + 8) != 0) {\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar20 = iVar20 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar22 != iVar20);\n              }\n              iVar16 = *(int *)(iVar40 + 0x2d0);\n              dVar57 = *(double *)(iVar37 + 0x30);\n              dVar56 = *(double *)(iVar37 + 0x38);\n              iVar28 = *(int *)(iVar16 + 0x14);\n              iVar20 = *(int *)(iVar16 + 0x20);\n              iVar23 = *(int *)(iVar16 + 0x28);\n              *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar37 + 0x28);\n              *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n              *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n              if (iVar23 != 0) {\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) = (float)*(double *)(iVar37 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                if (*(int *)(iVar37 + 8) == 0) {\n                  fVar48 = (float)uVar59;\n                }\n                else {\n                  fVar48 = (float)*(double *)(iVar37 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n              }\nLAB_00073d38:\n              iVar21 = iVar21 + 1;\n              iVar39 = iVar39 + iVar22 * 4;\n              iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n              iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar21 != iVar43);\n          }\nLAB_00073d60:\n          iVar39 = (**(code **)(pcVar46 + 0x335c50))(uVar14,uVar45);\n          if (iVar39 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar4 + 7) = 0;\n      }" { (expression_statement "iVar39 = (**(code **)(pcVar46 + 0x335db4))(uVar6,0,iVar3,iVar43,1,uVar45);" (assignment_expression "iVar39 = (**(code **)(pcVar46 + 0x335db4))(uVar6,0,iVar3,iVar43,1,uVar45)" identifier = (call_expression "(**(code **)(pcVar46 + 0x335db4))(uVar6,0,iVar3,iVar43,1,uVar45)" (parenthesized_expression "(**(code **)(pcVar46 + 0x335db4))" ( (pointer_expression "**(code **)(pcVar46 + 0x335db4)" * (pointer_expression "*(code **)(pcVar46 + 0x335db4)" * (cast_expression "(code **)(pcVar46 + 0x335db4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar46 + 0x335db4)" ( (binary_expression "pcVar46 + 0x335db4" identifier + number_literal) ))))) )) (argument_list "(uVar6,0,iVar3,iVar43,1,uVar45)" ( identifier , number_literal , identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar13 = (**(code **)(pcVar46 + 0x335db4))(uVar5,0,iVar3,iVar43,1,uVar45);" (assignment_expression "iVar13 = (**(code **)(pcVar46 + 0x335db4))(uVar5,0,iVar3,iVar43,1,uVar45)" identifier = (call_expression "(**(code **)(pcVar46 + 0x335db4))(uVar5,0,iVar3,iVar43,1,uVar45)" (parenthesized_expression "(**(code **)(pcVar46 + 0x335db4))" ( (pointer_expression "**(code **)(pcVar46 + 0x335db4)" * (pointer_expression "*(code **)(pcVar46 + 0x335db4)" * (cast_expression "(code **)(pcVar46 + 0x335db4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar46 + 0x335db4)" ( (binary_expression "pcVar46 + 0x335db4" identifier + number_literal) ))))) )) (argument_list "(uVar5,0,iVar3,iVar43,1,uVar45)" ( identifier , number_literal , identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar34 = (**(code **)(pcVar46 + 0x3353a8))(uVar14,0,iVar3,iVar43,1,uVar45);" (assignment_expression "iVar34 = (**(code **)(pcVar46 + 0x3353a8))(uVar14,0,iVar3,iVar43,1,uVar45)" identifier = (call_expression "(**(code **)(pcVar46 + 0x3353a8))(uVar14,0,iVar3,iVar43,1,uVar45)" (parenthesized_expression "(**(code **)(pcVar46 + 0x3353a8))" ( (pointer_expression "**(code **)(pcVar46 + 0x3353a8)" * (pointer_expression "*(code **)(pcVar46 + 0x3353a8)" * (cast_expression "(code **)(pcVar46 + 0x3353a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar46 + 0x3353a8)" ( (binary_expression "pcVar46 + 0x3353a8" identifier + number_literal) ))))) )) (argument_list "(uVar14,0,iVar3,iVar43,1,uVar45)" ( identifier , number_literal , identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (((iVar39 != 0) && (iVar13 != 0)) && (iVar34 != 0)) {\n          if (0 < iVar43) {\n            iVar21 = 0;\n            piVar32 = *(int **)(iVar36 + 0x2d0);\n            iVar35 = *(int *)((int)pdVar4 + 0x2c);\n            fVar53 = *(float *)(iVar2 + 0x1a50);\n            iVar41 = piVar32[0x13];\n            iVar44 = *(int *)((int)pdVar4 + 0x24);\n            fVar51 = *(float *)(*(int *)(pcVar46 + 0x335038) + 0x3708);\n            iVar37 = *(int *)(pdVar4 + 5);\n            dVar50 = *(double *)(iVar38 + 0x1438);\n            dVar52 = *(double *)(iVar24 + 0x1440);\n            do {\n              while (((iVar41 != 0 && (*(float *)(iVar39 + piVar32[0x14] * 4) <= fVar51)) ||\n                     ((iVar16 = *(int *)(iVar15 + 0x2d0), *(int *)(iVar16 + 0x4c) != 0 &&\n                      (*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51))))) {\n                iVar16 = *(int *)(iVar40 + 0x2d0);\n                dVar57 = *(double *)(iVar35 + 0x30);\n                dVar56 = *(double *)(iVar35 + 0x38);\n                iVar22 = *(int *)(iVar16 + 0x14);\n                iVar20 = *(int *)(iVar16 + 0x20);\n                iVar28 = *(int *)(iVar16 + 0x28);\n                *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar35 + 0x28);\n                *(float *)(iVar34 + iVar22 * 4) = (float)dVar57;\n                *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                if (iVar28 != 0) {\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                       (float)*(double *)(iVar35 + 0x40);\n                }\n                if (*(int *)(iVar16 + 0x34) != 0) {\n                  fVar48 = fVar53;\n                  if (*(int *)(iVar35 + 8) != 0) {\n                    fVar48 = (float)*(double *)(iVar35 + 0x48);\n                  }\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n                }\n                iVar21 = iVar21 + 1;\n                iVar39 = iVar39 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n                iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar21 == iVar43) goto LAB_00073d60;\n              }\n              dVar56 = dVar50;\n              if (piVar32[0xd] != 0) {\n                dVar56 = (double)*(float *)(iVar39 + piVar32[0xe] * 4) * dVar52;\n              }\n              dVar57 = dVar55;\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                dVar57 = (double)*(float *)(iVar13 + *(int *)(iVar16 + 0x38) * 4) * dVar58;\n              }\n              iVar22 = *(int *)(iVar36 + 0x2c0);\n              iVar20 = 0;\n              piVar9 = piVar32;\n              if (0 < iVar22) {\n                do {\n                  iVar23 = *piVar9;\n                  iVar28 = iVar16 + iVar23 * 0xc;\n                  if (((piVar32[iVar23 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)) && ((uVar26 & 2) != 0)) {\n                    dVar49 = (double)*(float *)(iVar39 + iVar20 * 4);\n                    dVar47 = (double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4);\n                    if (iVar23 == 4) {\n                      dVar49 = dVar49 - dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    else {\n                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    if (dVar54 <= dVar49) {\n                      iVar16 = *(int *)(iVar40 + 0x2d0);\n                      dVar57 = *(double *)(iVar44 + 0x30);\n                      dVar56 = *(double *)(iVar44 + 0x38);\n                      iVar28 = *(int *)(iVar16 + 0x14);\n                      iVar20 = *(int *)(iVar16 + 0x20);\n                      iVar23 = *(int *)(iVar16 + 0x28);\n                      *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28);\n                      *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n                      *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                      if (iVar23 != 0) {\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }\n                      if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;\n                      fVar48 = fVar53;\n                      if (*(int *)(iVar44 + 8) != 0) {\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar20 = iVar20 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar22 != iVar20);\n              }\n              iVar16 = *(int *)(iVar40 + 0x2d0);\n              dVar57 = *(double *)(iVar37 + 0x30);\n              dVar56 = *(double *)(iVar37 + 0x38);\n              iVar28 = *(int *)(iVar16 + 0x14);\n              iVar20 = *(int *)(iVar16 + 0x20);\n              iVar23 = *(int *)(iVar16 + 0x28);\n              *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar37 + 0x28);\n              *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n              *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n              if (iVar23 != 0) {\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) = (float)*(double *)(iVar37 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                if (*(int *)(iVar37 + 8) == 0) {\n                  fVar48 = (float)uVar59;\n                }\n                else {\n                  fVar48 = (float)*(double *)(iVar37 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n              }\nLAB_00073d38:\n              iVar21 = iVar21 + 1;\n              iVar39 = iVar39 + iVar22 * 4;\n              iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n              iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar21 != iVar43);\n          }\nLAB_00073d60:\n          iVar39 = (**(code **)(pcVar46 + 0x335c50))(uVar14,uVar45);\n          if (iVar39 != 0) goto LAB_00073d80;\n        }" if (parenthesized_expression "(((iVar39 != 0) && (iVar13 != 0)) && (iVar34 != 0))" ( (binary_expression "((iVar39 != 0) && (iVar13 != 0)) && (iVar34 != 0)" (parenthesized_expression "((iVar39 != 0) && (iVar13 != 0))" ( (binary_expression "(iVar39 != 0) && (iVar13 != 0)" (parenthesized_expression "(iVar39 != 0)" ( (binary_expression "iVar39 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) ))) )) && (parenthesized_expression "(iVar34 != 0)" ( (binary_expression "iVar34 != 0" identifier != number_literal) ))) )) (compound_statement "{\n          if (0 < iVar43) {\n            iVar21 = 0;\n            piVar32 = *(int **)(iVar36 + 0x2d0);\n            iVar35 = *(int *)((int)pdVar4 + 0x2c);\n            fVar53 = *(float *)(iVar2 + 0x1a50);\n            iVar41 = piVar32[0x13];\n            iVar44 = *(int *)((int)pdVar4 + 0x24);\n            fVar51 = *(float *)(*(int *)(pcVar46 + 0x335038) + 0x3708);\n            iVar37 = *(int *)(pdVar4 + 5);\n            dVar50 = *(double *)(iVar38 + 0x1438);\n            dVar52 = *(double *)(iVar24 + 0x1440);\n            do {\n              while (((iVar41 != 0 && (*(float *)(iVar39 + piVar32[0x14] * 4) <= fVar51)) ||\n                     ((iVar16 = *(int *)(iVar15 + 0x2d0), *(int *)(iVar16 + 0x4c) != 0 &&\n                      (*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51))))) {\n                iVar16 = *(int *)(iVar40 + 0x2d0);\n                dVar57 = *(double *)(iVar35 + 0x30);\n                dVar56 = *(double *)(iVar35 + 0x38);\n                iVar22 = *(int *)(iVar16 + 0x14);\n                iVar20 = *(int *)(iVar16 + 0x20);\n                iVar28 = *(int *)(iVar16 + 0x28);\n                *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar35 + 0x28);\n                *(float *)(iVar34 + iVar22 * 4) = (float)dVar57;\n                *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                if (iVar28 != 0) {\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                       (float)*(double *)(iVar35 + 0x40);\n                }\n                if (*(int *)(iVar16 + 0x34) != 0) {\n                  fVar48 = fVar53;\n                  if (*(int *)(iVar35 + 8) != 0) {\n                    fVar48 = (float)*(double *)(iVar35 + 0x48);\n                  }\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n                }\n                iVar21 = iVar21 + 1;\n                iVar39 = iVar39 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n                iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar21 == iVar43) goto LAB_00073d60;\n              }\n              dVar56 = dVar50;\n              if (piVar32[0xd] != 0) {\n                dVar56 = (double)*(float *)(iVar39 + piVar32[0xe] * 4) * dVar52;\n              }\n              dVar57 = dVar55;\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                dVar57 = (double)*(float *)(iVar13 + *(int *)(iVar16 + 0x38) * 4) * dVar58;\n              }\n              iVar22 = *(int *)(iVar36 + 0x2c0);\n              iVar20 = 0;\n              piVar9 = piVar32;\n              if (0 < iVar22) {\n                do {\n                  iVar23 = *piVar9;\n                  iVar28 = iVar16 + iVar23 * 0xc;\n                  if (((piVar32[iVar23 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)) && ((uVar26 & 2) != 0)) {\n                    dVar49 = (double)*(float *)(iVar39 + iVar20 * 4);\n                    dVar47 = (double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4);\n                    if (iVar23 == 4) {\n                      dVar49 = dVar49 - dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    else {\n                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    if (dVar54 <= dVar49) {\n                      iVar16 = *(int *)(iVar40 + 0x2d0);\n                      dVar57 = *(double *)(iVar44 + 0x30);\n                      dVar56 = *(double *)(iVar44 + 0x38);\n                      iVar28 = *(int *)(iVar16 + 0x14);\n                      iVar20 = *(int *)(iVar16 + 0x20);\n                      iVar23 = *(int *)(iVar16 + 0x28);\n                      *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28);\n                      *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n                      *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                      if (iVar23 != 0) {\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }\n                      if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;\n                      fVar48 = fVar53;\n                      if (*(int *)(iVar44 + 8) != 0) {\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar20 = iVar20 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar22 != iVar20);\n              }\n              iVar16 = *(int *)(iVar40 + 0x2d0);\n              dVar57 = *(double *)(iVar37 + 0x30);\n              dVar56 = *(double *)(iVar37 + 0x38);\n              iVar28 = *(int *)(iVar16 + 0x14);\n              iVar20 = *(int *)(iVar16 + 0x20);\n              iVar23 = *(int *)(iVar16 + 0x28);\n              *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar37 + 0x28);\n              *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n              *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n              if (iVar23 != 0) {\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) = (float)*(double *)(iVar37 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                if (*(int *)(iVar37 + 8) == 0) {\n                  fVar48 = (float)uVar59;\n                }\n                else {\n                  fVar48 = (float)*(double *)(iVar37 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n              }\nLAB_00073d38:\n              iVar21 = iVar21 + 1;\n              iVar39 = iVar39 + iVar22 * 4;\n              iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n              iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar21 != iVar43);\n          }\nLAB_00073d60:\n          iVar39 = (**(code **)(pcVar46 + 0x335c50))(uVar14,uVar45);\n          if (iVar39 != 0) goto LAB_00073d80;\n        }" { (if_statement "if (0 < iVar43) {\n            iVar21 = 0;\n            piVar32 = *(int **)(iVar36 + 0x2d0);\n            iVar35 = *(int *)((int)pdVar4 + 0x2c);\n            fVar53 = *(float *)(iVar2 + 0x1a50);\n            iVar41 = piVar32[0x13];\n            iVar44 = *(int *)((int)pdVar4 + 0x24);\n            fVar51 = *(float *)(*(int *)(pcVar46 + 0x335038) + 0x3708);\n            iVar37 = *(int *)(pdVar4 + 5);\n            dVar50 = *(double *)(iVar38 + 0x1438);\n            dVar52 = *(double *)(iVar24 + 0x1440);\n            do {\n              while (((iVar41 != 0 && (*(float *)(iVar39 + piVar32[0x14] * 4) <= fVar51)) ||\n                     ((iVar16 = *(int *)(iVar15 + 0x2d0), *(int *)(iVar16 + 0x4c) != 0 &&\n                      (*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51))))) {\n                iVar16 = *(int *)(iVar40 + 0x2d0);\n                dVar57 = *(double *)(iVar35 + 0x30);\n                dVar56 = *(double *)(iVar35 + 0x38);\n                iVar22 = *(int *)(iVar16 + 0x14);\n                iVar20 = *(int *)(iVar16 + 0x20);\n                iVar28 = *(int *)(iVar16 + 0x28);\n                *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar35 + 0x28);\n                *(float *)(iVar34 + iVar22 * 4) = (float)dVar57;\n                *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                if (iVar28 != 0) {\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                       (float)*(double *)(iVar35 + 0x40);\n                }\n                if (*(int *)(iVar16 + 0x34) != 0) {\n                  fVar48 = fVar53;\n                  if (*(int *)(iVar35 + 8) != 0) {\n                    fVar48 = (float)*(double *)(iVar35 + 0x48);\n                  }\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n                }\n                iVar21 = iVar21 + 1;\n                iVar39 = iVar39 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n                iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar21 == iVar43) goto LAB_00073d60;\n              }\n              dVar56 = dVar50;\n              if (piVar32[0xd] != 0) {\n                dVar56 = (double)*(float *)(iVar39 + piVar32[0xe] * 4) * dVar52;\n              }\n              dVar57 = dVar55;\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                dVar57 = (double)*(float *)(iVar13 + *(int *)(iVar16 + 0x38) * 4) * dVar58;\n              }\n              iVar22 = *(int *)(iVar36 + 0x2c0);\n              iVar20 = 0;\n              piVar9 = piVar32;\n              if (0 < iVar22) {\n                do {\n                  iVar23 = *piVar9;\n                  iVar28 = iVar16 + iVar23 * 0xc;\n                  if (((piVar32[iVar23 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)) && ((uVar26 & 2) != 0)) {\n                    dVar49 = (double)*(float *)(iVar39 + iVar20 * 4);\n                    dVar47 = (double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4);\n                    if (iVar23 == 4) {\n                      dVar49 = dVar49 - dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    else {\n                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    if (dVar54 <= dVar49) {\n                      iVar16 = *(int *)(iVar40 + 0x2d0);\n                      dVar57 = *(double *)(iVar44 + 0x30);\n                      dVar56 = *(double *)(iVar44 + 0x38);\n                      iVar28 = *(int *)(iVar16 + 0x14);\n                      iVar20 = *(int *)(iVar16 + 0x20);\n                      iVar23 = *(int *)(iVar16 + 0x28);\n                      *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28);\n                      *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n                      *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                      if (iVar23 != 0) {\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }\n                      if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;\n                      fVar48 = fVar53;\n                      if (*(int *)(iVar44 + 8) != 0) {\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar20 = iVar20 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar22 != iVar20);\n              }\n              iVar16 = *(int *)(iVar40 + 0x2d0);\n              dVar57 = *(double *)(iVar37 + 0x30);\n              dVar56 = *(double *)(iVar37 + 0x38);\n              iVar28 = *(int *)(iVar16 + 0x14);\n              iVar20 = *(int *)(iVar16 + 0x20);\n              iVar23 = *(int *)(iVar16 + 0x28);\n              *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar37 + 0x28);\n              *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n              *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n              if (iVar23 != 0) {\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) = (float)*(double *)(iVar37 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                if (*(int *)(iVar37 + 8) == 0) {\n                  fVar48 = (float)uVar59;\n                }\n                else {\n                  fVar48 = (float)*(double *)(iVar37 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n              }\nLAB_00073d38:\n              iVar21 = iVar21 + 1;\n              iVar39 = iVar39 + iVar22 * 4;\n              iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n              iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar21 != iVar43);\n          }" if (parenthesized_expression "(0 < iVar43)" ( (binary_expression "0 < iVar43" number_literal < identifier) )) (compound_statement "{\n            iVar21 = 0;\n            piVar32 = *(int **)(iVar36 + 0x2d0);\n            iVar35 = *(int *)((int)pdVar4 + 0x2c);\n            fVar53 = *(float *)(iVar2 + 0x1a50);\n            iVar41 = piVar32[0x13];\n            iVar44 = *(int *)((int)pdVar4 + 0x24);\n            fVar51 = *(float *)(*(int *)(pcVar46 + 0x335038) + 0x3708);\n            iVar37 = *(int *)(pdVar4 + 5);\n            dVar50 = *(double *)(iVar38 + 0x1438);\n            dVar52 = *(double *)(iVar24 + 0x1440);\n            do {\n              while (((iVar41 != 0 && (*(float *)(iVar39 + piVar32[0x14] * 4) <= fVar51)) ||\n                     ((iVar16 = *(int *)(iVar15 + 0x2d0), *(int *)(iVar16 + 0x4c) != 0 &&\n                      (*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51))))) {\n                iVar16 = *(int *)(iVar40 + 0x2d0);\n                dVar57 = *(double *)(iVar35 + 0x30);\n                dVar56 = *(double *)(iVar35 + 0x38);\n                iVar22 = *(int *)(iVar16 + 0x14);\n                iVar20 = *(int *)(iVar16 + 0x20);\n                iVar28 = *(int *)(iVar16 + 0x28);\n                *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar35 + 0x28);\n                *(float *)(iVar34 + iVar22 * 4) = (float)dVar57;\n                *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                if (iVar28 != 0) {\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                       (float)*(double *)(iVar35 + 0x40);\n                }\n                if (*(int *)(iVar16 + 0x34) != 0) {\n                  fVar48 = fVar53;\n                  if (*(int *)(iVar35 + 8) != 0) {\n                    fVar48 = (float)*(double *)(iVar35 + 0x48);\n                  }\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n                }\n                iVar21 = iVar21 + 1;\n                iVar39 = iVar39 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n                iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar21 == iVar43) goto LAB_00073d60;\n              }\n              dVar56 = dVar50;\n              if (piVar32[0xd] != 0) {\n                dVar56 = (double)*(float *)(iVar39 + piVar32[0xe] * 4) * dVar52;\n              }\n              dVar57 = dVar55;\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                dVar57 = (double)*(float *)(iVar13 + *(int *)(iVar16 + 0x38) * 4) * dVar58;\n              }\n              iVar22 = *(int *)(iVar36 + 0x2c0);\n              iVar20 = 0;\n              piVar9 = piVar32;\n              if (0 < iVar22) {\n                do {\n                  iVar23 = *piVar9;\n                  iVar28 = iVar16 + iVar23 * 0xc;\n                  if (((piVar32[iVar23 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)) && ((uVar26 & 2) != 0)) {\n                    dVar49 = (double)*(float *)(iVar39 + iVar20 * 4);\n                    dVar47 = (double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4);\n                    if (iVar23 == 4) {\n                      dVar49 = dVar49 - dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    else {\n                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    if (dVar54 <= dVar49) {\n                      iVar16 = *(int *)(iVar40 + 0x2d0);\n                      dVar57 = *(double *)(iVar44 + 0x30);\n                      dVar56 = *(double *)(iVar44 + 0x38);\n                      iVar28 = *(int *)(iVar16 + 0x14);\n                      iVar20 = *(int *)(iVar16 + 0x20);\n                      iVar23 = *(int *)(iVar16 + 0x28);\n                      *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28);\n                      *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n                      *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                      if (iVar23 != 0) {\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }\n                      if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;\n                      fVar48 = fVar53;\n                      if (*(int *)(iVar44 + 8) != 0) {\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar20 = iVar20 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar22 != iVar20);\n              }\n              iVar16 = *(int *)(iVar40 + 0x2d0);\n              dVar57 = *(double *)(iVar37 + 0x30);\n              dVar56 = *(double *)(iVar37 + 0x38);\n              iVar28 = *(int *)(iVar16 + 0x14);\n              iVar20 = *(int *)(iVar16 + 0x20);\n              iVar23 = *(int *)(iVar16 + 0x28);\n              *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar37 + 0x28);\n              *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n              *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n              if (iVar23 != 0) {\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) = (float)*(double *)(iVar37 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                if (*(int *)(iVar37 + 8) == 0) {\n                  fVar48 = (float)uVar59;\n                }\n                else {\n                  fVar48 = (float)*(double *)(iVar37 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n              }\nLAB_00073d38:\n              iVar21 = iVar21 + 1;\n              iVar39 = iVar39 + iVar22 * 4;\n              iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n              iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar21 != iVar43);\n          }" { (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (expression_statement "piVar32 = *(int **)(iVar36 + 0x2d0);" (assignment_expression "piVar32 = *(int **)(iVar36 + 0x2d0)" identifier = (pointer_expression "*(int **)(iVar36 + 0x2d0)" * (cast_expression "(int **)(iVar36 + 0x2d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar36 + 0x2d0)" ( (binary_expression "iVar36 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "iVar35 = *(int *)((int)pdVar4 + 0x2c);" (assignment_expression "iVar35 = *(int *)((int)pdVar4 + 0x2c)" identifier = (pointer_expression "*(int *)((int)pdVar4 + 0x2c)" * (cast_expression "(int *)((int)pdVar4 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar4 + 0x2c)" ( (binary_expression "(int)pdVar4 + 0x2c" (cast_expression "(int)pdVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "fVar53 = *(float *)(iVar2 + 0x1a50);" (assignment_expression "fVar53 = *(float *)(iVar2 + 0x1a50)" identifier = (pointer_expression "*(float *)(iVar2 + 0x1a50)" * (cast_expression "(float *)(iVar2 + 0x1a50)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1a50)" ( (binary_expression "iVar2 + 0x1a50" identifier + number_literal) ))))) ;) (expression_statement "iVar41 = piVar32[0x13];" (assignment_expression "iVar41 = piVar32[0x13]" identifier = (subscript_expression "piVar32[0x13]" identifier [ number_literal ])) ;) (expression_statement "iVar44 = *(int *)((int)pdVar4 + 0x24);" (assignment_expression "iVar44 = *(int *)((int)pdVar4 + 0x24)" identifier = (pointer_expression "*(int *)((int)pdVar4 + 0x24)" * (cast_expression "(int *)((int)pdVar4 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar4 + 0x24)" ( (binary_expression "(int)pdVar4 + 0x24" (cast_expression "(int)pdVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "fVar51 = *(float *)(*(int *)(pcVar46 + 0x335038) + 0x3708);" (assignment_expression "fVar51 = *(float *)(*(int *)(pcVar46 + 0x335038) + 0x3708)" identifier = (pointer_expression "*(float *)(*(int *)(pcVar46 + 0x335038) + 0x3708)" * (cast_expression "(float *)(*(int *)(pcVar46 + 0x335038) + 0x3708)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar46 + 0x335038) + 0x3708)" ( (binary_expression "*(int *)(pcVar46 + 0x335038) + 0x3708" (pointer_expression "*(int *)(pcVar46 + 0x335038)" * (cast_expression "(int *)(pcVar46 + 0x335038)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar46 + 0x335038)" ( (binary_expression "pcVar46 + 0x335038" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar37 = *(int *)(pdVar4 + 5);" (assignment_expression "iVar37 = *(int *)(pdVar4 + 5)" identifier = (pointer_expression "*(int *)(pdVar4 + 5)" * (cast_expression "(int *)(pdVar4 + 5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar4 + 5)" ( (binary_expression "pdVar4 + 5" identifier + number_literal) ))))) ;) (expression_statement "dVar50 = *(double *)(iVar38 + 0x1438);" (assignment_expression "dVar50 = *(double *)(iVar38 + 0x1438)" identifier = (pointer_expression "*(double *)(iVar38 + 0x1438)" * (cast_expression "(double *)(iVar38 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar38 + 0x1438)" ( (binary_expression "iVar38 + 0x1438" identifier + number_literal) ))))) ;) (expression_statement "dVar52 = *(double *)(iVar24 + 0x1440);" (assignment_expression "dVar52 = *(double *)(iVar24 + 0x1440)" identifier = (pointer_expression "*(double *)(iVar24 + 0x1440)" * (cast_expression "(double *)(iVar24 + 0x1440)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar24 + 0x1440)" ( (binary_expression "iVar24 + 0x1440" identifier + number_literal) ))))) ;) (do_statement "do {\n              while (((iVar41 != 0 && (*(float *)(iVar39 + piVar32[0x14] * 4) <= fVar51)) ||\n                     ((iVar16 = *(int *)(iVar15 + 0x2d0), *(int *)(iVar16 + 0x4c) != 0 &&\n                      (*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51))))) {\n                iVar16 = *(int *)(iVar40 + 0x2d0);\n                dVar57 = *(double *)(iVar35 + 0x30);\n                dVar56 = *(double *)(iVar35 + 0x38);\n                iVar22 = *(int *)(iVar16 + 0x14);\n                iVar20 = *(int *)(iVar16 + 0x20);\n                iVar28 = *(int *)(iVar16 + 0x28);\n                *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar35 + 0x28);\n                *(float *)(iVar34 + iVar22 * 4) = (float)dVar57;\n                *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                if (iVar28 != 0) {\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                       (float)*(double *)(iVar35 + 0x40);\n                }\n                if (*(int *)(iVar16 + 0x34) != 0) {\n                  fVar48 = fVar53;\n                  if (*(int *)(iVar35 + 8) != 0) {\n                    fVar48 = (float)*(double *)(iVar35 + 0x48);\n                  }\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n                }\n                iVar21 = iVar21 + 1;\n                iVar39 = iVar39 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n                iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar21 == iVar43) goto LAB_00073d60;\n              }\n              dVar56 = dVar50;\n              if (piVar32[0xd] != 0) {\n                dVar56 = (double)*(float *)(iVar39 + piVar32[0xe] * 4) * dVar52;\n              }\n              dVar57 = dVar55;\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                dVar57 = (double)*(float *)(iVar13 + *(int *)(iVar16 + 0x38) * 4) * dVar58;\n              }\n              iVar22 = *(int *)(iVar36 + 0x2c0);\n              iVar20 = 0;\n              piVar9 = piVar32;\n              if (0 < iVar22) {\n                do {\n                  iVar23 = *piVar9;\n                  iVar28 = iVar16 + iVar23 * 0xc;\n                  if (((piVar32[iVar23 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)) && ((uVar26 & 2) != 0)) {\n                    dVar49 = (double)*(float *)(iVar39 + iVar20 * 4);\n                    dVar47 = (double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4);\n                    if (iVar23 == 4) {\n                      dVar49 = dVar49 - dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    else {\n                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    if (dVar54 <= dVar49) {\n                      iVar16 = *(int *)(iVar40 + 0x2d0);\n                      dVar57 = *(double *)(iVar44 + 0x30);\n                      dVar56 = *(double *)(iVar44 + 0x38);\n                      iVar28 = *(int *)(iVar16 + 0x14);\n                      iVar20 = *(int *)(iVar16 + 0x20);\n                      iVar23 = *(int *)(iVar16 + 0x28);\n                      *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28);\n                      *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n                      *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                      if (iVar23 != 0) {\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }\n                      if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;\n                      fVar48 = fVar53;\n                      if (*(int *)(iVar44 + 8) != 0) {\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar20 = iVar20 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar22 != iVar20);\n              }\n              iVar16 = *(int *)(iVar40 + 0x2d0);\n              dVar57 = *(double *)(iVar37 + 0x30);\n              dVar56 = *(double *)(iVar37 + 0x38);\n              iVar28 = *(int *)(iVar16 + 0x14);\n              iVar20 = *(int *)(iVar16 + 0x20);\n              iVar23 = *(int *)(iVar16 + 0x28);\n              *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar37 + 0x28);\n              *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n              *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n              if (iVar23 != 0) {\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) = (float)*(double *)(iVar37 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                if (*(int *)(iVar37 + 8) == 0) {\n                  fVar48 = (float)uVar59;\n                }\n                else {\n                  fVar48 = (float)*(double *)(iVar37 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n              }\nLAB_00073d38:\n              iVar21 = iVar21 + 1;\n              iVar39 = iVar39 + iVar22 * 4;\n              iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n              iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar21 != iVar43);" do (compound_statement "{\n              while (((iVar41 != 0 && (*(float *)(iVar39 + piVar32[0x14] * 4) <= fVar51)) ||\n                     ((iVar16 = *(int *)(iVar15 + 0x2d0), *(int *)(iVar16 + 0x4c) != 0 &&\n                      (*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51))))) {\n                iVar16 = *(int *)(iVar40 + 0x2d0);\n                dVar57 = *(double *)(iVar35 + 0x30);\n                dVar56 = *(double *)(iVar35 + 0x38);\n                iVar22 = *(int *)(iVar16 + 0x14);\n                iVar20 = *(int *)(iVar16 + 0x20);\n                iVar28 = *(int *)(iVar16 + 0x28);\n                *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar35 + 0x28);\n                *(float *)(iVar34 + iVar22 * 4) = (float)dVar57;\n                *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                if (iVar28 != 0) {\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                       (float)*(double *)(iVar35 + 0x40);\n                }\n                if (*(int *)(iVar16 + 0x34) != 0) {\n                  fVar48 = fVar53;\n                  if (*(int *)(iVar35 + 8) != 0) {\n                    fVar48 = (float)*(double *)(iVar35 + 0x48);\n                  }\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n                }\n                iVar21 = iVar21 + 1;\n                iVar39 = iVar39 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n                iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar21 == iVar43) goto LAB_00073d60;\n              }\n              dVar56 = dVar50;\n              if (piVar32[0xd] != 0) {\n                dVar56 = (double)*(float *)(iVar39 + piVar32[0xe] * 4) * dVar52;\n              }\n              dVar57 = dVar55;\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                dVar57 = (double)*(float *)(iVar13 + *(int *)(iVar16 + 0x38) * 4) * dVar58;\n              }\n              iVar22 = *(int *)(iVar36 + 0x2c0);\n              iVar20 = 0;\n              piVar9 = piVar32;\n              if (0 < iVar22) {\n                do {\n                  iVar23 = *piVar9;\n                  iVar28 = iVar16 + iVar23 * 0xc;\n                  if (((piVar32[iVar23 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)) && ((uVar26 & 2) != 0)) {\n                    dVar49 = (double)*(float *)(iVar39 + iVar20 * 4);\n                    dVar47 = (double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4);\n                    if (iVar23 == 4) {\n                      dVar49 = dVar49 - dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    else {\n                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    if (dVar54 <= dVar49) {\n                      iVar16 = *(int *)(iVar40 + 0x2d0);\n                      dVar57 = *(double *)(iVar44 + 0x30);\n                      dVar56 = *(double *)(iVar44 + 0x38);\n                      iVar28 = *(int *)(iVar16 + 0x14);\n                      iVar20 = *(int *)(iVar16 + 0x20);\n                      iVar23 = *(int *)(iVar16 + 0x28);\n                      *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28);\n                      *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n                      *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                      if (iVar23 != 0) {\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }\n                      if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;\n                      fVar48 = fVar53;\n                      if (*(int *)(iVar44 + 8) != 0) {\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar20 = iVar20 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar22 != iVar20);\n              }\n              iVar16 = *(int *)(iVar40 + 0x2d0);\n              dVar57 = *(double *)(iVar37 + 0x30);\n              dVar56 = *(double *)(iVar37 + 0x38);\n              iVar28 = *(int *)(iVar16 + 0x14);\n              iVar20 = *(int *)(iVar16 + 0x20);\n              iVar23 = *(int *)(iVar16 + 0x28);\n              *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar37 + 0x28);\n              *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n              *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n              if (iVar23 != 0) {\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) = (float)*(double *)(iVar37 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar16 + 0x34) != 0) {\n                if (*(int *)(iVar37 + 8) == 0) {\n                  fVar48 = (float)uVar59;\n                }\n                else {\n                  fVar48 = (float)*(double *)(iVar37 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n              }\nLAB_00073d38:\n              iVar21 = iVar21 + 1;\n              iVar39 = iVar39 + iVar22 * 4;\n              iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n              iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n            }" { (while_statement "while (((iVar41 != 0 && (*(float *)(iVar39 + piVar32[0x14] * 4) <= fVar51)) ||\n                     ((iVar16 = *(int *)(iVar15 + 0x2d0), *(int *)(iVar16 + 0x4c) != 0 &&\n                      (*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51))))) {\n                iVar16 = *(int *)(iVar40 + 0x2d0);\n                dVar57 = *(double *)(iVar35 + 0x30);\n                dVar56 = *(double *)(iVar35 + 0x38);\n                iVar22 = *(int *)(iVar16 + 0x14);\n                iVar20 = *(int *)(iVar16 + 0x20);\n                iVar28 = *(int *)(iVar16 + 0x28);\n                *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar35 + 0x28);\n                *(float *)(iVar34 + iVar22 * 4) = (float)dVar57;\n                *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                if (iVar28 != 0) {\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                       (float)*(double *)(iVar35 + 0x40);\n                }\n                if (*(int *)(iVar16 + 0x34) != 0) {\n                  fVar48 = fVar53;\n                  if (*(int *)(iVar35 + 8) != 0) {\n                    fVar48 = (float)*(double *)(iVar35 + 0x48);\n                  }\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n                }\n                iVar21 = iVar21 + 1;\n                iVar39 = iVar39 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n                iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar21 == iVar43) goto LAB_00073d60;\n              }" while (parenthesized_expression "(((iVar41 != 0 && (*(float *)(iVar39 + piVar32[0x14] * 4) <= fVar51)) ||\n                     ((iVar16 = *(int *)(iVar15 + 0x2d0), *(int *)(iVar16 + 0x4c) != 0 &&\n                      (*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51)))))" ( (parenthesized_expression "((iVar41 != 0 && (*(float *)(iVar39 + piVar32[0x14] * 4) <= fVar51)) ||\n                     ((iVar16 = *(int *)(iVar15 + 0x2d0), *(int *)(iVar16 + 0x4c) != 0 &&\n                      (*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51))))" ( (binary_expression "(iVar41 != 0 && (*(float *)(iVar39 + piVar32[0x14] * 4) <= fVar51)) ||\n                     ((iVar16 = *(int *)(iVar15 + 0x2d0), *(int *)(iVar16 + 0x4c) != 0 &&\n                      (*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51)))" (parenthesized_expression "(iVar41 != 0 && (*(float *)(iVar39 + piVar32[0x14] * 4) <= fVar51))" ( (binary_expression "iVar41 != 0 && (*(float *)(iVar39 + piVar32[0x14] * 4) <= fVar51)" (binary_expression "iVar41 != 0" identifier != number_literal) && (parenthesized_expression "(*(float *)(iVar39 + piVar32[0x14] * 4) <= fVar51)" ( (binary_expression "*(float *)(iVar39 + piVar32[0x14] * 4) <= fVar51" (pointer_expression "*(float *)(iVar39 + piVar32[0x14] * 4)" * (cast_expression "(float *)(iVar39 + piVar32[0x14] * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + piVar32[0x14] * 4)" ( (binary_expression "iVar39 + piVar32[0x14] * 4" identifier + (binary_expression "piVar32[0x14] * 4" (subscript_expression "piVar32[0x14]" identifier [ number_literal ]) * number_literal)) )))) <= identifier) ))) )) || (parenthesized_expression "((iVar16 = *(int *)(iVar15 + 0x2d0), *(int *)(iVar16 + 0x4c) != 0 &&\n                      (*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51)))" ( (parenthesized_expression "(iVar16 = *(int *)(iVar15 + 0x2d0), *(int *)(iVar16 + 0x4c) != 0 &&\n                      (*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51))" ( (comma_expression "iVar16 = *(int *)(iVar15 + 0x2d0), *(int *)(iVar16 + 0x4c) != 0 &&\n                      (*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51)" (assignment_expression "iVar16 = *(int *)(iVar15 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar15 + 0x2d0)" * (cast_expression "(int *)(iVar15 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x2d0)" ( (binary_expression "iVar15 + 0x2d0" identifier + number_literal) ))))) , (binary_expression "*(int *)(iVar16 + 0x4c) != 0 &&\n                      (*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51)" (binary_expression "*(int *)(iVar16 + 0x4c) != 0" (pointer_expression "*(int *)(iVar16 + 0x4c)" * (cast_expression "(int *)(iVar16 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x4c)" ( (binary_expression "iVar16 + 0x4c" identifier + number_literal) )))) != number_literal) && (parenthesized_expression "(*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51)" ( (binary_expression "*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4) <= fVar51" (pointer_expression "*(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar16 + 0x50) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar16 + 0x50) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar16 + 0x50) * 4" identifier + (binary_expression "*(int *)(iVar16 + 0x50) * 4" (pointer_expression "*(int *)(iVar16 + 0x50)" * (cast_expression "(int *)(iVar16 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x50)" ( (binary_expression "iVar16 + 0x50" identifier + number_literal) )))) * number_literal)) )))) <= identifier) )))) )) ))) )) )) (compound_statement "{\n                iVar16 = *(int *)(iVar40 + 0x2d0);\n                dVar57 = *(double *)(iVar35 + 0x30);\n                dVar56 = *(double *)(iVar35 + 0x38);\n                iVar22 = *(int *)(iVar16 + 0x14);\n                iVar20 = *(int *)(iVar16 + 0x20);\n                iVar28 = *(int *)(iVar16 + 0x28);\n                *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar35 + 0x28);\n                *(float *)(iVar34 + iVar22 * 4) = (float)dVar57;\n                *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                if (iVar28 != 0) {\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                       (float)*(double *)(iVar35 + 0x40);\n                }\n                if (*(int *)(iVar16 + 0x34) != 0) {\n                  fVar48 = fVar53;\n                  if (*(int *)(iVar35 + 8) != 0) {\n                    fVar48 = (float)*(double *)(iVar35 + 0x48);\n                  }\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n                }\n                iVar21 = iVar21 + 1;\n                iVar39 = iVar39 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;\n                iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar21 == iVar43) goto LAB_00073d60;\n              }" { (expression_statement "iVar16 = *(int *)(iVar40 + 0x2d0);" (assignment_expression "iVar16 = *(int *)(iVar40 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar40 + 0x2d0)" * (cast_expression "(int *)(iVar40 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 0x2d0)" ( (binary_expression "iVar40 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "dVar57 = *(double *)(iVar35 + 0x30);" (assignment_expression "dVar57 = *(double *)(iVar35 + 0x30)" identifier = (pointer_expression "*(double *)(iVar35 + 0x30)" * (cast_expression "(double *)(iVar35 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar35 + 0x30)" ( (binary_expression "iVar35 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "dVar56 = *(double *)(iVar35 + 0x38);" (assignment_expression "dVar56 = *(double *)(iVar35 + 0x38)" identifier = (pointer_expression "*(double *)(iVar35 + 0x38)" * (cast_expression "(double *)(iVar35 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar35 + 0x38)" ( (binary_expression "iVar35 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = *(int *)(iVar16 + 0x14);" (assignment_expression "iVar22 = *(int *)(iVar16 + 0x14)" identifier = (pointer_expression "*(int *)(iVar16 + 0x14)" * (cast_expression "(int *)(iVar16 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x14)" ( (binary_expression "iVar16 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = *(int *)(iVar16 + 0x20);" (assignment_expression "iVar20 = *(int *)(iVar16 + 0x20)" identifier = (pointer_expression "*(int *)(iVar16 + 0x20)" * (cast_expression "(int *)(iVar16 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x20)" ( (binary_expression "iVar16 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar28 = *(int *)(iVar16 + 0x28);" (assignment_expression "iVar28 = *(int *)(iVar16 + 0x28)" identifier = (pointer_expression "*(int *)(iVar16 + 0x28)" * (cast_expression "(int *)(iVar16 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x28)" ( (binary_expression "iVar16 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar35 + 0x28);" (assignment_expression "*(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar35 + 0x28)" (pointer_expression "*(float *)(iVar34 + *(int *)(iVar16 + 8) * 4)" * (cast_expression "(float *)(iVar34 + *(int *)(iVar16 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + *(int *)(iVar16 + 8) * 4)" ( (binary_expression "iVar34 + *(int *)(iVar16 + 8) * 4" identifier + (binary_expression "*(int *)(iVar16 + 8) * 4" (pointer_expression "*(int *)(iVar16 + 8)" * (cast_expression "(int *)(iVar16 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 8)" ( (binary_expression "iVar16 + 8" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(iVar35 + 0x28)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar35 + 0x28)" * (cast_expression "(double *)(iVar35 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar35 + 0x28)" ( (binary_expression "iVar35 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "*(float *)(iVar34 + iVar22 * 4) = (float)dVar57;" (assignment_expression "*(float *)(iVar34 + iVar22 * 4) = (float)dVar57" (pointer_expression "*(float *)(iVar34 + iVar22 * 4)" * (cast_expression "(float *)(iVar34 + iVar22 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + iVar22 * 4)" ( (binary_expression "iVar34 + iVar22 * 4" identifier + (binary_expression "iVar22 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dVar57" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*(float *)(iVar34 + iVar20 * 4) = (float)dVar56;" (assignment_expression "*(float *)(iVar34 + iVar20 * 4) = (float)dVar56" (pointer_expression "*(float *)(iVar34 + iVar20 * 4)" * (cast_expression "(float *)(iVar34 + iVar20 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + iVar20 * 4)" ( (binary_expression "iVar34 + iVar20 * 4" identifier + (binary_expression "iVar20 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dVar56" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (if_statement "if (iVar28 != 0) {\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                       (float)*(double *)(iVar35 + 0x40);\n                }" if (parenthesized_expression "(iVar28 != 0)" ( (binary_expression "iVar28 != 0" identifier != number_literal) )) (compound_statement "{\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                       (float)*(double *)(iVar35 + 0x40);\n                }" { (expression_statement "*(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                       (float)*(double *)(iVar35 + 0x40);" (assignment_expression "*(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                       (float)*(double *)(iVar35 + 0x40)" (pointer_expression "*(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4)" * (cast_expression "(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + *(int *)(iVar16 + 0x2c) * 4)" ( (binary_expression "iVar34 + *(int *)(iVar16 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar16 + 0x2c) * 4" (pointer_expression "*(int *)(iVar16 + 0x2c)" * (cast_expression "(int *)(iVar16 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x2c)" ( (binary_expression "iVar16 + 0x2c" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(iVar35 + 0x40)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar35 + 0x40)" * (cast_expression "(double *)(iVar35 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar35 + 0x40)" ( (binary_expression "iVar35 + 0x40" identifier + number_literal) )))))) ;) })) (if_statement "if (*(int *)(iVar16 + 0x34) != 0) {\n                  fVar48 = fVar53;\n                  if (*(int *)(iVar35 + 8) != 0) {\n                    fVar48 = (float)*(double *)(iVar35 + 0x48);\n                  }\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n                }" if (parenthesized_expression "(*(int *)(iVar16 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar16 + 0x34) != 0" (pointer_expression "*(int *)(iVar16 + 0x34)" * (cast_expression "(int *)(iVar16 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x34)" ( (binary_expression "iVar16 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  fVar48 = fVar53;\n                  if (*(int *)(iVar35 + 8) != 0) {\n                    fVar48 = (float)*(double *)(iVar35 + 0x48);\n                  }\n                  *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n                }" { (expression_statement "fVar48 = fVar53;" (assignment_expression "fVar48 = fVar53" identifier = identifier) ;) (if_statement "if (*(int *)(iVar35 + 8) != 0) {\n                    fVar48 = (float)*(double *)(iVar35 + 0x48);\n                  }" if (parenthesized_expression "(*(int *)(iVar35 + 8) != 0)" ( (binary_expression "*(int *)(iVar35 + 8) != 0" (pointer_expression "*(int *)(iVar35 + 8)" * (cast_expression "(int *)(iVar35 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar35 + 8)" ( (binary_expression "iVar35 + 8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    fVar48 = (float)*(double *)(iVar35 + 0x48);\n                  }" { (expression_statement "fVar48 = (float)*(double *)(iVar35 + 0x48);" (assignment_expression "fVar48 = (float)*(double *)(iVar35 + 0x48)" identifier = (cast_expression "(float)*(double *)(iVar35 + 0x48)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar35 + 0x48)" * (cast_expression "(double *)(iVar35 + 0x48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar35 + 0x48)" ( (binary_expression "iVar35 + 0x48" identifier + number_literal) )))))) ;) })) (expression_statement "*(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;" (assignment_expression "*(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48" (pointer_expression "*(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4)" * (cast_expression "(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + *(int *)(iVar16 + 0x38) * 4)" ( (binary_expression "iVar34 + *(int *)(iVar16 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar16 + 0x38) * 4" (pointer_expression "*(int *)(iVar16 + 0x38)" * (cast_expression "(int *)(iVar16 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x38)" ( (binary_expression "iVar16 + 0x38" identifier + number_literal) )))) * number_literal)) )))) = identifier) ;) })) (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ;) (expression_statement "iVar39 = iVar39 + *(int *)(iVar36 + 0x2c0) * 4;" (assignment_expression "iVar39 = iVar39 + *(int *)(iVar36 + 0x2c0) * 4" identifier = (binary_expression "iVar39 + *(int *)(iVar36 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar36 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar36 + 0x2c0)" * (cast_expression "(int *)(iVar36 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar36 + 0x2c0)" ( (binary_expression "iVar36 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;" (assignment_expression "iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4" identifier = (binary_expression "iVar13 + *(int *)(iVar15 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar15 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar15 + 0x2c0)" * (cast_expression "(int *)(iVar15 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x2c0)" ( (binary_expression "iVar15 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;" (assignment_expression "iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4" identifier = (binary_expression "iVar34 + *(int *)(iVar40 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar40 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar40 + 0x2c0)" * (cast_expression "(int *)(iVar40 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 0x2c0)" ( (binary_expression "iVar40 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (if_statement "if (iVar21 == iVar43) goto LAB_00073d60;" if (parenthesized_expression "(iVar21 == iVar43)" ( (binary_expression "iVar21 == iVar43" identifier == identifier) )) (goto_statement "goto LAB_00073d60;" goto statement_identifier ;)) })) (expression_statement "dVar56 = dVar50;" (assignment_expression "dVar56 = dVar50" identifier = identifier) ;) (if_statement "if (piVar32[0xd] != 0) {\n                dVar56 = (double)*(float *)(iVar39 + piVar32[0xe] * 4) * dVar52;\n              }" if (parenthesized_expression "(piVar32[0xd] != 0)" ( (binary_expression "piVar32[0xd] != 0" (subscript_expression "piVar32[0xd]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                dVar56 = (double)*(float *)(iVar39 + piVar32[0xe] * 4) * dVar52;\n              }" { (expression_statement "dVar56 = (double)*(float *)(iVar39 + piVar32[0xe] * 4) * dVar52;" (assignment_expression "dVar56 = (double)*(float *)(iVar39 + piVar32[0xe] * 4) * dVar52" identifier = (binary_expression "(double)*(float *)(iVar39 + piVar32[0xe] * 4) * dVar52" (cast_expression "(double)*(float *)(iVar39 + piVar32[0xe] * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar39 + piVar32[0xe] * 4)" * (cast_expression "(float *)(iVar39 + piVar32[0xe] * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + piVar32[0xe] * 4)" ( (binary_expression "iVar39 + piVar32[0xe] * 4" identifier + (binary_expression "piVar32[0xe] * 4" (subscript_expression "piVar32[0xe]" identifier [ number_literal ]) * number_literal)) ))))) * identifier)) ;) })) (expression_statement "dVar57 = dVar55;" (assignment_expression "dVar57 = dVar55" identifier = identifier) ;) (if_statement "if (*(int *)(iVar16 + 0x34) != 0) {\n                dVar57 = (double)*(float *)(iVar13 + *(int *)(iVar16 + 0x38) * 4) * dVar58;\n              }" if (parenthesized_expression "(*(int *)(iVar16 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar16 + 0x34) != 0" (pointer_expression "*(int *)(iVar16 + 0x34)" * (cast_expression "(int *)(iVar16 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x34)" ( (binary_expression "iVar16 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                dVar57 = (double)*(float *)(iVar13 + *(int *)(iVar16 + 0x38) * 4) * dVar58;\n              }" { (expression_statement "dVar57 = (double)*(float *)(iVar13 + *(int *)(iVar16 + 0x38) * 4) * dVar58;" (assignment_expression "dVar57 = (double)*(float *)(iVar13 + *(int *)(iVar16 + 0x38) * 4) * dVar58" identifier = (binary_expression "(double)*(float *)(iVar13 + *(int *)(iVar16 + 0x38) * 4) * dVar58" (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar16 + 0x38) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar16 + 0x38) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar16 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar16 + 0x38) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar16 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar16 + 0x38) * 4" (pointer_expression "*(int *)(iVar16 + 0x38)" * (cast_expression "(int *)(iVar16 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x38)" ( (binary_expression "iVar16 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) * identifier)) ;) })) (expression_statement "iVar22 = *(int *)(iVar36 + 0x2c0);" (assignment_expression "iVar22 = *(int *)(iVar36 + 0x2c0)" identifier = (pointer_expression "*(int *)(iVar36 + 0x2c0)" * (cast_expression "(int *)(iVar36 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar36 + 0x2c0)" ( (binary_expression "iVar36 + 0x2c0" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (expression_statement "piVar9 = piVar32;" (assignment_expression "piVar9 = piVar32" identifier = identifier) ;) (if_statement "if (0 < iVar22) {\n                do {\n                  iVar23 = *piVar9;\n                  iVar28 = iVar16 + iVar23 * 0xc;\n                  if (((piVar32[iVar23 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)) && ((uVar26 & 2) != 0)) {\n                    dVar49 = (double)*(float *)(iVar39 + iVar20 * 4);\n                    dVar47 = (double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4);\n                    if (iVar23 == 4) {\n                      dVar49 = dVar49 - dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    else {\n                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    if (dVar54 <= dVar49) {\n                      iVar16 = *(int *)(iVar40 + 0x2d0);\n                      dVar57 = *(double *)(iVar44 + 0x30);\n                      dVar56 = *(double *)(iVar44 + 0x38);\n                      iVar28 = *(int *)(iVar16 + 0x14);\n                      iVar20 = *(int *)(iVar16 + 0x20);\n                      iVar23 = *(int *)(iVar16 + 0x28);\n                      *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28);\n                      *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n                      *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                      if (iVar23 != 0) {\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }\n                      if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;\n                      fVar48 = fVar53;\n                      if (*(int *)(iVar44 + 8) != 0) {\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar20 = iVar20 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar22 != iVar20);\n              }" if (parenthesized_expression "(0 < iVar22)" ( (binary_expression "0 < iVar22" number_literal < identifier) )) (compound_statement "{\n                do {\n                  iVar23 = *piVar9;\n                  iVar28 = iVar16 + iVar23 * 0xc;\n                  if (((piVar32[iVar23 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)) && ((uVar26 & 2) != 0)) {\n                    dVar49 = (double)*(float *)(iVar39 + iVar20 * 4);\n                    dVar47 = (double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4);\n                    if (iVar23 == 4) {\n                      dVar49 = dVar49 - dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    else {\n                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    if (dVar54 <= dVar49) {\n                      iVar16 = *(int *)(iVar40 + 0x2d0);\n                      dVar57 = *(double *)(iVar44 + 0x30);\n                      dVar56 = *(double *)(iVar44 + 0x38);\n                      iVar28 = *(int *)(iVar16 + 0x14);\n                      iVar20 = *(int *)(iVar16 + 0x20);\n                      iVar23 = *(int *)(iVar16 + 0x28);\n                      *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28);\n                      *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n                      *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                      if (iVar23 != 0) {\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }\n                      if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;\n                      fVar48 = fVar53;\n                      if (*(int *)(iVar44 + 8) != 0) {\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar20 = iVar20 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar22 != iVar20);\n              }" { (do_statement "do {\n                  iVar23 = *piVar9;\n                  iVar28 = iVar16 + iVar23 * 0xc;\n                  if (((piVar32[iVar23 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)) && ((uVar26 & 2) != 0)) {\n                    dVar49 = (double)*(float *)(iVar39 + iVar20 * 4);\n                    dVar47 = (double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4);\n                    if (iVar23 == 4) {\n                      dVar49 = dVar49 - dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    else {\n                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    if (dVar54 <= dVar49) {\n                      iVar16 = *(int *)(iVar40 + 0x2d0);\n                      dVar57 = *(double *)(iVar44 + 0x30);\n                      dVar56 = *(double *)(iVar44 + 0x38);\n                      iVar28 = *(int *)(iVar16 + 0x14);\n                      iVar20 = *(int *)(iVar16 + 0x20);\n                      iVar23 = *(int *)(iVar16 + 0x28);\n                      *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28);\n                      *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n                      *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                      if (iVar23 != 0) {\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }\n                      if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;\n                      fVar48 = fVar53;\n                      if (*(int *)(iVar44 + 8) != 0) {\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar20 = iVar20 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar22 != iVar20);" do (compound_statement "{\n                  iVar23 = *piVar9;\n                  iVar28 = iVar16 + iVar23 * 0xc;\n                  if (((piVar32[iVar23 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)) && ((uVar26 & 2) != 0)) {\n                    dVar49 = (double)*(float *)(iVar39 + iVar20 * 4);\n                    dVar47 = (double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4);\n                    if (iVar23 == 4) {\n                      dVar49 = dVar49 - dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    else {\n                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    if (dVar54 <= dVar49) {\n                      iVar16 = *(int *)(iVar40 + 0x2d0);\n                      dVar57 = *(double *)(iVar44 + 0x30);\n                      dVar56 = *(double *)(iVar44 + 0x38);\n                      iVar28 = *(int *)(iVar16 + 0x14);\n                      iVar20 = *(int *)(iVar16 + 0x20);\n                      iVar23 = *(int *)(iVar16 + 0x28);\n                      *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28);\n                      *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n                      *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                      if (iVar23 != 0) {\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }\n                      if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;\n                      fVar48 = fVar53;\n                      if (*(int *)(iVar44 + 8) != 0) {\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar20 = iVar20 + 1;\n                  piVar9 = piVar9 + 3;\n                }" { (expression_statement "iVar23 = *piVar9;" (assignment_expression "iVar23 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "iVar28 = iVar16 + iVar23 * 0xc;" (assignment_expression "iVar28 = iVar16 + iVar23 * 0xc" identifier = (binary_expression "iVar16 + iVar23 * 0xc" identifier + (binary_expression "iVar23 * 0xc" identifier * number_literal))) ;) (if_statement "if (((piVar32[iVar23 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)) && ((uVar26 & 2) != 0)) {\n                    dVar49 = (double)*(float *)(iVar39 + iVar20 * 4);\n                    dVar47 = (double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4);\n                    if (iVar23 == 4) {\n                      dVar49 = dVar49 - dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    else {\n                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    if (dVar54 <= dVar49) {\n                      iVar16 = *(int *)(iVar40 + 0x2d0);\n                      dVar57 = *(double *)(iVar44 + 0x30);\n                      dVar56 = *(double *)(iVar44 + 0x38);\n                      iVar28 = *(int *)(iVar16 + 0x14);\n                      iVar20 = *(int *)(iVar16 + 0x20);\n                      iVar23 = *(int *)(iVar16 + 0x28);\n                      *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28);\n                      *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n                      *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                      if (iVar23 != 0) {\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }\n                      if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;\n                      fVar48 = fVar53;\n                      if (*(int *)(iVar44 + 8) != 0) {\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }" if (parenthesized_expression "(((piVar32[iVar23 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)) && ((uVar26 & 2) != 0))" ( (binary_expression "((piVar32[iVar23 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)) && ((uVar26 & 2) != 0)" (parenthesized_expression "((piVar32[iVar23 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0))" ( (binary_expression "(piVar32[iVar23 * 3 + 1] != 0) &&\n                      (uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)" (parenthesized_expression "(piVar32[iVar23 * 3 + 1] != 0)" ( (binary_expression "piVar32[iVar23 * 3 + 1] != 0" (subscript_expression "piVar32[iVar23 * 3 + 1]" identifier [ (binary_expression "iVar23 * 3 + 1" (binary_expression "iVar23 * 3" identifier * number_literal) + number_literal) ]) != number_literal) )) && (parenthesized_expression "(uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0)" ( (comma_expression "uVar26 = *(uint *)(iVar28 + 4), uVar26 != 0" (assignment_expression "uVar26 = *(uint *)(iVar28 + 4)" identifier = (pointer_expression "*(uint *)(iVar28 + 4)" * (cast_expression "(uint *)(iVar28 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 4)" ( (binary_expression "iVar28 + 4" identifier + number_literal) ))))) , (binary_expression "uVar26 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "((uVar26 & 2) != 0)" ( (binary_expression "(uVar26 & 2) != 0" (parenthesized_expression "(uVar26 & 2)" ( (binary_expression "uVar26 & 2" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                    dVar49 = (double)*(float *)(iVar39 + iVar20 * 4);\n                    dVar47 = (double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4);\n                    if (iVar23 == 4) {\n                      dVar49 = dVar49 - dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    else {\n                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    if (dVar54 <= dVar49) {\n                      iVar16 = *(int *)(iVar40 + 0x2d0);\n                      dVar57 = *(double *)(iVar44 + 0x30);\n                      dVar56 = *(double *)(iVar44 + 0x38);\n                      iVar28 = *(int *)(iVar16 + 0x14);\n                      iVar20 = *(int *)(iVar16 + 0x20);\n                      iVar23 = *(int *)(iVar16 + 0x28);\n                      *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28);\n                      *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n                      *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                      if (iVar23 != 0) {\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }\n                      if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;\n                      fVar48 = fVar53;\n                      if (*(int *)(iVar44 + 8) != 0) {\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }" { (expression_statement "dVar49 = (double)*(float *)(iVar39 + iVar20 * 4);" (assignment_expression "dVar49 = (double)*(float *)(iVar39 + iVar20 * 4)" identifier = (cast_expression "(double)*(float *)(iVar39 + iVar20 * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar39 + iVar20 * 4)" * (cast_expression "(float *)(iVar39 + iVar20 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + iVar20 * 4)" ( (binary_expression "iVar39 + iVar20 * 4" identifier + (binary_expression "iVar20 * 4" identifier * number_literal)) )))))) ;) (expression_statement "dVar47 = (double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4);" (assignment_expression "dVar47 = (double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4)" identifier = (cast_expression "(double)*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar13 + *(int *)(iVar28 + 8) * 4)" * (cast_expression "(float *)(iVar13 + *(int *)(iVar28 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + *(int *)(iVar28 + 8) * 4)" ( (binary_expression "iVar13 + *(int *)(iVar28 + 8) * 4" identifier + (binary_expression "*(int *)(iVar28 + 8) * 4" (pointer_expression "*(int *)(iVar28 + 8)" * (cast_expression "(int *)(iVar28 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 8)" ( (binary_expression "iVar28 + 8" identifier + number_literal) )))) * number_literal)) )))))) ;) (if_statement "if (iVar23 == 4) {\n                      dVar49 = dVar49 - dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }\n                    else {\n                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }" if (parenthesized_expression "(iVar23 == 4)" ( (binary_expression "iVar23 == 4" identifier == number_literal) )) (compound_statement "{\n                      dVar49 = dVar49 - dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }" { (expression_statement "dVar49 = dVar49 - dVar47;" (assignment_expression "dVar49 = dVar49 - dVar47" identifier = (binary_expression "dVar49 - dVar47" identifier - identifier)) ;) (expression_statement "dVar49 = dVar49 * dVar49;" (assignment_expression "dVar49 = dVar49 * dVar49" identifier = (binary_expression "dVar49 * dVar49" identifier * identifier)) ;) }) (else_clause "else {\n                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }" else (compound_statement "{\n                      dVar49 = dVar56 * dVar49 - dVar57 * dVar47;\n                      dVar49 = dVar49 * dVar49;\n                    }" { (expression_statement "dVar49 = dVar56 * dVar49 - dVar57 * dVar47;" (assignment_expression "dVar49 = dVar56 * dVar49 - dVar57 * dVar47" identifier = (binary_expression "dVar56 * dVar49 - dVar57 * dVar47" (binary_expression "dVar56 * dVar49" identifier * identifier) - (binary_expression "dVar57 * dVar47" identifier * identifier))) ;) (expression_statement "dVar49 = dVar49 * dVar49;" (assignment_expression "dVar49 = dVar49 * dVar49" identifier = (binary_expression "dVar49 * dVar49" identifier * identifier)) ;) }))) (if_statement "if (dVar54 <= dVar49) {\n                      iVar16 = *(int *)(iVar40 + 0x2d0);\n                      dVar57 = *(double *)(iVar44 + 0x30);\n                      dVar56 = *(double *)(iVar44 + 0x38);\n                      iVar28 = *(int *)(iVar16 + 0x14);\n                      iVar20 = *(int *)(iVar16 + 0x20);\n                      iVar23 = *(int *)(iVar16 + 0x28);\n                      *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28);\n                      *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n                      *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                      if (iVar23 != 0) {\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }\n                      if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;\n                      fVar48 = fVar53;\n                      if (*(int *)(iVar44 + 8) != 0) {\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }" if (parenthesized_expression "(dVar54 <= dVar49)" ( (binary_expression "dVar54 <= dVar49" identifier <= identifier) )) (compound_statement "{\n                      iVar16 = *(int *)(iVar40 + 0x2d0);\n                      dVar57 = *(double *)(iVar44 + 0x30);\n                      dVar56 = *(double *)(iVar44 + 0x38);\n                      iVar28 = *(int *)(iVar16 + 0x14);\n                      iVar20 = *(int *)(iVar16 + 0x20);\n                      iVar23 = *(int *)(iVar16 + 0x28);\n                      *(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28);\n                      *(float *)(iVar34 + iVar28 * 4) = (float)dVar57;\n                      *(float *)(iVar34 + iVar20 * 4) = (float)dVar56;\n                      if (iVar23 != 0) {\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }\n                      if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;\n                      fVar48 = fVar53;\n                      if (*(int *)(iVar44 + 8) != 0) {\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }" { (expression_statement "iVar16 = *(int *)(iVar40 + 0x2d0);" (assignment_expression "iVar16 = *(int *)(iVar40 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar40 + 0x2d0)" * (cast_expression "(int *)(iVar40 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 0x2d0)" ( (binary_expression "iVar40 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "dVar57 = *(double *)(iVar44 + 0x30);" (assignment_expression "dVar57 = *(double *)(iVar44 + 0x30)" identifier = (pointer_expression "*(double *)(iVar44 + 0x30)" * (cast_expression "(double *)(iVar44 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 0x30)" ( (binary_expression "iVar44 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "dVar56 = *(double *)(iVar44 + 0x38);" (assignment_expression "dVar56 = *(double *)(iVar44 + 0x38)" identifier = (pointer_expression "*(double *)(iVar44 + 0x38)" * (cast_expression "(double *)(iVar44 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 0x38)" ( (binary_expression "iVar44 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar28 = *(int *)(iVar16 + 0x14);" (assignment_expression "iVar28 = *(int *)(iVar16 + 0x14)" identifier = (pointer_expression "*(int *)(iVar16 + 0x14)" * (cast_expression "(int *)(iVar16 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x14)" ( (binary_expression "iVar16 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = *(int *)(iVar16 + 0x20);" (assignment_expression "iVar20 = *(int *)(iVar16 + 0x20)" identifier = (pointer_expression "*(int *)(iVar16 + 0x20)" * (cast_expression "(int *)(iVar16 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x20)" ( (binary_expression "iVar16 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar23 = *(int *)(iVar16 + 0x28);" (assignment_expression "iVar23 = *(int *)(iVar16 + 0x28)" identifier = (pointer_expression "*(int *)(iVar16 + 0x28)" * (cast_expression "(int *)(iVar16 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x28)" ( (binary_expression "iVar16 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28);" (assignment_expression "*(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) =\n                           (float)*(double *)(iVar44 + 0x28)" (pointer_expression "*(float *)(iVar34 + *(int *)(iVar16 + 8) * 4)" * (cast_expression "(float *)(iVar34 + *(int *)(iVar16 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + *(int *)(iVar16 + 8) * 4)" ( (binary_expression "iVar34 + *(int *)(iVar16 + 8) * 4" identifier + (binary_expression "*(int *)(iVar16 + 8) * 4" (pointer_expression "*(int *)(iVar16 + 8)" * (cast_expression "(int *)(iVar16 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 8)" ( (binary_expression "iVar16 + 8" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(iVar44 + 0x28)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar44 + 0x28)" * (cast_expression "(double *)(iVar44 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 0x28)" ( (binary_expression "iVar44 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "*(float *)(iVar34 + iVar28 * 4) = (float)dVar57;" (assignment_expression "*(float *)(iVar34 + iVar28 * 4) = (float)dVar57" (pointer_expression "*(float *)(iVar34 + iVar28 * 4)" * (cast_expression "(float *)(iVar34 + iVar28 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + iVar28 * 4)" ( (binary_expression "iVar34 + iVar28 * 4" identifier + (binary_expression "iVar28 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dVar57" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*(float *)(iVar34 + iVar20 * 4) = (float)dVar56;" (assignment_expression "*(float *)(iVar34 + iVar20 * 4) = (float)dVar56" (pointer_expression "*(float *)(iVar34 + iVar20 * 4)" * (cast_expression "(float *)(iVar34 + iVar20 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + iVar20 * 4)" ( (binary_expression "iVar34 + iVar20 * 4" identifier + (binary_expression "iVar20 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dVar56" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (if_statement "if (iVar23 != 0) {\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }" if (parenthesized_expression "(iVar23 != 0)" ( (binary_expression "iVar23 != 0" identifier != number_literal) )) (compound_statement "{\n                        *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);\n                      }" { (expression_statement "*(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40);" (assignment_expression "*(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) =\n                             (float)*(double *)(iVar44 + 0x40)" (pointer_expression "*(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4)" * (cast_expression "(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + *(int *)(iVar16 + 0x2c) * 4)" ( (binary_expression "iVar34 + *(int *)(iVar16 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar16 + 0x2c) * 4" (pointer_expression "*(int *)(iVar16 + 0x2c)" * (cast_expression "(int *)(iVar16 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x2c)" ( (binary_expression "iVar16 + 0x2c" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(iVar44 + 0x40)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar44 + 0x40)" * (cast_expression "(double *)(iVar44 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 0x40)" ( (binary_expression "iVar44 + 0x40" identifier + number_literal) )))))) ;) })) (if_statement "if (*(int *)(iVar16 + 0x34) == 0) goto LAB_00073d38;" if (parenthesized_expression "(*(int *)(iVar16 + 0x34) == 0)" ( (binary_expression "*(int *)(iVar16 + 0x34) == 0" (pointer_expression "*(int *)(iVar16 + 0x34)" * (cast_expression "(int *)(iVar16 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x34)" ( (binary_expression "iVar16 + 0x34" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_00073d38;" goto statement_identifier ;)) (expression_statement "fVar48 = fVar53;" (assignment_expression "fVar48 = fVar53" identifier = identifier) ;) (if_statement "if (*(int *)(iVar44 + 8) != 0) {\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }" if (parenthesized_expression "(*(int *)(iVar44 + 8) != 0)" ( (binary_expression "*(int *)(iVar44 + 8) != 0" (pointer_expression "*(int *)(iVar44 + 8)" * (cast_expression "(int *)(iVar44 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 8)" ( (binary_expression "iVar44 + 8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                        fVar48 = (float)*(double *)(iVar44 + 0x48);\n                      }" { (expression_statement "fVar48 = (float)*(double *)(iVar44 + 0x48);" (assignment_expression "fVar48 = (float)*(double *)(iVar44 + 0x48)" identifier = (cast_expression "(float)*(double *)(iVar44 + 0x48)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar44 + 0x48)" * (cast_expression "(double *)(iVar44 + 0x48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + 0x48)" ( (binary_expression "iVar44 + 0x48" identifier + number_literal) )))))) ;) })) (goto_statement "goto LAB_00073d28;" goto statement_identifier ;) })) })) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "piVar9 = piVar9 + 3;" (assignment_expression "piVar9 = piVar9 + 3" identifier = (binary_expression "piVar9 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar22 != iVar20)" ( (binary_expression "iVar22 != iVar20" identifier != identifier) )) ;) })) (expression_statement "iVar16 = *(int *)(iVar40 + 0x2d0);" (assignment_expression "iVar16 = *(int *)(iVar40 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar40 + 0x2d0)" * (cast_expression "(int *)(iVar40 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 0x2d0)" ( (binary_expression "iVar40 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "dVar57 = *(double *)(iVar37 + 0x30);" (assignment_expression "dVar57 = *(double *)(iVar37 + 0x30)" identifier = (pointer_expression "*(double *)(iVar37 + 0x30)" * (cast_expression "(double *)(iVar37 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + 0x30)" ( (binary_expression "iVar37 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "dVar56 = *(double *)(iVar37 + 0x38);" (assignment_expression "dVar56 = *(double *)(iVar37 + 0x38)" identifier = (pointer_expression "*(double *)(iVar37 + 0x38)" * (cast_expression "(double *)(iVar37 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + 0x38)" ( (binary_expression "iVar37 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar28 = *(int *)(iVar16 + 0x14);" (assignment_expression "iVar28 = *(int *)(iVar16 + 0x14)" identifier = (pointer_expression "*(int *)(iVar16 + 0x14)" * (cast_expression "(int *)(iVar16 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x14)" ( (binary_expression "iVar16 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = *(int *)(iVar16 + 0x20);" (assignment_expression "iVar20 = *(int *)(iVar16 + 0x20)" identifier = (pointer_expression "*(int *)(iVar16 + 0x20)" * (cast_expression "(int *)(iVar16 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x20)" ( (binary_expression "iVar16 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar23 = *(int *)(iVar16 + 0x28);" (assignment_expression "iVar23 = *(int *)(iVar16 + 0x28)" identifier = (pointer_expression "*(int *)(iVar16 + 0x28)" * (cast_expression "(int *)(iVar16 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x28)" ( (binary_expression "iVar16 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar37 + 0x28);" (assignment_expression "*(float *)(iVar34 + *(int *)(iVar16 + 8) * 4) = (float)*(double *)(iVar37 + 0x28)" (pointer_expression "*(float *)(iVar34 + *(int *)(iVar16 + 8) * 4)" * (cast_expression "(float *)(iVar34 + *(int *)(iVar16 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + *(int *)(iVar16 + 8) * 4)" ( (binary_expression "iVar34 + *(int *)(iVar16 + 8) * 4" identifier + (binary_expression "*(int *)(iVar16 + 8) * 4" (pointer_expression "*(int *)(iVar16 + 8)" * (cast_expression "(int *)(iVar16 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 8)" ( (binary_expression "iVar16 + 8" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(iVar37 + 0x28)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar37 + 0x28)" * (cast_expression "(double *)(iVar37 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + 0x28)" ( (binary_expression "iVar37 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "*(float *)(iVar34 + iVar28 * 4) = (float)dVar57;" (assignment_expression "*(float *)(iVar34 + iVar28 * 4) = (float)dVar57" (pointer_expression "*(float *)(iVar34 + iVar28 * 4)" * (cast_expression "(float *)(iVar34 + iVar28 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + iVar28 * 4)" ( (binary_expression "iVar34 + iVar28 * 4" identifier + (binary_expression "iVar28 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dVar57" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*(float *)(iVar34 + iVar20 * 4) = (float)dVar56;" (assignment_expression "*(float *)(iVar34 + iVar20 * 4) = (float)dVar56" (pointer_expression "*(float *)(iVar34 + iVar20 * 4)" * (cast_expression "(float *)(iVar34 + iVar20 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + iVar20 * 4)" ( (binary_expression "iVar34 + iVar20 * 4" identifier + (binary_expression "iVar20 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dVar56" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (if_statement "if (iVar23 != 0) {\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) = (float)*(double *)(iVar37 + 0x40)\n                ;\n              }" if (parenthesized_expression "(iVar23 != 0)" ( (binary_expression "iVar23 != 0" identifier != number_literal) )) (compound_statement "{\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) = (float)*(double *)(iVar37 + 0x40)\n                ;\n              }" { (expression_statement "*(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) = (float)*(double *)(iVar37 + 0x40)\n                ;" (assignment_expression "*(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4) = (float)*(double *)(iVar37 + 0x40)" (pointer_expression "*(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4)" * (cast_expression "(float *)(iVar34 + *(int *)(iVar16 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + *(int *)(iVar16 + 0x2c) * 4)" ( (binary_expression "iVar34 + *(int *)(iVar16 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar16 + 0x2c) * 4" (pointer_expression "*(int *)(iVar16 + 0x2c)" * (cast_expression "(int *)(iVar16 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x2c)" ( (binary_expression "iVar16 + 0x2c" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(iVar37 + 0x40)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar37 + 0x40)" * (cast_expression "(double *)(iVar37 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + 0x40)" ( (binary_expression "iVar37 + 0x40" identifier + number_literal) )))))) ;) })) (if_statement "if (*(int *)(iVar16 + 0x34) != 0) {\n                if (*(int *)(iVar37 + 8) == 0) {\n                  fVar48 = (float)uVar59;\n                }\n                else {\n                  fVar48 = (float)*(double *)(iVar37 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n              }" if (parenthesized_expression "(*(int *)(iVar16 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar16 + 0x34) != 0" (pointer_expression "*(int *)(iVar16 + 0x34)" * (cast_expression "(int *)(iVar16 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x34)" ( (binary_expression "iVar16 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                if (*(int *)(iVar37 + 8) == 0) {\n                  fVar48 = (float)uVar59;\n                }\n                else {\n                  fVar48 = (float)*(double *)(iVar37 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;\n              }" { (if_statement "if (*(int *)(iVar37 + 8) == 0) {\n                  fVar48 = (float)uVar59;\n                }\n                else {\n                  fVar48 = (float)*(double *)(iVar37 + 0x48);\n                }" if (parenthesized_expression "(*(int *)(iVar37 + 8) == 0)" ( (binary_expression "*(int *)(iVar37 + 8) == 0" (pointer_expression "*(int *)(iVar37 + 8)" * (cast_expression "(int *)(iVar37 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + 8)" ( (binary_expression "iVar37 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                  fVar48 = (float)uVar59;\n                }" { (expression_statement "fVar48 = (float)uVar59;" (assignment_expression "fVar48 = (float)uVar59" identifier = (cast_expression "(float)uVar59" ( (type_descriptor "float" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                  fVar48 = (float)*(double *)(iVar37 + 0x48);\n                }" else (compound_statement "{\n                  fVar48 = (float)*(double *)(iVar37 + 0x48);\n                }" { (expression_statement "fVar48 = (float)*(double *)(iVar37 + 0x48);" (assignment_expression "fVar48 = (float)*(double *)(iVar37 + 0x48)" identifier = (cast_expression "(float)*(double *)(iVar37 + 0x48)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar37 + 0x48)" * (cast_expression "(double *)(iVar37 + 0x48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + 0x48)" ( (binary_expression "iVar37 + 0x48" identifier + number_literal) )))))) ;) }))) (labeled_statement "LAB_00073d28:\n                *(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;" statement_identifier : (expression_statement "*(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48;" (assignment_expression "*(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4) = fVar48" (pointer_expression "*(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4)" * (cast_expression "(float *)(iVar34 + *(int *)(iVar16 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar34 + *(int *)(iVar16 + 0x38) * 4)" ( (binary_expression "iVar34 + *(int *)(iVar16 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar16 + 0x38) * 4" (pointer_expression "*(int *)(iVar16 + 0x38)" * (cast_expression "(int *)(iVar16 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x38)" ( (binary_expression "iVar16 + 0x38" identifier + number_literal) )))) * number_literal)) )))) = identifier) ;)) })) (labeled_statement "LAB_00073d38:\n              iVar21 = iVar21 + 1;" statement_identifier : (expression_statement "iVar21 = iVar21 + 1;" (assignment_expression "iVar21 = iVar21 + 1" identifier = (binary_expression "iVar21 + 1" identifier + number_literal)) ;)) (expression_statement "iVar39 = iVar39 + iVar22 * 4;" (assignment_expression "iVar39 = iVar39 + iVar22 * 4" identifier = (binary_expression "iVar39 + iVar22 * 4" identifier + (binary_expression "iVar22 * 4" identifier * number_literal))) ;) (expression_statement "iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4;" (assignment_expression "iVar13 = iVar13 + *(int *)(iVar15 + 0x2c0) * 4" identifier = (binary_expression "iVar13 + *(int *)(iVar15 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar15 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar15 + 0x2c0)" * (cast_expression "(int *)(iVar15 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x2c0)" ( (binary_expression "iVar15 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4;" (assignment_expression "iVar34 = iVar34 + *(int *)(iVar40 + 0x2c0) * 4" identifier = (binary_expression "iVar34 + *(int *)(iVar40 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar40 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar40 + 0x2c0)" * (cast_expression "(int *)(iVar40 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 0x2c0)" ( (binary_expression "iVar40 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) }) while (parenthesized_expression "(iVar21 != iVar43)" ( (binary_expression "iVar21 != iVar43" identifier != identifier) )) ;) })) (labeled_statement "LAB_00073d60:\n          iVar39 = (**(code **)(pcVar46 + 0x335c50))(uVar14,uVar45);" statement_identifier : (expression_statement "iVar39 = (**(code **)(pcVar46 + 0x335c50))(uVar14,uVar45);" (assignment_expression "iVar39 = (**(code **)(pcVar46 + 0x335c50))(uVar14,uVar45)" identifier = (call_expression "(**(code **)(pcVar46 + 0x335c50))(uVar14,uVar45)" (parenthesized_expression "(**(code **)(pcVar46 + 0x335c50))" ( (pointer_expression "**(code **)(pcVar46 + 0x335c50)" * (pointer_expression "*(code **)(pcVar46 + 0x335c50)" * (cast_expression "(code **)(pcVar46 + 0x335c50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar46 + 0x335c50)" ( (binary_expression "pcVar46 + 0x335c50" identifier + number_literal) ))))) )) (argument_list "(uVar14,uVar45)" ( identifier , identifier )))) ;)) (if_statement "if (iVar39 != 0) goto LAB_00073d80;" if (parenthesized_expression "(iVar39 != 0)" ( (binary_expression "iVar39 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00073d80;" goto statement_identifier ;)) })) (expression_statement "*(undefined4 *)(pdVar4 + 7) = 0;" (assignment_expression "*(undefined4 *)(pdVar4 + 7) = 0" (pointer_expression "*(undefined4 *)(pdVar4 + 7)" * (cast_expression "(undefined4 *)(pdVar4 + 7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar4 + 7)" ( (binary_expression "pdVar4 + 7" identifier + number_literal) )))) = number_literal) ;) })) (labeled_statement "LAB_00073d80:\n      iVar3 = iVar3 + 1;" statement_identifier : (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(iVar60 != iVar3)" ( (binary_expression "iVar60 != iVar3" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00072dc0(double *param_1)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  double *pdVar4;\n  float fVar5;\n  float fVar6;\n  double *pdVar7;\n  double *pdVar8;\n  int *piVar9;\n  double *pdVar10;\n  double *pdVar11;\n  float fVar12;\n  int iVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  undefined4 uVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  double *pdVar20;\n  float *pfVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  int iVar25;\n  int iVar26;\n  int *piVar27;\n  uint uVar28;\n  double *pdVar29;\n  int iVar30;\n  double *pdVar31;\n  double *pdVar32;\n  double *pdVar33;\n  int *piVar34;\n  double *pdVar35;\n  int iVar36;\n  int iVar37;\n  float fVar38;\n  int iVar39;\n  int iVar40;\n  int iVar41;\n  int iVar42;\n  double *unaff_s0;\n  float unaff_s1;\n  double *unaff_s2;\n  int unaff_s5;\n  float unaff_s6;\n  float unaff_s7;\n  float *pfVar43;\n  int iVar44;\n  undefined *puVar45;\n  int iVar46;\n  int iVar47;\n  undefined4 uVar48;\n  code *pcVar49;\n  float *pfVar50;\n  double dVar51;\n  double dVar52;\n  double dVar53;\n  float fVar54;\n  double dVar55;\n  double dVar56;\n  double dVar57;\n  double dVar58;\n  double dVar59;\n  double in_f20_21;\n  double in_f22_23;\n  double in_f24_25;\n  double dVar60;\n  ulonglong uVar61;\n  int iVar62;\n  int iStack_f80;\n  double *pdStack_f7c;\n  int iStack_f78;\n  int iStack_f54;\n  float *pfStack_f50;\n  double *pdStack_f4c;\n  double *pdStack_f48;\n  double adStack_f18 [64];\n  double dStack_d18;\n  double adStack_d10 [65];\n  double adStack_b08 [65];\n  double adStack_900 [65];\n  double adStack_6f8 [65];\n  double adStack_4f0 [65];\n  int iStack_2e4;\n  double *pdStack_2e0;\n  float fStack_2dc;\n  double *pdStack_2d8;\n  int iStack_2d4;\n  double *pdStack_2d0;\n  int iStack_2cc;\n  float fStack_2c8;\n  float fStack_2c4;\n  int iStack_2c0;\n  code *pcStack_2bc;\n  double dStack_2b8;\n  double dStack_2b0;\n  double dStack_2a8;\n  undefined4 local_290;\n  float local_28c;\n  double local_250 [65];\n  undefined8 uStack_48;\n  \n  puVar1 = PTR___stack_chk_guard_003a9230;\n  uStack_48._4_4_ = *(int *)PTR___stack_chk_guard_003a9230;\n  pdVar10 = param_1;\n  iVar2 = (*(code *)PTR_omp_get_num_threads_003a990c)();\n  iVar3 = (*(code *)PTR_omp_get_thread_num_003a9508)();\n  puVar45 = PTR_LAB_003a88e0;\n  if (iVar2 == 0) {\n    trap(7);\n  }\n  iVar62 = (int)*(float *)((int)param_1 + 0x1c) / iVar2;\n  iVar2 = (int)*(float *)((int)param_1 + 0x1c) % iVar2;\n  if (iVar3 < iVar2) {\n    iVar62 = iVar62 + 1;\n    iVar2 = 0;\n  }\n  iVar2 = iVar62 * iVar3 + iVar2;\n  iVar62 = iVar62 + iVar2;\n  pdVar8 = param_1;\n  if (iVar2 < iVar62) {\n    unaff_s7 = *(float *)((int)param_1 + 4);\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n    pdVar4 = *(double **)((int)param_1 + 0x14);\n    in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n    unaff_s1 = *(float *)param_1;\n    fVar5 = *(float *)(param_1 + 2);\n    unaff_s6 = *(float *)(param_1 + 3);\n    fVar6 = *(float *)((int)param_1 + 0xc);\n    pdVar7 = *(double **)(param_1 + 1);\n    unaff_s5 = iVar2;\n    in_f22_23 = in_f20_21;\n    do {\n      while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = fVar6;\n      pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = fVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(float *)(param_1 + 4) = 0.0;\n    } while (iVar62 != unaff_s5);\n  }\nLAB_000731a4:\n  if (uStack_48._4_4_ == *(int *)puVar1) {\n    return;\n  }\n  pcVar49 = FUN_00073244;\n  puVar45 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  piVar34 = *(int **)(puVar45 + 0x335fec);\n  iStack_2e4 = *piVar34;\n  pdStack_2e0 = unaff_s0;\n  fStack_2dc = unaff_s1;\n  pdStack_2d8 = unaff_s2;\n  iStack_2d4 = iVar2;\n  pdStack_2d0 = pdVar8;\n  iStack_2cc = unaff_s5;\n  fStack_2c8 = unaff_s6;\n  fStack_2c4 = unaff_s7;\n  iStack_2c0 = iVar62;\n  pcStack_2bc = pcVar49;\n  dStack_2b8 = in_f20_21;\n  dStack_2b0 = in_f22_23;\n  dStack_2a8 = in_f24_25;\n  iVar3 = (**(code **)(puVar45 + 0x3366c8))();\n  iVar2 = (**(code **)(puVar45 + 0x3362c4))();\n  if (iVar3 == 0) {\n    trap(7);\n  }\n  iVar62 = (int)*(float *)(pdVar10 + 6) / iVar3;\n  pdVar8 = (double *)((int)*(float *)(pdVar10 + 6) % iVar3);\n  if (iVar2 < (int)pdVar8) {\n    iVar62 = iVar62 + 1;\n    pdVar8 = (double *)0x0;\n  }\n  pdStack_f48 = (double *)(iVar62 * iVar2 + (int)pdVar8);\n  pdVar4 = (double *)(iVar62 + (int)pdStack_f48);\n  if ((int)pdStack_f48 < (int)pdVar4) {\n    dVar57 = pdVar10[1];\n    fVar5 = *(float *)(pdVar10 + 5);\n    pdVar20 = *(double **)((int)pdVar10 + 0x2c);\n    dVar56 = *pdVar10;\n    dVar60 = *(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440);\n    pdVar7 = *(double **)((int)pdVar10 + 0x24);\n    fVar6 = *(float *)(pdVar10 + 4);\n    fVar38 = *(float *)((int)pdVar10 + 0x1c);\n    pdVar11 = *(double **)(pdVar10 + 3);\n    fVar54 = *(float *)((int)pdVar10 + 0x14);\n    fVar12 = *(float *)(pdVar10 + 2);\n    pdVar8 = pdVar20;\n    do {\n      if (*(float *)((int)pdVar10 + 0x34) != 0.0) {\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    } while (pdVar4 != pdStack_f48);\n  }\n  if (iStack_2e4 == *piVar34) {\n    return;\n  }\n  pcVar49 = *(code **)(puVar45 + 0x335e20);\n  (*pcVar49)();\n  iVar3 = (**(code **)(pcVar49 + 0x336064))();\n  iVar2 = (**(code **)(pcVar49 + 0x335c60))();\n  if (iVar3 == 0) {\n    trap(7);\n  }\n  iVar62 = *(int *)((int)pdVar8 + 0x34) / iVar3;\n  iVar3 = *(int *)((int)pdVar8 + 0x34) % iVar3;\n  if (iVar2 < iVar3) {\n    iVar62 = iVar62 + 1;\n    iVar3 = 0;\n  }\n  iVar3 = iVar62 * iVar2 + iVar3;\n  iVar62 = iVar62 + iVar3;\n  iVar2 = *(int *)(pcVar49 + 0x335038);\n  if (iVar3 < iVar62) {\n    iVar26 = *(int *)(pcVar49 + 0x335038);\n    iVar46 = *(int *)(pcVar49 + 0x335038);\n    uVar61 = (ulonglong)*(uint *)(iVar2 + 0x1a50);\n    uVar14 = *(undefined4 *)((int)pdVar8 + 0x1c);\n    dVar56 = *pdVar8;\n    iVar40 = *(int *)(pdVar8 + 4);\n    dVar57 = *(double *)(iVar26 + 0x1438);\n    iVar42 = *(int *)((int)pdVar8 + 0xc);\n    dVar60 = *(double *)(iVar46 + 0x1440);\n    iVar36 = *(int *)(pdVar8 + 1);\n    iVar13 = *(int *)(pdVar8 + 6);\n    uVar48 = *(undefined4 *)(pdVar8 + 2);\n    uVar15 = *(undefined4 *)(pdVar8 + 3);\n    uVar16 = *(undefined4 *)((int)pdVar8 + 0x14);\n    do {\n      if (*(int *)(pdVar8 + 7) != 0) {\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    } while (iVar62 != iVar3);\n  }\n  return;\n}\n\n" (function_definition "void FUN_00072dc0(double *param_1)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  double *pdVar4;\n  float fVar5;\n  float fVar6;\n  double *pdVar7;\n  double *pdVar8;\n  int *piVar9;\n  double *pdVar10;\n  double *pdVar11;\n  float fVar12;\n  int iVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  undefined4 uVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  double *pdVar20;\n  float *pfVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  int iVar25;\n  int iVar26;\n  int *piVar27;\n  uint uVar28;\n  double *pdVar29;\n  int iVar30;\n  double *pdVar31;\n  double *pdVar32;\n  double *pdVar33;\n  int *piVar34;\n  double *pdVar35;\n  int iVar36;\n  int iVar37;\n  float fVar38;\n  int iVar39;\n  int iVar40;\n  int iVar41;\n  int iVar42;\n  double *unaff_s0;\n  float unaff_s1;\n  double *unaff_s2;\n  int unaff_s5;\n  float unaff_s6;\n  float unaff_s7;\n  float *pfVar43;\n  int iVar44;\n  undefined *puVar45;\n  int iVar46;\n  int iVar47;\n  undefined4 uVar48;\n  code *pcVar49;\n  float *pfVar50;\n  double dVar51;\n  double dVar52;\n  double dVar53;\n  float fVar54;\n  double dVar55;\n  double dVar56;\n  double dVar57;\n  double dVar58;\n  double dVar59;\n  double in_f20_21;\n  double in_f22_23;\n  double in_f24_25;\n  double dVar60;\n  ulonglong uVar61;\n  int iVar62;\n  int iStack_f80;\n  double *pdStack_f7c;\n  int iStack_f78;\n  int iStack_f54;\n  float *pfStack_f50;\n  double *pdStack_f4c;\n  double *pdStack_f48;\n  double adStack_f18 [64];\n  double dStack_d18;\n  double adStack_d10 [65];\n  double adStack_b08 [65];\n  double adStack_900 [65];\n  double adStack_6f8 [65];\n  double adStack_4f0 [65];\n  int iStack_2e4;\n  double *pdStack_2e0;\n  float fStack_2dc;\n  double *pdStack_2d8;\n  int iStack_2d4;\n  double *pdStack_2d0;\n  int iStack_2cc;\n  float fStack_2c8;\n  float fStack_2c4;\n  int iStack_2c0;\n  code *pcStack_2bc;\n  double dStack_2b8;\n  double dStack_2b0;\n  double dStack_2a8;\n  undefined4 local_290;\n  float local_28c;\n  double local_250 [65];\n  undefined8 uStack_48;\n  \n  puVar1 = PTR___stack_chk_guard_003a9230;\n  uStack_48._4_4_ = *(int *)PTR___stack_chk_guard_003a9230;\n  pdVar10 = param_1;\n  iVar2 = (*(code *)PTR_omp_get_num_threads_003a990c)();\n  iVar3 = (*(code *)PTR_omp_get_thread_num_003a9508)();\n  puVar45 = PTR_LAB_003a88e0;\n  if (iVar2 == 0) {\n    trap(7);\n  }\n  iVar62 = (int)*(float *)((int)param_1 + 0x1c) / iVar2;\n  iVar2 = (int)*(float *)((int)param_1 + 0x1c) % iVar2;\n  if (iVar3 < iVar2) {\n    iVar62 = iVar62 + 1;\n    iVar2 = 0;\n  }\n  iVar2 = iVar62 * iVar3 + iVar2;\n  iVar62 = iVar62 + iVar2;\n  pdVar8 = param_1;\n  if (iVar2 < iVar62) {\n    unaff_s7 = *(float *)((int)param_1 + 4);\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n    pdVar4 = *(double **)((int)param_1 + 0x14);\n    in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n    unaff_s1 = *(float *)param_1;\n    fVar5 = *(float *)(param_1 + 2);\n    unaff_s6 = *(float *)(param_1 + 3);\n    fVar6 = *(float *)((int)param_1 + 0xc);\n    pdVar7 = *(double **)(param_1 + 1);\n    unaff_s5 = iVar2;\n    in_f22_23 = in_f20_21;\n    do {\n      while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = fVar6;\n      pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = fVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(float *)(param_1 + 4) = 0.0;\n    } while (iVar62 != unaff_s5);\n  }\nLAB_000731a4:\n  if (uStack_48._4_4_ == *(int *)puVar1) {\n    return;\n  }\n  pcVar49 = FUN_00073244;\n  puVar45 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  piVar34 = *(int **)(puVar45 + 0x335fec);\n  iStack_2e4 = *piVar34;\n  pdStack_2e0 = unaff_s0;\n  fStack_2dc = unaff_s1;\n  pdStack_2d8 = unaff_s2;\n  iStack_2d4 = iVar2;\n  pdStack_2d0 = pdVar8;\n  iStack_2cc = unaff_s5;\n  fStack_2c8 = unaff_s6;\n  fStack_2c4 = unaff_s7;\n  iStack_2c0 = iVar62;\n  pcStack_2bc = pcVar49;\n  dStack_2b8 = in_f20_21;\n  dStack_2b0 = in_f22_23;\n  dStack_2a8 = in_f24_25;\n  iVar3 = (**(code **)(puVar45 + 0x3366c8))();\n  iVar2 = (**(code **)(puVar45 + 0x3362c4))();\n  if (iVar3 == 0) {\n    trap(7);\n  }\n  iVar62 = (int)*(float *)(pdVar10 + 6) / iVar3;\n  pdVar8 = (double *)((int)*(float *)(pdVar10 + 6) % iVar3);\n  if (iVar2 < (int)pdVar8) {\n    iVar62 = iVar62 + 1;\n    pdVar8 = (double *)0x0;\n  }\n  pdStack_f48 = (double *)(iVar62 * iVar2 + (int)pdVar8);\n  pdVar4 = (double *)(iVar62 + (int)pdStack_f48);\n  if ((int)pdStack_f48 < (int)pdVar4) {\n    dVar57 = pdVar10[1];\n    fVar5 = *(float *)(pdVar10 + 5);\n    pdVar20 = *(double **)((int)pdVar10 + 0x2c);\n    dVar56 = *pdVar10;\n    dVar60 = *(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440);\n    pdVar7 = *(double **)((int)pdVar10 + 0x24);\n    fVar6 = *(float *)(pdVar10 + 4);\n    fVar38 = *(float *)((int)pdVar10 + 0x1c);\n    pdVar11 = *(double **)(pdVar10 + 3);\n    fVar54 = *(float *)((int)pdVar10 + 0x14);\n    fVar12 = *(float *)(pdVar10 + 2);\n    pdVar8 = pdVar20;\n    do {\n      if (*(float *)((int)pdVar10 + 0x34) != 0.0) {\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    } while (pdVar4 != pdStack_f48);\n  }\n  if (iStack_2e4 == *piVar34) {\n    return;\n  }\n  pcVar49 = *(code **)(puVar45 + 0x335e20);\n  (*pcVar49)();\n  iVar3 = (**(code **)(pcVar49 + 0x336064))();\n  iVar2 = (**(code **)(pcVar49 + 0x335c60))();\n  if (iVar3 == 0) {\n    trap(7);\n  }\n  iVar62 = *(int *)((int)pdVar8 + 0x34) / iVar3;\n  iVar3 = *(int *)((int)pdVar8 + 0x34) % iVar3;\n  if (iVar2 < iVar3) {\n    iVar62 = iVar62 + 1;\n    iVar3 = 0;\n  }\n  iVar3 = iVar62 * iVar2 + iVar3;\n  iVar62 = iVar62 + iVar3;\n  iVar2 = *(int *)(pcVar49 + 0x335038);\n  if (iVar3 < iVar62) {\n    iVar26 = *(int *)(pcVar49 + 0x335038);\n    iVar46 = *(int *)(pcVar49 + 0x335038);\n    uVar61 = (ulonglong)*(uint *)(iVar2 + 0x1a50);\n    uVar14 = *(undefined4 *)((int)pdVar8 + 0x1c);\n    dVar56 = *pdVar8;\n    iVar40 = *(int *)(pdVar8 + 4);\n    dVar57 = *(double *)(iVar26 + 0x1438);\n    iVar42 = *(int *)((int)pdVar8 + 0xc);\n    dVar60 = *(double *)(iVar46 + 0x1440);\n    iVar36 = *(int *)(pdVar8 + 1);\n    iVar13 = *(int *)(pdVar8 + 6);\n    uVar48 = *(undefined4 *)(pdVar8 + 2);\n    uVar15 = *(undefined4 *)(pdVar8 + 3);\n    uVar16 = *(undefined4 *)((int)pdVar8 + 0x14);\n    do {\n      if (*(int *)(pdVar8 + 7) != 0) {\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    } while (iVar62 != iVar3);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00072dc0(double *param_1)" identifier (parameter_list "(double *param_1)" ( (parameter_declaration "double *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  double *pdVar4;\n  float fVar5;\n  float fVar6;\n  double *pdVar7;\n  double *pdVar8;\n  int *piVar9;\n  double *pdVar10;\n  double *pdVar11;\n  float fVar12;\n  int iVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  undefined4 uVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  double *pdVar20;\n  float *pfVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  int iVar25;\n  int iVar26;\n  int *piVar27;\n  uint uVar28;\n  double *pdVar29;\n  int iVar30;\n  double *pdVar31;\n  double *pdVar32;\n  double *pdVar33;\n  int *piVar34;\n  double *pdVar35;\n  int iVar36;\n  int iVar37;\n  float fVar38;\n  int iVar39;\n  int iVar40;\n  int iVar41;\n  int iVar42;\n  double *unaff_s0;\n  float unaff_s1;\n  double *unaff_s2;\n  int unaff_s5;\n  float unaff_s6;\n  float unaff_s7;\n  float *pfVar43;\n  int iVar44;\n  undefined *puVar45;\n  int iVar46;\n  int iVar47;\n  undefined4 uVar48;\n  code *pcVar49;\n  float *pfVar50;\n  double dVar51;\n  double dVar52;\n  double dVar53;\n  float fVar54;\n  double dVar55;\n  double dVar56;\n  double dVar57;\n  double dVar58;\n  double dVar59;\n  double in_f20_21;\n  double in_f22_23;\n  double in_f24_25;\n  double dVar60;\n  ulonglong uVar61;\n  int iVar62;\n  int iStack_f80;\n  double *pdStack_f7c;\n  int iStack_f78;\n  int iStack_f54;\n  float *pfStack_f50;\n  double *pdStack_f4c;\n  double *pdStack_f48;\n  double adStack_f18 [64];\n  double dStack_d18;\n  double adStack_d10 [65];\n  double adStack_b08 [65];\n  double adStack_900 [65];\n  double adStack_6f8 [65];\n  double adStack_4f0 [65];\n  int iStack_2e4;\n  double *pdStack_2e0;\n  float fStack_2dc;\n  double *pdStack_2d8;\n  int iStack_2d4;\n  double *pdStack_2d0;\n  int iStack_2cc;\n  float fStack_2c8;\n  float fStack_2c4;\n  int iStack_2c0;\n  code *pcStack_2bc;\n  double dStack_2b8;\n  double dStack_2b0;\n  double dStack_2a8;\n  undefined4 local_290;\n  float local_28c;\n  double local_250 [65];\n  undefined8 uStack_48;\n  \n  puVar1 = PTR___stack_chk_guard_003a9230;\n  uStack_48._4_4_ = *(int *)PTR___stack_chk_guard_003a9230;\n  pdVar10 = param_1;\n  iVar2 = (*(code *)PTR_omp_get_num_threads_003a990c)();\n  iVar3 = (*(code *)PTR_omp_get_thread_num_003a9508)();\n  puVar45 = PTR_LAB_003a88e0;\n  if (iVar2 == 0) {\n    trap(7);\n  }\n  iVar62 = (int)*(float *)((int)param_1 + 0x1c) / iVar2;\n  iVar2 = (int)*(float *)((int)param_1 + 0x1c) % iVar2;\n  if (iVar3 < iVar2) {\n    iVar62 = iVar62 + 1;\n    iVar2 = 0;\n  }\n  iVar2 = iVar62 * iVar3 + iVar2;\n  iVar62 = iVar62 + iVar2;\n  pdVar8 = param_1;\n  if (iVar2 < iVar62) {\n    unaff_s7 = *(float *)((int)param_1 + 4);\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n    pdVar4 = *(double **)((int)param_1 + 0x14);\n    in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n    unaff_s1 = *(float *)param_1;\n    fVar5 = *(float *)(param_1 + 2);\n    unaff_s6 = *(float *)(param_1 + 3);\n    fVar6 = *(float *)((int)param_1 + 0xc);\n    pdVar7 = *(double **)(param_1 + 1);\n    unaff_s5 = iVar2;\n    in_f22_23 = in_f20_21;\n    do {\n      while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = fVar6;\n      pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = fVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(float *)(param_1 + 4) = 0.0;\n    } while (iVar62 != unaff_s5);\n  }\nLAB_000731a4:\n  if (uStack_48._4_4_ == *(int *)puVar1) {\n    return;\n  }\n  pcVar49 = FUN_00073244;\n  puVar45 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  piVar34 = *(int **)(puVar45 + 0x335fec);\n  iStack_2e4 = *piVar34;\n  pdStack_2e0 = unaff_s0;\n  fStack_2dc = unaff_s1;\n  pdStack_2d8 = unaff_s2;\n  iStack_2d4 = iVar2;\n  pdStack_2d0 = pdVar8;\n  iStack_2cc = unaff_s5;\n  fStack_2c8 = unaff_s6;\n  fStack_2c4 = unaff_s7;\n  iStack_2c0 = iVar62;\n  pcStack_2bc = pcVar49;\n  dStack_2b8 = in_f20_21;\n  dStack_2b0 = in_f22_23;\n  dStack_2a8 = in_f24_25;\n  iVar3 = (**(code **)(puVar45 + 0x3366c8))();\n  iVar2 = (**(code **)(puVar45 + 0x3362c4))();\n  if (iVar3 == 0) {\n    trap(7);\n  }\n  iVar62 = (int)*(float *)(pdVar10 + 6) / iVar3;\n  pdVar8 = (double *)((int)*(float *)(pdVar10 + 6) % iVar3);\n  if (iVar2 < (int)pdVar8) {\n    iVar62 = iVar62 + 1;\n    pdVar8 = (double *)0x0;\n  }\n  pdStack_f48 = (double *)(iVar62 * iVar2 + (int)pdVar8);\n  pdVar4 = (double *)(iVar62 + (int)pdStack_f48);\n  if ((int)pdStack_f48 < (int)pdVar4) {\n    dVar57 = pdVar10[1];\n    fVar5 = *(float *)(pdVar10 + 5);\n    pdVar20 = *(double **)((int)pdVar10 + 0x2c);\n    dVar56 = *pdVar10;\n    dVar60 = *(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440);\n    pdVar7 = *(double **)((int)pdVar10 + 0x24);\n    fVar6 = *(float *)(pdVar10 + 4);\n    fVar38 = *(float *)((int)pdVar10 + 0x1c);\n    pdVar11 = *(double **)(pdVar10 + 3);\n    fVar54 = *(float *)((int)pdVar10 + 0x14);\n    fVar12 = *(float *)(pdVar10 + 2);\n    pdVar8 = pdVar20;\n    do {\n      if (*(float *)((int)pdVar10 + 0x34) != 0.0) {\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    } while (pdVar4 != pdStack_f48);\n  }\n  if (iStack_2e4 == *piVar34) {\n    return;\n  }\n  pcVar49 = *(code **)(puVar45 + 0x335e20);\n  (*pcVar49)();\n  iVar3 = (**(code **)(pcVar49 + 0x336064))();\n  iVar2 = (**(code **)(pcVar49 + 0x335c60))();\n  if (iVar3 == 0) {\n    trap(7);\n  }\n  iVar62 = *(int *)((int)pdVar8 + 0x34) / iVar3;\n  iVar3 = *(int *)((int)pdVar8 + 0x34) % iVar3;\n  if (iVar2 < iVar3) {\n    iVar62 = iVar62 + 1;\n    iVar3 = 0;\n  }\n  iVar3 = iVar62 * iVar2 + iVar3;\n  iVar62 = iVar62 + iVar3;\n  iVar2 = *(int *)(pcVar49 + 0x335038);\n  if (iVar3 < iVar62) {\n    iVar26 = *(int *)(pcVar49 + 0x335038);\n    iVar46 = *(int *)(pcVar49 + 0x335038);\n    uVar61 = (ulonglong)*(uint *)(iVar2 + 0x1a50);\n    uVar14 = *(undefined4 *)((int)pdVar8 + 0x1c);\n    dVar56 = *pdVar8;\n    iVar40 = *(int *)(pdVar8 + 4);\n    dVar57 = *(double *)(iVar26 + 0x1438);\n    iVar42 = *(int *)((int)pdVar8 + 0xc);\n    dVar60 = *(double *)(iVar46 + 0x1440);\n    iVar36 = *(int *)(pdVar8 + 1);\n    iVar13 = *(int *)(pdVar8 + 6);\n    uVar48 = *(undefined4 *)(pdVar8 + 2);\n    uVar15 = *(undefined4 *)(pdVar8 + 3);\n    uVar16 = *(undefined4 *)((int)pdVar8 + 0x14);\n    do {\n      if (*(int *)(pdVar8 + 7) != 0) {\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    } while (iVar62 != iVar3);\n  }\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "double *pdVar4;" primitive_type (pointer_declarator "*pdVar4" * identifier) ;) (declaration "float fVar5;" primitive_type identifier ;) (declaration "float fVar6;" primitive_type identifier ;) (declaration "double *pdVar7;" primitive_type (pointer_declarator "*pdVar7" * identifier) ;) (declaration "double *pdVar8;" primitive_type (pointer_declarator "*pdVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "double *pdVar10;" primitive_type (pointer_declarator "*pdVar10" * identifier) ;) (declaration "double *pdVar11;" primitive_type (pointer_declarator "*pdVar11" * identifier) ;) (declaration "float fVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "double *pdVar20;" primitive_type (pointer_declarator "*pdVar20" * identifier) ;) (declaration "float *pfVar21;" primitive_type (pointer_declarator "*pfVar21" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "int *piVar27;" primitive_type (pointer_declarator "*piVar27" * identifier) ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "double *pdVar29;" primitive_type (pointer_declarator "*pdVar29" * identifier) ;) (declaration "int iVar30;" primitive_type identifier ;) (declaration "double *pdVar31;" primitive_type (pointer_declarator "*pdVar31" * identifier) ;) (declaration "double *pdVar32;" primitive_type (pointer_declarator "*pdVar32" * identifier) ;) (declaration "double *pdVar33;" primitive_type (pointer_declarator "*pdVar33" * identifier) ;) (declaration "int *piVar34;" primitive_type (pointer_declarator "*piVar34" * identifier) ;) (declaration "double *pdVar35;" primitive_type (pointer_declarator "*pdVar35" * identifier) ;) (declaration "int iVar36;" primitive_type identifier ;) (declaration "int iVar37;" primitive_type identifier ;) (declaration "float fVar38;" primitive_type identifier ;) (declaration "int iVar39;" primitive_type identifier ;) (declaration "int iVar40;" primitive_type identifier ;) (declaration "int iVar41;" primitive_type identifier ;) (declaration "int iVar42;" primitive_type identifier ;) (declaration "double *unaff_s0;" primitive_type (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "float unaff_s1;" primitive_type identifier ;) (declaration "double *unaff_s2;" primitive_type (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "int unaff_s5;" primitive_type identifier ;) (declaration "float unaff_s6;" primitive_type identifier ;) (declaration "float unaff_s7;" primitive_type identifier ;) (declaration "float *pfVar43;" primitive_type (pointer_declarator "*pfVar43" * identifier) ;) (declaration "int iVar44;" primitive_type identifier ;) (declaration "undefined *puVar45;" type_identifier (pointer_declarator "*puVar45" * identifier) ;) (declaration "int iVar46;" primitive_type identifier ;) (declaration "int iVar47;" primitive_type identifier ;) (declaration "undefined4 uVar48;" type_identifier identifier ;) (declaration "code *pcVar49;" type_identifier (pointer_declarator "*pcVar49" * identifier) ;) (declaration "float *pfVar50;" primitive_type (pointer_declarator "*pfVar50" * identifier) ;) (declaration "double dVar51;" primitive_type identifier ;) (declaration "double dVar52;" primitive_type identifier ;) (declaration "double dVar53;" primitive_type identifier ;) (declaration "float fVar54;" primitive_type identifier ;) (declaration "double dVar55;" primitive_type identifier ;) (declaration "double dVar56;" primitive_type identifier ;) (declaration "double dVar57;" primitive_type identifier ;) (declaration "double dVar58;" primitive_type identifier ;) (declaration "double dVar59;" primitive_type identifier ;) (declaration "double in_f20_21;" primitive_type identifier ;) (declaration "double in_f22_23;" primitive_type identifier ;) (declaration "double in_f24_25;" primitive_type identifier ;) (declaration "double dVar60;" primitive_type identifier ;) (declaration "ulonglong uVar61;" type_identifier identifier ;) (declaration "int iVar62;" primitive_type identifier ;) (declaration "int iStack_f80;" primitive_type identifier ;) (declaration "double *pdStack_f7c;" primitive_type (pointer_declarator "*pdStack_f7c" * identifier) ;) (declaration "int iStack_f78;" primitive_type identifier ;) (declaration "int iStack_f54;" primitive_type identifier ;) (declaration "float *pfStack_f50;" primitive_type (pointer_declarator "*pfStack_f50" * identifier) ;) (declaration "double *pdStack_f4c;" primitive_type (pointer_declarator "*pdStack_f4c" * identifier) ;) (declaration "double *pdStack_f48;" primitive_type (pointer_declarator "*pdStack_f48" * identifier) ;) (declaration "double adStack_f18 [64];" primitive_type (array_declarator "adStack_f18 [64]" identifier [ number_literal ]) ;) (declaration "double dStack_d18;" primitive_type identifier ;) (declaration "double adStack_d10 [65];" primitive_type (array_declarator "adStack_d10 [65]" identifier [ number_literal ]) ;) (declaration "double adStack_b08 [65];" primitive_type (array_declarator "adStack_b08 [65]" identifier [ number_literal ]) ;) (declaration "double adStack_900 [65];" primitive_type (array_declarator "adStack_900 [65]" identifier [ number_literal ]) ;) (declaration "double adStack_6f8 [65];" primitive_type (array_declarator "adStack_6f8 [65]" identifier [ number_literal ]) ;) (declaration "double adStack_4f0 [65];" primitive_type (array_declarator "adStack_4f0 [65]" identifier [ number_literal ]) ;) (declaration "int iStack_2e4;" primitive_type identifier ;) (declaration "double *pdStack_2e0;" primitive_type (pointer_declarator "*pdStack_2e0" * identifier) ;) (declaration "float fStack_2dc;" primitive_type identifier ;) (declaration "double *pdStack_2d8;" primitive_type (pointer_declarator "*pdStack_2d8" * identifier) ;) (declaration "int iStack_2d4;" primitive_type identifier ;) (declaration "double *pdStack_2d0;" primitive_type (pointer_declarator "*pdStack_2d0" * identifier) ;) (declaration "int iStack_2cc;" primitive_type identifier ;) (declaration "float fStack_2c8;" primitive_type identifier ;) (declaration "float fStack_2c4;" primitive_type identifier ;) (declaration "int iStack_2c0;" primitive_type identifier ;) (declaration "code *pcStack_2bc;" type_identifier (pointer_declarator "*pcStack_2bc" * identifier) ;) (declaration "double dStack_2b8;" primitive_type identifier ;) (declaration "double dStack_2b0;" primitive_type identifier ;) (declaration "double dStack_2a8;" primitive_type identifier ;) (declaration "undefined4 local_290;" type_identifier identifier ;) (declaration "float local_28c;" primitive_type identifier ;) (declaration "double local_250 [65];" primitive_type (array_declarator "local_250 [65]" identifier [ number_literal ]) ;) (declaration "undefined8 uStack_48;" type_identifier identifier ;) (expression_statement "puVar1 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar1 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "uStack_48._4_4_ = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "uStack_48._4_4_ = *(int *)PTR___stack_chk_guard_003a9230" (field_expression "uStack_48._4_4_" identifier . field_identifier) = (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" * (cast_expression "(int *)PTR___stack_chk_guard_003a9230" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pdVar10 = param_1;" (assignment_expression "pdVar10 = param_1" identifier = identifier) ;) (expression_statement "iVar2 = (*(code *)PTR_omp_get_num_threads_003a990c)();" (assignment_expression "iVar2 = (*(code *)PTR_omp_get_num_threads_003a990c)()" identifier = (call_expression "(*(code *)PTR_omp_get_num_threads_003a990c)()" (parenthesized_expression "(*(code *)PTR_omp_get_num_threads_003a990c)" ( (pointer_expression "*(code *)PTR_omp_get_num_threads_003a990c" * (cast_expression "(code *)PTR_omp_get_num_threads_003a990c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "iVar3 = (*(code *)PTR_omp_get_thread_num_003a9508)();" (assignment_expression "iVar3 = (*(code *)PTR_omp_get_thread_num_003a9508)()" identifier = (call_expression "(*(code *)PTR_omp_get_thread_num_003a9508)()" (parenthesized_expression "(*(code *)PTR_omp_get_thread_num_003a9508)" ( (pointer_expression "*(code *)PTR_omp_get_thread_num_003a9508" * (cast_expression "(code *)PTR_omp_get_thread_num_003a9508" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "puVar45 = PTR_LAB_003a88e0;" (assignment_expression "puVar45 = PTR_LAB_003a88e0" identifier = identifier) ;) (if_statement "if (iVar2 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    trap(7);\n  }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "iVar62 = (int)*(float *)((int)param_1 + 0x1c) / iVar2;" (assignment_expression "iVar62 = (int)*(float *)((int)param_1 + 0x1c) / iVar2" identifier = (binary_expression "(int)*(float *)((int)param_1 + 0x1c) / iVar2" (cast_expression "(int)*(float *)((int)param_1 + 0x1c)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(float *)((int)param_1 + 0x1c)" * (cast_expression "(float *)((int)param_1 + 0x1c)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x1c)" ( (binary_expression "(int)param_1 + 0x1c" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) / identifier)) ;) (expression_statement "iVar2 = (int)*(float *)((int)param_1 + 0x1c) % iVar2;" (assignment_expression "iVar2 = (int)*(float *)((int)param_1 + 0x1c) % iVar2" identifier = (binary_expression "(int)*(float *)((int)param_1 + 0x1c) % iVar2" (cast_expression "(int)*(float *)((int)param_1 + 0x1c)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(float *)((int)param_1 + 0x1c)" * (cast_expression "(float *)((int)param_1 + 0x1c)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x1c)" ( (binary_expression "(int)param_1 + 0x1c" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) % identifier)) ;) (if_statement "if (iVar3 < iVar2) {\n    iVar62 = iVar62 + 1;\n    iVar2 = 0;\n  }" if (parenthesized_expression "(iVar3 < iVar2)" ( (binary_expression "iVar3 < iVar2" identifier < identifier) )) (compound_statement "{\n    iVar62 = iVar62 + 1;\n    iVar2 = 0;\n  }" { (expression_statement "iVar62 = iVar62 + 1;" (assignment_expression "iVar62 = iVar62 + 1" identifier = (binary_expression "iVar62 + 1" identifier + number_literal)) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) })) (expression_statement "iVar2 = iVar62 * iVar3 + iVar2;" (assignment_expression "iVar2 = iVar62 * iVar3 + iVar2" identifier = (binary_expression "iVar62 * iVar3 + iVar2" (binary_expression "iVar62 * iVar3" identifier * identifier) + identifier)) ;) (expression_statement "iVar62 = iVar62 + iVar2;" (assignment_expression "iVar62 = iVar62 + iVar2" identifier = (binary_expression "iVar62 + iVar2" identifier + identifier)) ;) (expression_statement "pdVar8 = param_1;" (assignment_expression "pdVar8 = param_1" identifier = identifier) ;) (if_statement "if (iVar2 < iVar62) {\n    unaff_s7 = *(float *)((int)param_1 + 4);\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n    pdVar4 = *(double **)((int)param_1 + 0x14);\n    in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n    unaff_s1 = *(float *)param_1;\n    fVar5 = *(float *)(param_1 + 2);\n    unaff_s6 = *(float *)(param_1 + 3);\n    fVar6 = *(float *)((int)param_1 + 0xc);\n    pdVar7 = *(double **)(param_1 + 1);\n    unaff_s5 = iVar2;\n    in_f22_23 = in_f20_21;\n    do {\n      while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = fVar6;\n      pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = fVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(float *)(param_1 + 4) = 0.0;\n    } while (iVar62 != unaff_s5);\n  }" if (parenthesized_expression "(iVar2 < iVar62)" ( (binary_expression "iVar2 < iVar62" identifier < identifier) )) (compound_statement "{\n    unaff_s7 = *(float *)((int)param_1 + 4);\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n    pdVar4 = *(double **)((int)param_1 + 0x14);\n    in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n    unaff_s1 = *(float *)param_1;\n    fVar5 = *(float *)(param_1 + 2);\n    unaff_s6 = *(float *)(param_1 + 3);\n    fVar6 = *(float *)((int)param_1 + 0xc);\n    pdVar7 = *(double **)(param_1 + 1);\n    unaff_s5 = iVar2;\n    in_f22_23 = in_f20_21;\n    do {\n      while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = fVar6;\n      pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = fVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(float *)(param_1 + 4) = 0.0;\n    } while (iVar62 != unaff_s5);\n  }" { (expression_statement "unaff_s7 = *(float *)((int)param_1 + 4);" (assignment_expression "unaff_s7 = *(float *)((int)param_1 + 4)" identifier = (pointer_expression "*(float *)((int)param_1 + 4)" * (cast_expression "(float *)((int)param_1 + 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 4)" ( (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);" (assignment_expression "in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440)" identifier = (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1440)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1440)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1440)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1440" identifier + number_literal) ))))) ;) (expression_statement "pdVar4 = *(double **)((int)param_1 + 0x14);" (assignment_expression "pdVar4 = *(double **)((int)param_1 + 0x14)" identifier = (pointer_expression "*(double **)((int)param_1 + 0x14)" * (cast_expression "(double **)((int)param_1 + 0x14)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)param_1 + 0x14)" ( (binary_expression "(int)param_1 + 0x14" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);" (assignment_expression "in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438)" identifier = (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1438)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1438)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1438" identifier + number_literal) ))))) ;) (expression_statement "unaff_s1 = *(float *)param_1;" (assignment_expression "unaff_s1 = *(float *)param_1" identifier = (pointer_expression "*(float *)param_1" * (cast_expression "(float *)param_1" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "fVar5 = *(float *)(param_1 + 2);" (assignment_expression "fVar5 = *(float *)(param_1 + 2)" identifier = (pointer_expression "*(float *)(param_1 + 2)" * (cast_expression "(float *)(param_1 + 2)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) ))))) ;) (expression_statement "unaff_s6 = *(float *)(param_1 + 3);" (assignment_expression "unaff_s6 = *(float *)(param_1 + 3)" identifier = (pointer_expression "*(float *)(param_1 + 3)" * (cast_expression "(float *)(param_1 + 3)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) ))))) ;) (expression_statement "fVar6 = *(float *)((int)param_1 + 0xc);" (assignment_expression "fVar6 = *(float *)((int)param_1 + 0xc)" identifier = (pointer_expression "*(float *)((int)param_1 + 0xc)" * (cast_expression "(float *)((int)param_1 + 0xc)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0xc)" ( (binary_expression "(int)param_1 + 0xc" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pdVar7 = *(double **)(param_1 + 1);" (assignment_expression "pdVar7 = *(double **)(param_1 + 1)" identifier = (pointer_expression "*(double **)(param_1 + 1)" * (cast_expression "(double **)(param_1 + 1)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 1)" ( (binary_expression "param_1 + 1" identifier + number_literal) ))))) ;) (expression_statement "unaff_s5 = iVar2;" (assignment_expression "unaff_s5 = iVar2" identifier = identifier) ;) (expression_statement "in_f22_23 = in_f20_21;" (assignment_expression "in_f22_23 = in_f20_21" identifier = identifier) ;) (do_statement "do {\n      while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = fVar6;\n      pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = fVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(float *)(param_1 + 4) = 0.0;\n    } while (iVar62 != unaff_s5);" do (compound_statement "{\n      while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = fVar6;\n      pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = fVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(float *)(param_1 + 4) = 0.0;\n    }" { (while_statement "while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }" while (parenthesized_expression "(unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0)" ( (comma_expression "unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0" (assignment_expression "unaff_s2 = param_1" identifier = identifier) , (binary_expression "*(float *)(param_1 + 4) == 0.0" (pointer_expression "*(float *)(param_1 + 4)" * (cast_expression "(float *)(param_1 + 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) == number_literal)) )) (compound_statement "{\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }" { (labeled_statement "LAB_00073194:\n        unaff_s5 = unaff_s5 + 1;" statement_identifier : (expression_statement "unaff_s5 = unaff_s5 + 1;" (assignment_expression "unaff_s5 = unaff_s5 + 1" identifier = (binary_expression "unaff_s5 + 1" identifier + number_literal)) ;)) (if_statement "if (iVar62 == unaff_s5) goto LAB_000731a4;" if (parenthesized_expression "(iVar62 == unaff_s5)" ( (binary_expression "iVar62 == unaff_s5" identifier == identifier) )) (goto_statement "goto LAB_000731a4;" goto statement_identifier ;)) })) (expression_statement "unaff_s0 = (double *)0x1;" (assignment_expression "unaff_s0 = (double *)0x1" identifier = (cast_expression "(double *)0x1" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_290 = 1;" (assignment_expression "local_290 = 1" identifier = number_literal) ;) (expression_statement "local_28c = fVar6;" (assignment_expression "local_28c = fVar6" identifier = identifier) ;) (expression_statement "pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);" (assignment_expression "pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6)" identifier = (cast_expression "(double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6)" (parenthesized_expression "(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)" ( (pointer_expression "*(code *)PTR_GetCacheViewVirtualPixels_003a965c" * (cast_expression "(code *)PTR_GetCacheViewVirtualPixels_003a965c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(fVar5,0,unaff_s5,unaff_s6)" ( identifier , number_literal , identifier , identifier ))))) ;) (expression_statement "local_290 = 1;" (assignment_expression "local_290 = 1" identifier = number_literal) ;) (expression_statement "pdVar10 = pdVar4;" (assignment_expression "pdVar10 = pdVar4" identifier = identifier) ;) (expression_statement "local_28c = fVar6;" (assignment_expression "local_28c = fVar6" identifier = identifier) ;) (expression_statement "iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);" (assignment_expression "iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6)" identifier = (call_expression "(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6)" (parenthesized_expression "(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)" ( (pointer_expression "*(code *)PTR_GetCacheViewVirtualPixels_003a965c" * (cast_expression "(code *)PTR_GetCacheViewVirtualPixels_003a965c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pdVar4,0,unaff_s5,unaff_s6)" ( identifier , number_literal , identifier , identifier )))) ;) (if_statement "if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }" if (parenthesized_expression "((pdVar8 != (double *)0x0) && (iVar2 != 0))" ( (binary_expression "(pdVar8 != (double *)0x0) && (iVar2 != 0)" (parenthesized_expression "(pdVar8 != (double *)0x0)" ( (binary_expression "pdVar8 != (double *)0x0" identifier != (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) ))) )) (compound_statement "{\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }" { (expression_statement "unaff_s0 = local_250;" (assignment_expression "unaff_s0 = local_250" identifier = identifier) ;) (expression_statement "(*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);" (call_expression "(*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208)" (parenthesized_expression "(*(code *)PTR_memset_003a96d4)" ( (pointer_expression "*(code *)PTR_memset_003a96d4" * (cast_expression "(code *)PTR_memset_003a96d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0,0,0x208)" ( identifier , number_literal , number_literal ))) ;) (if_statement "if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }" if (parenthesized_expression "(0 < (int)unaff_s6)" ( (binary_expression "0 < (int)unaff_s6" number_literal < (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }" { (expression_statement "fVar38 = 0.0;" (assignment_expression "fVar38 = 0.0" identifier = number_literal) ;) (expression_statement "piVar34 = *(int **)((int)unaff_s1 + 0x2d0);" (assignment_expression "piVar34 = *(int **)((int)unaff_s1 + 0x2d0)" identifier = (pointer_expression "*(int **)((int)unaff_s1 + 0x2d0)" * (cast_expression "(int **)((int)unaff_s1 + 0x2d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)unaff_s1 + 0x2d0)" ( (binary_expression "(int)unaff_s1 + 0x2d0" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "dVar56 = *(double *)(puVar45 + 0x1440);" (assignment_expression "dVar56 = *(double *)(puVar45 + 0x1440)" identifier = (pointer_expression "*(double *)(puVar45 + 0x1440)" * (cast_expression "(double *)(puVar45 + 0x1440)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar45 + 0x1440)" ( (binary_expression "puVar45 + 0x1440" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = piVar34[0x13];" (assignment_expression "iVar3 = piVar34[0x13]" identifier = (subscript_expression "piVar34[0x13]" identifier [ number_literal ])) ;) (expression_statement "fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);" (assignment_expression "fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708)" identifier = (pointer_expression "*(float *)(PTR_LAB_003a88e0 + 0x3708)" * (cast_expression "(float *)(PTR_LAB_003a88e0 + 0x3708)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x3708)" ( (binary_expression "PTR_LAB_003a88e0 + 0x3708" identifier + number_literal) ))))) ;) (expression_statement "dVar57 = *(double *)(puVar45 + 0x1438);" (assignment_expression "dVar57 = *(double *)(puVar45 + 0x1438)" identifier = (pointer_expression "*(double *)(puVar45 + 0x1438)" * (cast_expression "(double *)(puVar45 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar45 + 0x1438)" ( (binary_expression "puVar45 + 0x1438" identifier + number_literal) ))))) ;) (do_statement "do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);" do (compound_statement "{\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          }" { (while_statement "while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }" while (parenthesized_expression "(((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54)))))" ( (parenthesized_expression "((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))" ( (binary_expression "(iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54)))" (parenthesized_expression "(iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54))" ( (binary_expression "iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)" (binary_expression "iVar3 != 0" identifier != number_literal) && (parenthesized_expression "(*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)" ( (binary_expression "*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54" (pointer_expression "*(float *)((int)pdVar8 + piVar34[0x14] * 4)" * (cast_expression "(float *)((int)pdVar8 + piVar34[0x14] * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar8 + piVar34[0x14] * 4)" ( (binary_expression "(int)pdVar8 + piVar34[0x14] * 4" (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "piVar34[0x14] * 4" (subscript_expression "piVar34[0x14]" identifier [ number_literal ]) * number_literal)) )))) <= identifier) ))) )) || (parenthesized_expression "((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54)))" ( (parenthesized_expression "(iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))" ( (comma_expression "iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54)" (assignment_expression "iVar26 = *(int *)((int)unaff_s7 + 0x2d0)" identifier = (pointer_expression "*(int *)((int)unaff_s7 + 0x2d0)" * (cast_expression "(int *)((int)unaff_s7 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + 0x2d0)" ( (binary_expression "(int)unaff_s7 + 0x2d0" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) , (binary_expression "*(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54)" (binary_expression "*(int *)(iVar26 + 0x4c) != 0" (pointer_expression "*(int *)(iVar26 + 0x4c)" * (cast_expression "(int *)(iVar26 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x4c)" ( (binary_expression "iVar26 + 0x4c" identifier + number_literal) )))) != number_literal) && (parenthesized_expression "(*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54)" ( (binary_expression "*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54" (pointer_expression "*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4)" * (cast_expression "(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + *(int *)(iVar26 + 0x50) * 4)" ( (binary_expression "iVar2 + *(int *)(iVar26 + 0x50) * 4" identifier + (binary_expression "*(int *)(iVar26 + 0x50) * 4" (pointer_expression "*(int *)(iVar26 + 0x50)" * (cast_expression "(int *)(iVar26 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x50)" ( (binary_expression "iVar26 + 0x50" identifier + number_literal) )))) * number_literal)) )))) <= identifier) )))) )) ))) )) )) (compound_statement "{\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }" { (expression_statement "fVar38 = (float)((int)fVar38 + 1);" (assignment_expression "fVar38 = (float)((int)fVar38 + 1)" identifier = (cast_expression "(float)((int)fVar38 + 1)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((int)fVar38 + 1)" ( (binary_expression "(int)fVar38 + 1" (cast_expression "(int)fVar38" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);" (assignment_expression "pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4)" identifier = (cast_expression "(double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4)" ( (binary_expression "(int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4" (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "*(int *)((int)unaff_s1 + 0x2c0) * 4" (pointer_expression "*(int *)((int)unaff_s1 + 0x2c0)" * (cast_expression "(int *)((int)unaff_s1 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s1 + 0x2c0)" ( (binary_expression "(int)unaff_s1 + 0x2c0" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal)) )))) ;) (expression_statement "iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;" (assignment_expression "iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4" identifier = (binary_expression "iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4" identifier + (binary_expression "*(int *)((int)unaff_s7 + 0x2c0) * 4" (pointer_expression "*(int *)((int)unaff_s7 + 0x2c0)" * (cast_expression "(int *)((int)unaff_s7 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + 0x2c0)" ( (binary_expression "(int)unaff_s7 + 0x2c0" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal))) ;) (if_statement "if (fVar38 == unaff_s6) goto LAB_00073140;" if (parenthesized_expression "(fVar38 == unaff_s6)" ( (binary_expression "fVar38 == unaff_s6" identifier == identifier) )) (goto_statement "goto LAB_00073140;" goto statement_identifier ;)) })) (if_statement "if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }" if (parenthesized_expression "(piVar34[0xd] == 0)" ( (binary_expression "piVar34[0xd] == 0" (subscript_expression "piVar34[0xd]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }" { (expression_statement "iVar46 = *(int *)(iVar26 + 0x34);" (assignment_expression "iVar46 = *(int *)(iVar26 + 0x34)" identifier = (pointer_expression "*(int *)(iVar26 + 0x34)" * (cast_expression "(int *)(iVar26 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x34)" ( (binary_expression "iVar26 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "dVar60 = dVar57;" (assignment_expression "dVar60 = dVar57" identifier = identifier) ;) }) (else_clause "else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }" else (compound_statement "{\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }" { (expression_statement "iVar46 = *(int *)(iVar26 + 0x34);" (assignment_expression "iVar46 = *(int *)(iVar26 + 0x34)" identifier = (pointer_expression "*(int *)(iVar26 + 0x34)" * (cast_expression "(int *)(iVar26 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x34)" ( (binary_expression "iVar26 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;" (assignment_expression "dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56" identifier = (binary_expression "(double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56" (cast_expression "(double)*(float *)((int)pdVar8 + piVar34[0xe] * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)((int)pdVar8 + piVar34[0xe] * 4)" * (cast_expression "(float *)((int)pdVar8 + piVar34[0xe] * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar8 + piVar34[0xe] * 4)" ( (binary_expression "(int)pdVar8 + piVar34[0xe] * 4" (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "piVar34[0xe] * 4" (subscript_expression "piVar34[0xe]" identifier [ number_literal ]) * number_literal)) ))))) * identifier)) ;) }))) (expression_statement "dVar53 = in_f24_25;" (assignment_expression "dVar53 = in_f24_25" identifier = identifier) ;) (if_statement "if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }" if (parenthesized_expression "(iVar46 != 0)" ( (binary_expression "iVar46 != 0" identifier != number_literal) )) (compound_statement "{\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }" { (expression_statement "dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;" (assignment_expression "dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56" identifier = (binary_expression "(double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56" (cast_expression "(double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4)" * (cast_expression "(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + *(int *)(iVar26 + 0x38) * 4)" ( (binary_expression "iVar2 + *(int *)(iVar26 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar26 + 0x38) * 4" (pointer_expression "*(int *)(iVar26 + 0x38)" * (cast_expression "(int *)(iVar26 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x38)" ( (binary_expression "iVar26 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) * identifier)) ;) })) (expression_statement "iVar46 = *(int *)((int)unaff_s1 + 0x2c0);" (assignment_expression "iVar46 = *(int *)((int)unaff_s1 + 0x2c0)" identifier = (pointer_expression "*(int *)((int)unaff_s1 + 0x2c0)" * (cast_expression "(int *)((int)unaff_s1 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s1 + 0x2c0)" ( (binary_expression "(int)unaff_s1 + 0x2c0" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }" if (parenthesized_expression "(0 < iVar46)" ( (binary_expression "0 < iVar46" number_literal < identifier) )) (compound_statement "{\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }" { (expression_statement "piVar9 = piVar34;" (assignment_expression "piVar9 = piVar34" identifier = identifier) ;) (expression_statement "pdVar10 = unaff_s0;" (assignment_expression "pdVar10 = unaff_s0" identifier = identifier) ;) (expression_statement "pdVar11 = pdVar8;" (assignment_expression "pdVar11 = pdVar8" identifier = identifier) ;) (do_statement "do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);" do (compound_statement "{\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              }" { (expression_statement "iVar42 = *piVar9;" (assignment_expression "iVar42 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "iVar40 = iVar26 + iVar42 * 0xc;" (assignment_expression "iVar40 = iVar26 + iVar42 * 0xc" identifier = (binary_expression "iVar26 + iVar42 * 0xc" identifier + (binary_expression "iVar42 * 0xc" identifier * number_literal))) ;) (if_statement "if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }" if (parenthesized_expression "(((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0))" ( (binary_expression "((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)" (parenthesized_expression "((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    )" ( (binary_expression "(piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)" (parenthesized_expression "(piVar34[iVar42 * 3 + 1] != 0)" ( (binary_expression "piVar34[iVar42 * 3 + 1] != 0" (subscript_expression "piVar34[iVar42 * 3 + 1]" identifier [ (binary_expression "iVar42 * 3 + 1" (binary_expression "iVar42 * 3" identifier * number_literal) + number_literal) ]) != number_literal) )) && (parenthesized_expression "(uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)" ( (comma_expression "uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0" (assignment_expression "uVar28 = *(uint *)(iVar40 + 4)" identifier = (pointer_expression "*(uint *)(iVar40 + 4)" * (cast_expression "(uint *)(iVar40 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 4)" ( (binary_expression "iVar40 + 4" identifier + number_literal) ))))) , (binary_expression "uVar28 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "((uVar28 & 2) != 0)" ( (binary_expression "(uVar28 & 2) != 0" (parenthesized_expression "(uVar28 & 2)" ( (binary_expression "uVar28 & 2" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }" { (expression_statement "dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);" (assignment_expression "dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4)" identifier = (cast_expression "(double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4)" * (cast_expression "(float *)(iVar2 + *(int *)(iVar40 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + *(int *)(iVar40 + 8) * 4)" ( (binary_expression "iVar2 + *(int *)(iVar40 + 8) * 4" identifier + (binary_expression "*(int *)(iVar40 + 8) * 4" (pointer_expression "*(int *)(iVar40 + 8)" * (cast_expression "(int *)(iVar40 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 8)" ( (binary_expression "iVar40 + 8" identifier + number_literal) )))) * number_literal)) )))))) ;) (if_statement "if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }" if (parenthesized_expression "(iVar42 == 4)" ( (binary_expression "iVar42 == 4" identifier == number_literal) )) (compound_statement "{\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }" { (expression_statement "dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;" (assignment_expression "dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23" identifier = (binary_expression "ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23" (call_expression "ABS((double)*(float *)pdVar11 - dVar55)" identifier (argument_list "((double)*(float *)pdVar11 - dVar55)" ( (binary_expression "(double)*(float *)pdVar11 - dVar55" (cast_expression "(double)*(float *)pdVar11" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)pdVar11" * (cast_expression "(float *)pdVar11" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) - identifier) ))) * identifier)) ;) }) (else_clause "else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }" else (compound_statement "{\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }" { (expression_statement "dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;" (assignment_expression "dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21" identifier = (binary_expression "ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21" (call_expression "ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55)" identifier (argument_list "(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55)" ( (binary_expression "dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55" (binary_expression "dVar60 * (double)*(float *)pdVar11" identifier * (cast_expression "(double)*(float *)pdVar11" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)pdVar11" * (cast_expression "(float *)pdVar11" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) - (binary_expression "dVar53 * dVar55" identifier * identifier)) ))) * identifier)) ;) }))) (if_statement "if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }" if (parenthesized_expression "(*pdVar10 < dVar55)" ( (binary_expression "*pdVar10 < dVar55" (pointer_expression "*pdVar10" * identifier) < identifier) )) (compound_statement "{\n                    *pdVar10 = dVar55;\n                  }" { (expression_statement "*pdVar10 = dVar55;" (assignment_expression "*pdVar10 = dVar55" (pointer_expression "*pdVar10" * identifier) = identifier) ;) })) (if_statement "if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }" if (parenthesized_expression "(local_250[0x40] < dVar55)" ( (binary_expression "local_250[0x40] < dVar55" (subscript_expression "local_250[0x40]" identifier [ number_literal ]) < identifier) )) (compound_statement "{\n                    local_250[0x40] = dVar55;\n                  }" { (expression_statement "local_250[0x40] = dVar55;" (assignment_expression "local_250[0x40] = dVar55" (subscript_expression "local_250[0x40]" identifier [ number_literal ]) = identifier) ;) })) })) (expression_statement "piVar9 = piVar9 + 3;" (assignment_expression "piVar9 = piVar9 + 3" identifier = (binary_expression "piVar9 + 3" identifier + number_literal)) ;) (expression_statement "pdVar10 = pdVar10 + 1;" (assignment_expression "pdVar10 = pdVar10 + 1" identifier = (binary_expression "pdVar10 + 1" identifier + number_literal)) ;) (expression_statement "pdVar11 = (double *)((int)pdVar11 + 4);" (assignment_expression "pdVar11 = (double *)((int)pdVar11 + 4)" identifier = (cast_expression "(double *)((int)pdVar11 + 4)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar11 + 4)" ( (binary_expression "(int)pdVar11 + 4" (cast_expression "(int)pdVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(piVar9 != piVar34 + iVar46 * 3)" ( (binary_expression "piVar9 != piVar34 + iVar46 * 3" identifier != (binary_expression "piVar34 + iVar46 * 3" identifier + (binary_expression "iVar46 * 3" identifier * number_literal))) )) ;) })) (expression_statement "fVar38 = (float)((int)fVar38 + 1);" (assignment_expression "fVar38 = (float)((int)fVar38 + 1)" identifier = (cast_expression "(float)((int)fVar38 + 1)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((int)fVar38 + 1)" ( (binary_expression "(int)fVar38 + 1" (cast_expression "(int)fVar38" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);" (assignment_expression "pdVar8 = (double *)((int)pdVar8 + iVar46 * 4)" identifier = (cast_expression "(double *)((int)pdVar8 + iVar46 * 4)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar8 + iVar46 * 4)" ( (binary_expression "(int)pdVar8 + iVar46 * 4" (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar46 * 4" identifier * number_literal)) )))) ;) (expression_statement "iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;" (assignment_expression "iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4" identifier = (binary_expression "iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4" identifier + (binary_expression "*(int *)((int)unaff_s7 + 0x2c0) * 4" (pointer_expression "*(int *)((int)unaff_s7 + 0x2c0)" * (cast_expression "(int *)((int)unaff_s7 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + 0x2c0)" ( (binary_expression "(int)unaff_s7 + 0x2c0" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) * number_literal))) ;) }) while (parenthesized_expression "(fVar38 != unaff_s6)" ( (binary_expression "fVar38 != unaff_s6" identifier != identifier) )) ;) })) (labeled_statement "LAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);" statement_identifier : (expression_statement "(*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);" (call_expression "(*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644)" (parenthesized_expression "(*(code *)PTR_GOMP_critical_name_start_003a9734)" ( (pointer_expression "*(code *)PTR_GOMP_critical_name_start_003a9734" * (cast_expression "(code *)PTR_GOMP_critical_name_start_003a9734" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644)" ( identifier ))) ;)) (expression_statement "pdVar10 = pdVar7;" (assignment_expression "pdVar10 = pdVar7" identifier = identifier) ;) (do_statement "do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);" do (compound_statement "{\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        }" { (if_statement "if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }" if (parenthesized_expression "(*pdVar10 < *unaff_s0)" ( (binary_expression "*pdVar10 < *unaff_s0" (pointer_expression "*pdVar10" * identifier) < (pointer_expression "*unaff_s0" * identifier)) )) (compound_statement "{\n            *pdVar10 = *unaff_s0;\n          }" { (expression_statement "*pdVar10 = *unaff_s0;" (assignment_expression "*pdVar10 = *unaff_s0" (pointer_expression "*pdVar10" * identifier) = (pointer_expression "*unaff_s0" * identifier)) ;) })) (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (expression_statement "pdVar10 = pdVar10 + 1;" (assignment_expression "pdVar10 = pdVar10 + 1" identifier = (binary_expression "pdVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((double *)&uStack_48 != unaff_s0)" ( (binary_expression "(double *)&uStack_48 != unaff_s0" (cast_expression "(double *)&uStack_48" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_48" & identifier)) != identifier) )) ;) (expression_statement "pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;" (assignment_expression "pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644" identifier = (cast_expression "(double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(*(code *)PTR_GOMP_critical_name_end_003a93ac)();" (call_expression "(*(code *)PTR_GOMP_critical_name_end_003a93ac)()" (parenthesized_expression "(*(code *)PTR_GOMP_critical_name_end_003a93ac)" ( (pointer_expression "*(code *)PTR_GOMP_critical_name_end_003a93ac" * (cast_expression "(code *)PTR_GOMP_critical_name_end_003a93ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00073194;" goto statement_identifier ;) })) (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 "*(float *)(param_1 + 4) = 0.0;" (assignment_expression "*(float *)(param_1 + 4) = 0.0" (pointer_expression "*(float *)(param_1 + 4)" * (cast_expression "(float *)(param_1 + 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) }) while (parenthesized_expression "(iVar62 != unaff_s5)" ( (binary_expression "iVar62 != unaff_s5" identifier != identifier) )) ;) })) (labeled_statement "LAB_000731a4:\n  if (uStack_48._4_4_ == *(int *)puVar1) {\n    return;\n  }" statement_identifier : (if_statement "if (uStack_48._4_4_ == *(int *)puVar1) {\n    return;\n  }" if (parenthesized_expression "(uStack_48._4_4_ == *(int *)puVar1)" ( (binary_expression "uStack_48._4_4_ == *(int *)puVar1" (field_expression "uStack_48._4_4_" identifier . field_identifier) == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "pcVar49 = FUN_00073244;" (assignment_expression "pcVar49 = FUN_00073244" identifier = identifier) ;) (expression_statement "puVar45 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar45 = PTR___stack_chk_fail_003a9064" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "piVar34 = *(int **)(puVar45 + 0x335fec);" (assignment_expression "piVar34 = *(int **)(puVar45 + 0x335fec)" identifier = (pointer_expression "*(int **)(puVar45 + 0x335fec)" * (cast_expression "(int **)(puVar45 + 0x335fec)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x335fec)" ( (binary_expression "puVar45 + 0x335fec" identifier + number_literal) ))))) ;) (expression_statement "iStack_2e4 = *piVar34;" (assignment_expression "iStack_2e4 = *piVar34" identifier = (pointer_expression "*piVar34" * identifier)) ;) (expression_statement "pdStack_2e0 = unaff_s0;" (assignment_expression "pdStack_2e0 = unaff_s0" identifier = identifier) ;) (expression_statement "fStack_2dc = unaff_s1;" (assignment_expression "fStack_2dc = unaff_s1" identifier = identifier) ;) (expression_statement "pdStack_2d8 = unaff_s2;" (assignment_expression "pdStack_2d8 = unaff_s2" identifier = identifier) ;) (expression_statement "iStack_2d4 = iVar2;" (assignment_expression "iStack_2d4 = iVar2" identifier = identifier) ;) (expression_statement "pdStack_2d0 = pdVar8;" (assignment_expression "pdStack_2d0 = pdVar8" identifier = identifier) ;) (expression_statement "iStack_2cc = unaff_s5;" (assignment_expression "iStack_2cc = unaff_s5" identifier = identifier) ;) (expression_statement "fStack_2c8 = unaff_s6;" (assignment_expression "fStack_2c8 = unaff_s6" identifier = identifier) ;) (expression_statement "fStack_2c4 = unaff_s7;" (assignment_expression "fStack_2c4 = unaff_s7" identifier = identifier) ;) (expression_statement "iStack_2c0 = iVar62;" (assignment_expression "iStack_2c0 = iVar62" identifier = identifier) ;) (expression_statement "pcStack_2bc = pcVar49;" (assignment_expression "pcStack_2bc = pcVar49" identifier = identifier) ;) (expression_statement "dStack_2b8 = in_f20_21;" (assignment_expression "dStack_2b8 = in_f20_21" identifier = identifier) ;) (expression_statement "dStack_2b0 = in_f22_23;" (assignment_expression "dStack_2b0 = in_f22_23" identifier = identifier) ;) (expression_statement "dStack_2a8 = in_f24_25;" (assignment_expression "dStack_2a8 = in_f24_25" identifier = identifier) ;) (expression_statement "iVar3 = (**(code **)(puVar45 + 0x3366c8))();" (assignment_expression "iVar3 = (**(code **)(puVar45 + 0x3366c8))()" identifier = (call_expression "(**(code **)(puVar45 + 0x3366c8))()" (parenthesized_expression "(**(code **)(puVar45 + 0x3366c8))" ( (pointer_expression "**(code **)(puVar45 + 0x3366c8)" * (pointer_expression "*(code **)(puVar45 + 0x3366c8)" * (cast_expression "(code **)(puVar45 + 0x3366c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x3366c8)" ( (binary_expression "puVar45 + 0x3366c8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar2 = (**(code **)(puVar45 + 0x3362c4))();" (assignment_expression "iVar2 = (**(code **)(puVar45 + 0x3362c4))()" identifier = (call_expression "(**(code **)(puVar45 + 0x3362c4))()" (parenthesized_expression "(**(code **)(puVar45 + 0x3362c4))" ( (pointer_expression "**(code **)(puVar45 + 0x3362c4)" * (pointer_expression "*(code **)(puVar45 + 0x3362c4)" * (cast_expression "(code **)(puVar45 + 0x3362c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x3362c4)" ( (binary_expression "puVar45 + 0x3362c4" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    trap(7);\n  }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "iVar62 = (int)*(float *)(pdVar10 + 6) / iVar3;" (assignment_expression "iVar62 = (int)*(float *)(pdVar10 + 6) / iVar3" identifier = (binary_expression "(int)*(float *)(pdVar10 + 6) / iVar3" (cast_expression "(int)*(float *)(pdVar10 + 6)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(float *)(pdVar10 + 6)" * (cast_expression "(float *)(pdVar10 + 6)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar10 + 6)" ( (binary_expression "pdVar10 + 6" identifier + number_literal) ))))) / identifier)) ;) (expression_statement "pdVar8 = (double *)((int)*(float *)(pdVar10 + 6) % iVar3);" (assignment_expression "pdVar8 = (double *)((int)*(float *)(pdVar10 + 6) % iVar3)" identifier = (cast_expression "(double *)((int)*(float *)(pdVar10 + 6) % iVar3)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*(float *)(pdVar10 + 6) % iVar3)" ( (binary_expression "(int)*(float *)(pdVar10 + 6) % iVar3" (cast_expression "(int)*(float *)(pdVar10 + 6)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(float *)(pdVar10 + 6)" * (cast_expression "(float *)(pdVar10 + 6)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar10 + 6)" ( (binary_expression "pdVar10 + 6" identifier + number_literal) ))))) % identifier) )))) ;) (if_statement "if (iVar2 < (int)pdVar8) {\n    iVar62 = iVar62 + 1;\n    pdVar8 = (double *)0x0;\n  }" if (parenthesized_expression "(iVar2 < (int)pdVar8)" ( (binary_expression "iVar2 < (int)pdVar8" identifier < (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    iVar62 = iVar62 + 1;\n    pdVar8 = (double *)0x0;\n  }" { (expression_statement "iVar62 = iVar62 + 1;" (assignment_expression "iVar62 = iVar62 + 1" identifier = (binary_expression "iVar62 + 1" identifier + number_literal)) ;) (expression_statement "pdVar8 = (double *)0x0;" (assignment_expression "pdVar8 = (double *)0x0" identifier = (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "pdStack_f48 = (double *)(iVar62 * iVar2 + (int)pdVar8);" (assignment_expression "pdStack_f48 = (double *)(iVar62 * iVar2 + (int)pdVar8)" identifier = (cast_expression "(double *)(iVar62 * iVar2 + (int)pdVar8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar62 * iVar2 + (int)pdVar8)" ( (binary_expression "iVar62 * iVar2 + (int)pdVar8" (binary_expression "iVar62 * iVar2" identifier * identifier) + (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pdVar4 = (double *)(iVar62 + (int)pdStack_f48);" (assignment_expression "pdVar4 = (double *)(iVar62 + (int)pdStack_f48)" identifier = (cast_expression "(double *)(iVar62 + (int)pdStack_f48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar62 + (int)pdStack_f48)" ( (binary_expression "iVar62 + (int)pdStack_f48" identifier + (cast_expression "(int)pdStack_f48" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((int)pdStack_f48 < (int)pdVar4) {\n    dVar57 = pdVar10[1];\n    fVar5 = *(float *)(pdVar10 + 5);\n    pdVar20 = *(double **)((int)pdVar10 + 0x2c);\n    dVar56 = *pdVar10;\n    dVar60 = *(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440);\n    pdVar7 = *(double **)((int)pdVar10 + 0x24);\n    fVar6 = *(float *)(pdVar10 + 4);\n    fVar38 = *(float *)((int)pdVar10 + 0x1c);\n    pdVar11 = *(double **)(pdVar10 + 3);\n    fVar54 = *(float *)((int)pdVar10 + 0x14);\n    fVar12 = *(float *)(pdVar10 + 2);\n    pdVar8 = pdVar20;\n    do {\n      if (*(float *)((int)pdVar10 + 0x34) != 0.0) {\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    } while (pdVar4 != pdStack_f48);\n  }" if (parenthesized_expression "((int)pdStack_f48 < (int)pdVar4)" ( (binary_expression "(int)pdStack_f48 < (int)pdVar4" (cast_expression "(int)pdStack_f48" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pdVar4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    dVar57 = pdVar10[1];\n    fVar5 = *(float *)(pdVar10 + 5);\n    pdVar20 = *(double **)((int)pdVar10 + 0x2c);\n    dVar56 = *pdVar10;\n    dVar60 = *(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440);\n    pdVar7 = *(double **)((int)pdVar10 + 0x24);\n    fVar6 = *(float *)(pdVar10 + 4);\n    fVar38 = *(float *)((int)pdVar10 + 0x1c);\n    pdVar11 = *(double **)(pdVar10 + 3);\n    fVar54 = *(float *)((int)pdVar10 + 0x14);\n    fVar12 = *(float *)(pdVar10 + 2);\n    pdVar8 = pdVar20;\n    do {\n      if (*(float *)((int)pdVar10 + 0x34) != 0.0) {\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    } while (pdVar4 != pdStack_f48);\n  }" { (expression_statement "dVar57 = pdVar10[1];" (assignment_expression "dVar57 = pdVar10[1]" identifier = (subscript_expression "pdVar10[1]" identifier [ number_literal ])) ;) (expression_statement "fVar5 = *(float *)(pdVar10 + 5);" (assignment_expression "fVar5 = *(float *)(pdVar10 + 5)" identifier = (pointer_expression "*(float *)(pdVar10 + 5)" * (cast_expression "(float *)(pdVar10 + 5)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar10 + 5)" ( (binary_expression "pdVar10 + 5" identifier + number_literal) ))))) ;) (expression_statement "pdVar20 = *(double **)((int)pdVar10 + 0x2c);" (assignment_expression "pdVar20 = *(double **)((int)pdVar10 + 0x2c)" identifier = (pointer_expression "*(double **)((int)pdVar10 + 0x2c)" * (cast_expression "(double **)((int)pdVar10 + 0x2c)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pdVar10 + 0x2c)" ( (binary_expression "(int)pdVar10 + 0x2c" (cast_expression "(int)pdVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "dVar56 = *pdVar10;" (assignment_expression "dVar56 = *pdVar10" identifier = (pointer_expression "*pdVar10" * identifier)) ;) (expression_statement "dVar60 = *(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440);" (assignment_expression "dVar60 = *(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440)" identifier = (pointer_expression "*(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440)" * (cast_expression "(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar45 + 0x33569c) + 0x1440)" ( (binary_expression "*(int *)(puVar45 + 0x33569c) + 0x1440" (pointer_expression "*(int *)(puVar45 + 0x33569c)" * (cast_expression "(int *)(puVar45 + 0x33569c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar45 + 0x33569c)" ( (binary_expression "puVar45 + 0x33569c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "pdVar7 = *(double **)((int)pdVar10 + 0x24);" (assignment_expression "pdVar7 = *(double **)((int)pdVar10 + 0x24)" identifier = (pointer_expression "*(double **)((int)pdVar10 + 0x24)" * (cast_expression "(double **)((int)pdVar10 + 0x24)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pdVar10 + 0x24)" ( (binary_expression "(int)pdVar10 + 0x24" (cast_expression "(int)pdVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "fVar6 = *(float *)(pdVar10 + 4);" (assignment_expression "fVar6 = *(float *)(pdVar10 + 4)" identifier = (pointer_expression "*(float *)(pdVar10 + 4)" * (cast_expression "(float *)(pdVar10 + 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar10 + 4)" ( (binary_expression "pdVar10 + 4" identifier + number_literal) ))))) ;) (expression_statement "fVar38 = *(float *)((int)pdVar10 + 0x1c);" (assignment_expression "fVar38 = *(float *)((int)pdVar10 + 0x1c)" identifier = (pointer_expression "*(float *)((int)pdVar10 + 0x1c)" * (cast_expression "(float *)((int)pdVar10 + 0x1c)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar10 + 0x1c)" ( (binary_expression "(int)pdVar10 + 0x1c" (cast_expression "(int)pdVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pdVar11 = *(double **)(pdVar10 + 3);" (assignment_expression "pdVar11 = *(double **)(pdVar10 + 3)" identifier = (pointer_expression "*(double **)(pdVar10 + 3)" * (cast_expression "(double **)(pdVar10 + 3)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pdVar10 + 3)" ( (binary_expression "pdVar10 + 3" identifier + number_literal) ))))) ;) (expression_statement "fVar54 = *(float *)((int)pdVar10 + 0x14);" (assignment_expression "fVar54 = *(float *)((int)pdVar10 + 0x14)" identifier = (pointer_expression "*(float *)((int)pdVar10 + 0x14)" * (cast_expression "(float *)((int)pdVar10 + 0x14)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar10 + 0x14)" ( (binary_expression "(int)pdVar10 + 0x14" (cast_expression "(int)pdVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "fVar12 = *(float *)(pdVar10 + 2);" (assignment_expression "fVar12 = *(float *)(pdVar10 + 2)" identifier = (pointer_expression "*(float *)(pdVar10 + 2)" * (cast_expression "(float *)(pdVar10 + 2)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar10 + 2)" ( (binary_expression "pdVar10 + 2" identifier + number_literal) ))))) ;) (expression_statement "pdVar8 = pdVar20;" (assignment_expression "pdVar8 = pdVar20" identifier = identifier) ;) (do_statement "do {\n      if (*(float *)((int)pdVar10 + 0x34) != 0.0) {\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    } while (pdVar4 != pdStack_f48);" do (compound_statement "{\n      if (*(float *)((int)pdVar10 + 0x34) != 0.0) {\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    }" { (if_statement "if (*(float *)((int)pdVar10 + 0x34) != 0.0) {\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }" if (parenthesized_expression "(*(float *)((int)pdVar10 + 0x34) != 0.0)" ( (binary_expression "*(float *)((int)pdVar10 + 0x34) != 0.0" (pointer_expression "*(float *)((int)pdVar10 + 0x34)" * (cast_expression "(float *)((int)pdVar10 + 0x34)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar10 + 0x34)" ( (binary_expression "(int)pdVar10 + 0x34" (cast_expression "(int)pdVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }" { (expression_statement "pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);" (assignment_expression "pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38)" identifier = (cast_expression "(float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38)" (parenthesized_expression "(**(code **)(puVar45 + 0x336418))" ( (pointer_expression "**(code **)(puVar45 + 0x336418)" * (pointer_expression "*(code **)(puVar45 + 0x336418)" * (cast_expression "(code **)(puVar45 + 0x336418)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x336418)" ( (binary_expression "puVar45 + 0x336418" identifier + number_literal) ))))) )) (argument_list "(fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38)" ( identifier , (unary_expression "-(*(int *)((int)fVar5 + 4) / 2)" - (parenthesized_expression "(*(int *)((int)fVar5 + 4) / 2)" ( (binary_expression "*(int *)((int)fVar5 + 4) / 2" (pointer_expression "*(int *)((int)fVar5 + 4)" * (cast_expression "(int *)((int)fVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar5 + 4)" ( (binary_expression "(int)fVar5 + 4" (cast_expression "(int)fVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) / number_literal) ))) , (binary_expression "(int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2" (cast_expression "(int)pdStack_f48" ( (type_descriptor "int" primitive_type) ) identifier) - (binary_expression "*(int *)((int)fVar5 + 8) / 2" (pointer_expression "*(int *)((int)fVar5 + 8)" * (cast_expression "(int *)((int)fVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar5 + 8)" ( (binary_expression "(int)fVar5 + 8" (cast_expression "(int)fVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) / number_literal)) , (binary_expression "(int)pdVar20 + *(int *)((int)fVar5 + 4)" (cast_expression "(int)pdVar20" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)((int)fVar5 + 4)" * (cast_expression "(int *)((int)fVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar5 + 4)" ( (binary_expression "(int)fVar5 + 4" (cast_expression "(int)fVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) , (pointer_expression "*(int *)((int)fVar5 + 8)" * (cast_expression "(int *)((int)fVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar5 + 8)" ( (binary_expression "(int)fVar5 + 8" (cast_expression "(int)fVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier ))))) ;) (expression_statement "pdVar8 = pdVar7;" (assignment_expression "pdVar8 = pdVar7" identifier = identifier) ;) (expression_statement "iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);" (assignment_expression "iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38)" identifier = (call_expression "(**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38)" (parenthesized_expression "(**(code **)(puVar45 + 0x336418))" ( (pointer_expression "**(code **)(puVar45 + 0x336418)" * (pointer_expression "*(code **)(puVar45 + 0x336418)" * (cast_expression "(code **)(puVar45 + 0x336418)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x336418)" ( (binary_expression "puVar45 + 0x336418" identifier + number_literal) ))))) )) (argument_list "(pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38)" ( identifier , (unary_expression "-(*(int *)((int)fVar5 + 4) / 2)" - (parenthesized_expression "(*(int *)((int)fVar5 + 4) / 2)" ( (binary_expression "*(int *)((int)fVar5 + 4) / 2" (pointer_expression "*(int *)((int)fVar5 + 4)" * (cast_expression "(int *)((int)fVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar5 + 4)" ( (binary_expression "(int)fVar5 + 4" (cast_expression "(int)fVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) / number_literal) ))) , (binary_expression "(int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2" (cast_expression "(int)pdStack_f48" ( (type_descriptor "int" primitive_type) ) identifier) - (binary_expression "*(int *)((int)fVar5 + 8) / 2" (pointer_expression "*(int *)((int)fVar5 + 8)" * (cast_expression "(int *)((int)fVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar5 + 8)" ( (binary_expression "(int)fVar5 + 8" (cast_expression "(int)fVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) / number_literal)) , (binary_expression "(int)pdVar20 + *(int *)((int)fVar5 + 4)" (cast_expression "(int)pdVar20" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)((int)fVar5 + 4)" * (cast_expression "(int *)((int)fVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar5 + 4)" ( (binary_expression "(int)fVar5 + 4" (cast_expression "(int)fVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) , (pointer_expression "*(int *)((int)fVar5 + 8)" * (cast_expression "(int *)((int)fVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar5 + 8)" ( (binary_expression "(int)fVar5 + 8" (cast_expression "(int)fVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier )))) ;) (if_statement "if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }" if (parenthesized_expression "((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0))" ( (binary_expression "(pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)" (parenthesized_expression "(pfStack_f50 == (float *)0x0)" ( (binary_expression "pfStack_f50 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(iStack_f54 == 0)" ( (binary_expression "iStack_f54 == 0" identifier == number_literal) ))) )) (compound_statement "{\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }" { (expression_statement "*(float *)((int)pdVar10 + 0x34) = 0.0;" (assignment_expression "*(float *)((int)pdVar10 + 0x34) = 0.0" (pointer_expression "*(float *)((int)pdVar10 + 0x34)" * (cast_expression "(float *)((int)pdVar10 + 0x34)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar10 + 0x34)" ( (binary_expression "(int)pdVar10 + 0x34" (cast_expression "(int)pdVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }" else (compound_statement "{\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }" { (expression_statement "(**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);" (call_expression "(**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208)" (parenthesized_expression "(**(code **)(puVar45 + 0x336490))" ( (pointer_expression "**(code **)(puVar45 + 0x336490)" * (pointer_expression "*(code **)(puVar45 + 0x336490)" * (cast_expression "(code **)(puVar45 + 0x336490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x336490)" ( (binary_expression "puVar45 + 0x336490" identifier + number_literal) ))))) )) (argument_list "(adStack_f18,0,0x208)" ( identifier , number_literal , number_literal ))) ;) (if_statement "if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }" if (parenthesized_expression "(0 < (int)pdVar20)" ( (binary_expression "0 < (int)pdVar20" number_literal < (cast_expression "(int)pdVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }" { (expression_statement "pdStack_f4c = (double *)0x0;" (assignment_expression "pdStack_f4c = (double *)0x0" identifier = (cast_expression "(double *)0x0" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar2 = *(int *)((int)fVar12 + 0x2c0);" (assignment_expression "iVar2 = *(int *)((int)fVar12 + 0x2c0)" identifier = (pointer_expression "*(int *)((int)fVar12 + 0x2c0)" * (cast_expression "(int *)((int)fVar12 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar12 + 0x2c0)" ( (binary_expression "(int)fVar12 + 0x2c0" (cast_expression "(int)fVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar3 = *(int *)((int)fVar54 + 0x2c0);" (assignment_expression "iVar3 = *(int *)((int)fVar54 + 0x2c0)" identifier = (pointer_expression "*(int *)((int)fVar54 + 0x2c0)" * (cast_expression "(int *)((int)fVar54 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar54 + 0x2c0)" ( (binary_expression "(int)fVar54 + 0x2c0" (cast_expression "(int)fVar54" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar62 = iVar3 * 4;" (assignment_expression "iVar62 = iVar3 * 4" identifier = (binary_expression "iVar3 * 4" identifier * number_literal)) ;) (expression_statement "pcVar49 = *(code **)(puVar45 + 0x336490);" (assignment_expression "pcVar49 = *(code **)(puVar45 + 0x336490)" identifier = (pointer_expression "*(code **)(puVar45 + 0x336490)" * (cast_expression "(code **)(puVar45 + 0x336490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x336490)" ( (binary_expression "puVar45 + 0x336490" identifier + number_literal) ))))) ;) (do_statement "do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);" do (compound_statement "{\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            }" { (expression_statement "(*pcVar49)(adStack_d10,0,0x208);" (call_expression "(*pcVar49)(adStack_d10,0,0x208)" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "(adStack_d10,0,0x208)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "(**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);" (call_expression "(**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208)" (parenthesized_expression "(**(code **)(puVar45 + 0x336490))" ( (pointer_expression "**(code **)(puVar45 + 0x336490)" * (pointer_expression "*(code **)(puVar45 + 0x336490)" * (cast_expression "(code **)(puVar45 + 0x336490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x336490)" ( (binary_expression "puVar45 + 0x336490" identifier + number_literal) ))))) )) (argument_list "(adStack_900,0,0x208)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "(**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);" (call_expression "(**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208)" (parenthesized_expression "(**(code **)(puVar45 + 0x336490))" ( (pointer_expression "**(code **)(puVar45 + 0x336490)" * (pointer_expression "*(code **)(puVar45 + 0x336490)" * (cast_expression "(code **)(puVar45 + 0x336490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x336490)" ( (binary_expression "puVar45 + 0x336490" identifier + number_literal) ))))) )) (argument_list "(adStack_b08,0,0x208)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "(**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);" (call_expression "(**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208)" (parenthesized_expression "(**(code **)(puVar45 + 0x336490))" ( (pointer_expression "**(code **)(puVar45 + 0x336490)" * (pointer_expression "*(code **)(puVar45 + 0x336490)" * (cast_expression "(code **)(puVar45 + 0x336490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x336490)" ( (binary_expression "puVar45 + 0x336490" identifier + number_literal) ))))) )) (argument_list "(adStack_6f8,0,0x208)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "(**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);" (call_expression "(**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208)" (parenthesized_expression "(**(code **)(puVar45 + 0x336490))" ( (pointer_expression "**(code **)(puVar45 + 0x336490)" * (pointer_expression "*(code **)(puVar45 + 0x336490)" * (cast_expression "(code **)(puVar45 + 0x336490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x336490)" ( (binary_expression "puVar45 + 0x336490" identifier + number_literal) ))))) )) (argument_list "(adStack_4f0,0,0x208)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "iVar26 = *(int *)((int)fVar5 + 8);" (assignment_expression "iVar26 = *(int *)((int)fVar5 + 8)" identifier = (pointer_expression "*(int *)((int)fVar5 + 8)" * (cast_expression "(int *)((int)fVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar5 + 8)" ( (binary_expression "(int)fVar5 + 8" (cast_expression "(int)fVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pdStack_f7c = *(double **)((int)fVar5 + 0x14);" (assignment_expression "pdStack_f7c = *(double **)((int)fVar5 + 0x14)" identifier = (pointer_expression "*(double **)((int)fVar5 + 0x14)" * (cast_expression "(double **)((int)fVar5 + 0x14)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)fVar5 + 0x14)" ( (binary_expression "(int)fVar5 + 0x14" (cast_expression "(int)fVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }" if (parenthesized_expression "(0 < iVar26)" ( (binary_expression "0 < iVar26" number_literal < identifier) )) (compound_statement "{\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }" { (expression_statement "iVar46 = *(int *)((int)fVar5 + 4);" (assignment_expression "iVar46 = *(int *)((int)fVar5 + 4)" identifier = (pointer_expression "*(int *)((int)fVar5 + 4)" * (cast_expression "(int *)((int)fVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar5 + 4)" ( (binary_expression "(int)fVar5 + 4" (cast_expression "(int)fVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iStack_f78 = 0;" (assignment_expression "iStack_f78 = 0" identifier = number_literal) ;) (expression_statement "iStack_f80 = iStack_f54;" (assignment_expression "iStack_f80 = iStack_f54" identifier = identifier) ;) (expression_statement "pfVar50 = pfStack_f50;" (assignment_expression "pfVar50 = pfStack_f50" identifier = identifier) ;) (do_statement "do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);" do (compound_statement "{\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                }" { (if_statement "if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }" if (parenthesized_expression "(0 < iVar46)" ( (binary_expression "0 < iVar46" number_literal < identifier) )) (compound_statement "{\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }" { (expression_statement "iVar42 = 0;" (assignment_expression "iVar42 = 0" identifier = number_literal) ;) (expression_statement "pdVar8 = pdStack_f7c;" (assignment_expression "pdVar8 = pdStack_f7c" identifier = identifier) ;) (expression_statement "iVar40 = iStack_f80;" (assignment_expression "iVar40 = iStack_f80" identifier = identifier) ;) (expression_statement "pfVar43 = pfVar50;" (assignment_expression "pfVar43 = pfVar50" identifier = identifier) ;) (do_statement "do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);" do (compound_statement "{\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    }" { (if_statement "if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }" if (parenthesized_expression "(0 < iVar2)" ( (binary_expression "0 < iVar2" number_literal < identifier) )) (compound_statement "{\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }" { (expression_statement "iVar36 = *(int *)((int)fVar54 + 0x2d0);" (assignment_expression "iVar36 = *(int *)((int)fVar54 + 0x2d0)" identifier = (pointer_expression "*(int *)((int)fVar54 + 0x2d0)" * (cast_expression "(int *)((int)fVar54 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar54 + 0x2d0)" ( (binary_expression "(int)fVar54 + 0x2d0" (cast_expression "(int)fVar54" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "piVar27 = *(int **)((int)fVar12 + 0x2d0);" (assignment_expression "piVar27 = *(int **)((int)fVar12 + 0x2d0)" identifier = (pointer_expression "*(int **)((int)fVar12 + 0x2d0)" * (cast_expression "(int **)((int)fVar12 + 0x2d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)fVar12 + 0x2d0)" ( (binary_expression "(int)fVar12 + 0x2d0" (cast_expression "(int)fVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (expression_statement "piVar9 = piVar27;" (assignment_expression "piVar9 = piVar27" identifier = identifier) ;) (expression_statement "pfVar21 = pfVar43;" (assignment_expression "pfVar21 = pfVar43" identifier = identifier) ;) (do_statement "do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);" do (compound_statement "{\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        }" { (expression_statement "iVar23 = iVar36 + *piVar9 * 0xc;" (assignment_expression "iVar23 = iVar36 + *piVar9 * 0xc" identifier = (binary_expression "iVar36 + *piVar9 * 0xc" identifier + (binary_expression "*piVar9 * 0xc" (pointer_expression "*piVar9" * identifier) * number_literal))) ;) (if_statement "if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }" if (parenthesized_expression "(((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0))" ( (binary_expression "((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)" (parenthesized_expression "((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0))" ( (binary_expression "(piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)" (parenthesized_expression "(piVar27[*piVar9 * 3 + 1] != 0)" ( (binary_expression "piVar27[*piVar9 * 3 + 1] != 0" (subscript_expression "piVar27[*piVar9 * 3 + 1]" identifier [ (binary_expression "*piVar9 * 3 + 1" (binary_expression "*piVar9 * 3" (pointer_expression "*piVar9" * identifier) * number_literal) + number_literal) ]) != number_literal) )) && (parenthesized_expression "(uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)" ( (comma_expression "uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0" (assignment_expression "uVar28 = *(uint *)(iVar23 + 4)" identifier = (pointer_expression "*(uint *)(iVar23 + 4)" * (cast_expression "(uint *)(iVar23 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 4)" ( (binary_expression "iVar23 + 4" identifier + number_literal) ))))) , (binary_expression "uVar28 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)" ( (comma_expression "pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0" (assignment_expression "pdVar32 = (double *)((int)adStack_b08 + iVar13)" identifier = (cast_expression "(double *)((int)adStack_b08 + iVar13)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_b08 + iVar13)" ( (binary_expression "(int)adStack_b08 + iVar13" (cast_expression "(int)adStack_b08" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) , (binary_expression "(uVar28 & 2) != 0" (parenthesized_expression "(uVar28 & 2)" ( (binary_expression "uVar28 & 2" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }" { (expression_statement "pdVar29 = (double *)((int)adStack_4f0 + iVar13);" (assignment_expression "pdVar29 = (double *)((int)adStack_4f0 + iVar13)" identifier = (cast_expression "(double *)((int)adStack_4f0 + iVar13)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_4f0 + iVar13)" ( (binary_expression "(int)adStack_4f0 + iVar13" (cast_expression "(int)adStack_4f0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pdVar31 = (double *)((int)adStack_900 + iVar13);" (assignment_expression "pdVar31 = (double *)((int)adStack_900 + iVar13)" identifier = (cast_expression "(double *)((int)adStack_900 + iVar13)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_900 + iVar13)" ( (binary_expression "(int)adStack_900 + iVar13" (cast_expression "(int)adStack_900" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pdVar33 = (double *)((int)adStack_d10 + iVar13);" (assignment_expression "pdVar33 = (double *)((int)adStack_d10 + iVar13)" identifier = (cast_expression "(double *)((int)adStack_d10 + iVar13)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_d10 + iVar13)" ( (binary_expression "(int)adStack_d10 + iVar13" (cast_expression "(int)adStack_d10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pdVar35 = (double *)((int)adStack_6f8 + iVar13);" (assignment_expression "pdVar35 = (double *)((int)adStack_6f8 + iVar13)" identifier = (cast_expression "(double *)((int)adStack_6f8 + iVar13)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_6f8 + iVar13)" ( (binary_expression "(int)adStack_6f8 + iVar13" (cast_expression "(int)adStack_6f8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;" (assignment_expression "dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60" identifier = (binary_expression "(double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60" (cast_expression "(double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4)" * (cast_expression "(float *)(iVar40 + *(int *)(iVar23 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + *(int *)(iVar23 + 8) * 4)" ( (binary_expression "iVar40 + *(int *)(iVar23 + 8) * 4" identifier + (binary_expression "*(int *)(iVar23 + 8) * 4" (pointer_expression "*(int *)(iVar23 + 8)" * (cast_expression "(int *)(iVar23 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 8)" ( (binary_expression "iVar23 + 8" identifier + number_literal) )))) * number_literal)) ))))) * identifier)) ;) (expression_statement "dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;" (assignment_expression "dVar58 = (double)*pfVar21 * dVar60 * *pdVar8" identifier = (binary_expression "(double)*pfVar21 * dVar60 * *pdVar8" (binary_expression "(double)*pfVar21 * dVar60" (cast_expression "(double)*pfVar21" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*pfVar21" * identifier)) * identifier) * (pointer_expression "*pdVar8" * identifier))) ;) (expression_statement "dVar53 = *pdVar8 * dVar55;" (assignment_expression "dVar53 = *pdVar8 * dVar55" identifier = (binary_expression "*pdVar8 * dVar55" (pointer_expression "*pdVar8" * identifier) * identifier)) ;) (expression_statement "*pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;" (assignment_expression "*pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32" (pointer_expression "*pdVar32" * identifier) = (binary_expression "(double)*pfVar21 * dVar60 * dVar58 + *pdVar32" (binary_expression "(double)*pfVar21 * dVar60 * dVar58" (binary_expression "(double)*pfVar21 * dVar60" (cast_expression "(double)*pfVar21" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*pfVar21" * identifier)) * identifier) * identifier) + (pointer_expression "*pdVar32" * identifier))) ;) (expression_statement "*pdVar31 = dVar58 * dVar55 + *pdVar31;" (assignment_expression "*pdVar31 = dVar58 * dVar55 + *pdVar31" (pointer_expression "*pdVar31" * identifier) = (binary_expression "dVar58 * dVar55 + *pdVar31" (binary_expression "dVar58 * dVar55" identifier * identifier) + (pointer_expression "*pdVar31" * identifier))) ;) (expression_statement "*pdVar29 = dVar55 * dVar53 + *pdVar29;" (assignment_expression "*pdVar29 = dVar55 * dVar53 + *pdVar29" (pointer_expression "*pdVar29" * identifier) = (binary_expression "dVar55 * dVar53 + *pdVar29" (binary_expression "dVar55 * dVar53" identifier * identifier) + (pointer_expression "*pdVar29" * identifier))) ;) (expression_statement "*pdVar33 = *pdVar33 + dVar58;" (assignment_expression "*pdVar33 = *pdVar33 + dVar58" (pointer_expression "*pdVar33" * identifier) = (binary_expression "*pdVar33 + dVar58" (pointer_expression "*pdVar33" * identifier) + identifier)) ;) (expression_statement "*pdVar35 = *pdVar35 + dVar53;" (assignment_expression "*pdVar35 = *pdVar35 + dVar53" (pointer_expression "*pdVar35" * identifier) = (binary_expression "*pdVar35 + dVar53" (pointer_expression "*pdVar35" * identifier) + identifier)) ;) })) (expression_statement "iVar13 = iVar13 + 8;" (assignment_expression "iVar13 = iVar13 + 8" identifier = (binary_expression "iVar13 + 8" identifier + number_literal)) ;) (expression_statement "piVar9 = piVar9 + 3;" (assignment_expression "piVar9 = piVar9 + 3" identifier = (binary_expression "piVar9 + 3" identifier + number_literal)) ;) (expression_statement "pfVar21 = pfVar21 + 1;" (assignment_expression "pfVar21 = pfVar21 + 1" identifier = (binary_expression "pfVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar2 << 3 != iVar13)" ( (binary_expression "iVar2 << 3 != iVar13" (binary_expression "iVar2 << 3" identifier << number_literal) != identifier) )) ;) })) (expression_statement "iVar42 = iVar42 + 1;" (assignment_expression "iVar42 = iVar42 + 1" identifier = (binary_expression "iVar42 + 1" identifier + number_literal)) ;) (expression_statement "pdVar8 = pdVar8 + 1;" (assignment_expression "pdVar8 = pdVar8 + 1" identifier = (binary_expression "pdVar8 + 1" identifier + number_literal)) ;) (expression_statement "pfVar43 = pfVar43 + iVar2;" (assignment_expression "pfVar43 = pfVar43 + iVar2" identifier = (binary_expression "pfVar43 + iVar2" identifier + identifier)) ;) (expression_statement "iVar40 = iVar40 + iVar62;" (assignment_expression "iVar40 = iVar40 + iVar62" identifier = (binary_expression "iVar40 + iVar62" identifier + identifier)) ;) }) while (parenthesized_expression "(iVar42 != iVar46)" ( (binary_expression "iVar42 != iVar46" identifier != identifier) )) ;) (expression_statement "pdStack_f7c = pdStack_f7c + iVar46;" (assignment_expression "pdStack_f7c = pdStack_f7c + iVar46" identifier = (binary_expression "pdStack_f7c + iVar46" identifier + identifier)) ;) (expression_statement "pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);" (assignment_expression "pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4)" identifier = (cast_expression "(float *)((int)pfVar50 + iVar46 * iVar2 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar50 + iVar46 * iVar2 * 4)" ( (binary_expression "(int)pfVar50 + iVar46 * iVar2 * 4" (cast_expression "(int)pfVar50" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar46 * iVar2 * 4" (binary_expression "iVar46 * iVar2" identifier * identifier) * number_literal)) )))) ;) (expression_statement "iStack_f80 = iStack_f80 + iVar46 * iVar62;" (assignment_expression "iStack_f80 = iStack_f80 + iVar46 * iVar62" identifier = (binary_expression "iStack_f80 + iVar46 * iVar62" identifier + (binary_expression "iVar46 * iVar62" identifier * identifier))) ;) })) (expression_statement "pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);" (assignment_expression "pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4)" identifier = (cast_expression "(float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar50 + iVar2 * (int)pdVar20 * 4)" ( (binary_expression "(int)pfVar50 + iVar2 * (int)pdVar20 * 4" (cast_expression "(int)pfVar50" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar2 * (int)pdVar20 * 4" (binary_expression "iVar2 * (int)pdVar20" identifier * (cast_expression "(int)pdVar20" ( (type_descriptor "int" primitive_type) ) identifier)) * number_literal)) )))) ;) (expression_statement "iStack_f78 = iStack_f78 + 1;" (assignment_expression "iStack_f78 = iStack_f78 + 1" identifier = (binary_expression "iStack_f78 + 1" identifier + number_literal)) ;) (expression_statement "iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;" (assignment_expression "iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3" identifier = (binary_expression "iStack_f80 + (int)pdVar20 * 4 * iVar3" identifier + (binary_expression "(int)pdVar20 * 4 * iVar3" (binary_expression "(int)pdVar20 * 4" (cast_expression "(int)pdVar20" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) * identifier))) ;) }) while (parenthesized_expression "(iStack_f78 != iVar26)" ( (binary_expression "iStack_f78 != iVar26" identifier != identifier) )) ;) })) (if_statement "if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }" if (parenthesized_expression "(0 < iVar2)" ( (binary_expression "0 < iVar2" number_literal < identifier) )) (compound_statement "{\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }" { (expression_statement "piVar27 = *(int **)((int)fVar12 + 0x2d0);" (assignment_expression "piVar27 = *(int **)((int)fVar12 + 0x2d0)" identifier = (pointer_expression "*(int **)((int)fVar12 + 0x2d0)" * (cast_expression "(int **)((int)fVar12 + 0x2d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)fVar12 + 0x2d0)" ( (binary_expression "(int)fVar12 + 0x2d0" (cast_expression "(int)fVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "iVar26 = 0;" (assignment_expression "iVar26 = 0" identifier = number_literal) ;) (expression_statement "iVar46 = *(int *)((int)fVar54 + 0x2d0);" (assignment_expression "iVar46 = *(int *)((int)fVar54 + 0x2d0)" identifier = (pointer_expression "*(int *)((int)fVar54 + 0x2d0)" * (cast_expression "(int *)((int)fVar54 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fVar54 + 0x2d0)" ( (binary_expression "(int)fVar54 + 0x2d0" (cast_expression "(int)fVar54" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "piVar9 = piVar27;" (assignment_expression "piVar9 = piVar27" identifier = identifier) ;) (do_statement "do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);" do (compound_statement "{\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                }" { (if_statement "if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }" if (parenthesized_expression "(((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0))" ( (binary_expression "((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)" (parenthesized_expression "((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0))" ( (binary_expression "(piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)" (parenthesized_expression "(piVar27[*piVar9 * 3 + 1] != 0)" ( (binary_expression "piVar27[*piVar9 * 3 + 1] != 0" (subscript_expression "piVar27[*piVar9 * 3 + 1]" identifier [ (binary_expression "*piVar9 * 3 + 1" (binary_expression "*piVar9 * 3" (pointer_expression "*piVar9" * identifier) * number_literal) + number_literal) ]) != number_literal) )) && (parenthesized_expression "(uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)" ( (comma_expression "uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0" (assignment_expression "uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4)" identifier = (pointer_expression "*(uint *)(iVar46 + *piVar9 * 0xc + 4)" * (cast_expression "(uint *)(iVar46 + *piVar9 * 0xc + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar46 + *piVar9 * 0xc + 4)" ( (binary_expression "iVar46 + *piVar9 * 0xc + 4" (binary_expression "iVar46 + *piVar9 * 0xc" identifier + (binary_expression "*piVar9 * 0xc" (pointer_expression "*piVar9" * identifier) * number_literal)) + number_literal) ))))) , (binary_expression "uVar28 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "((uVar28 & 2) != 0)" ( (binary_expression "(uVar28 & 2) != 0" (parenthesized_expression "(uVar28 & 2)" ( (binary_expression "uVar28 & 2" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }" { (expression_statement "dVar59 = *(double *)((int)adStack_d10 + iVar26);" (assignment_expression "dVar59 = *(double *)((int)adStack_d10 + iVar26)" identifier = (pointer_expression "*(double *)((int)adStack_d10 + iVar26)" * (cast_expression "(double *)((int)adStack_d10 + iVar26)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_d10 + iVar26)" ( (binary_expression "(int)adStack_d10 + iVar26" (cast_expression "(int)adStack_d10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))))) ;) (expression_statement "dVar53 = *(double *)((int)adStack_6f8 + iVar26);" (assignment_expression "dVar53 = *(double *)((int)adStack_6f8 + iVar26)" identifier = (pointer_expression "*(double *)((int)adStack_6f8 + iVar26)" * (cast_expression "(double *)((int)adStack_6f8 + iVar26)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_6f8 + iVar26)" ( (binary_expression "(int)adStack_6f8 + iVar26" (cast_expression "(int)adStack_6f8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))))) ;) (expression_statement "pdVar8 = (double *)((int)adStack_f18 + iVar26);" (assignment_expression "pdVar8 = (double *)((int)adStack_f18 + iVar26)" identifier = (cast_expression "(double *)((int)adStack_f18 + iVar26)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_f18 + iVar26)" ( (binary_expression "(int)adStack_f18 + iVar26" (cast_expression "(int)adStack_f18" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "dVar55 = dVar59 * dVar53;" (assignment_expression "dVar55 = dVar59 * dVar53" identifier = (binary_expression "dVar59 * dVar53" identifier * identifier)) ;) (expression_statement "dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;" (assignment_expression "dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55" identifier = (binary_expression "*(double *)((int)adStack_900 + iVar26) - dVar55" (pointer_expression "*(double *)((int)adStack_900 + iVar26)" * (cast_expression "(double *)((int)adStack_900 + iVar26)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_900 + iVar26)" ( (binary_expression "(int)adStack_900 + iVar26" (cast_expression "(int)adStack_900" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) - identifier)) ;) (expression_statement "dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));" (assignment_expression "dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56))" identifier = (binary_expression "((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56))" (parenthesized_expression "((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56))" ( (binary_expression "(dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)" (parenthesized_expression "(dVar58 + dVar58 + dVar57)" ( (binary_expression "dVar58 + dVar58 + dVar57" (binary_expression "dVar58 + dVar58" identifier + identifier) + identifier) )) * (parenthesized_expression "(dVar55 + dVar55 + dVar56)" ( (binary_expression "dVar55 + dVar55 + dVar56" (binary_expression "dVar55 + dVar55" identifier + identifier) + identifier) ))) )) / (parenthesized_expression "(((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56))" ( (binary_expression "((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56)" (parenthesized_expression "((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)" ( (binary_expression "(*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57" (binary_expression "(*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53)" (parenthesized_expression "(*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59)" ( (binary_expression "*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59" (pointer_expression "*(double *)((int)adStack_b08 + iVar26)" * (cast_expression "(double *)((int)adStack_b08 + iVar26)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_b08 + iVar26)" ( (binary_expression "(int)adStack_b08 + iVar26" (cast_expression "(int)adStack_b08" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) - (binary_expression "dVar59 * dVar59" identifier * identifier)) )) + (parenthesized_expression "(*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53)" ( (binary_expression "*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53" (pointer_expression "*(double *)((int)adStack_4f0 + iVar26)" * (cast_expression "(double *)((int)adStack_4f0 + iVar26)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)adStack_4f0 + iVar26)" ( (binary_expression "(int)adStack_4f0 + iVar26" (cast_expression "(int)adStack_4f0" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) - (binary_expression "dVar53 * dVar53" identifier * identifier)) ))) + identifier) )) * (parenthesized_expression "(dVar59 * dVar59 + dVar53 * dVar53 + dVar56)" ( (binary_expression "dVar59 * dVar59 + dVar53 * dVar53 + dVar56" (binary_expression "dVar59 * dVar59 + dVar53 * dVar53" (binary_expression "dVar59 * dVar59" identifier * identifier) + (binary_expression "dVar53 * dVar53" identifier * identifier)) + identifier) ))) )))) ;) (expression_statement "*pdVar8 = *pdVar8 + dVar53;" (assignment_expression "*pdVar8 = *pdVar8 + dVar53" (pointer_expression "*pdVar8" * identifier) = (binary_expression "*pdVar8 + dVar53" (pointer_expression "*pdVar8" * identifier) + identifier)) ;) (expression_statement "dStack_d18 = dStack_d18 + dVar53;" (assignment_expression "dStack_d18 = dStack_d18 + dVar53" identifier = (binary_expression "dStack_d18 + dVar53" identifier + identifier)) ;) })) (expression_statement "iVar26 = iVar26 + 8;" (assignment_expression "iVar26 = iVar26 + 8" identifier = (binary_expression "iVar26 + 8" identifier + number_literal)) ;) (expression_statement "piVar9 = piVar9 + 3;" (assignment_expression "piVar9 = piVar9 + 3" identifier = (binary_expression "piVar9 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar26 != iVar2 << 3)" ( (binary_expression "iVar26 != iVar2 << 3" identifier != (binary_expression "iVar2 << 3" identifier << number_literal)) )) ;) })) (expression_statement "pfStack_f50 = pfStack_f50 + iVar2;" (assignment_expression "pfStack_f50 = pfStack_f50 + iVar2" identifier = (binary_expression "pfStack_f50 + iVar2" identifier + identifier)) ;) (expression_statement "pdStack_f4c = (double *)((int)pdStack_f4c + 1);" (assignment_expression "pdStack_f4c = (double *)((int)pdStack_f4c + 1)" identifier = (cast_expression "(double *)((int)pdStack_f4c + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdStack_f4c + 1)" ( (binary_expression "(int)pdStack_f4c + 1" (cast_expression "(int)pdStack_f4c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iStack_f54 = iStack_f54 + iVar62;" (assignment_expression "iStack_f54 = iStack_f54 + iVar62" identifier = (binary_expression "iStack_f54 + iVar62" identifier + identifier)) ;) (expression_statement "pcVar49 = *(code **)(puVar45 + 0x336490);" (assignment_expression "pcVar49 = *(code **)(puVar45 + 0x336490)" identifier = (pointer_expression "*(code **)(puVar45 + 0x336490)" * (cast_expression "(code **)(puVar45 + 0x336490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x336490)" ( (binary_expression "puVar45 + 0x336490" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(pdVar20 != pdStack_f4c)" ( (binary_expression "pdVar20 != pdStack_f4c" identifier != identifier) )) ;) })) (expression_statement "(**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));" (call_expression "(**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4))" (parenthesized_expression "(**(code **)(puVar45 + 0x3364f0))" ( (pointer_expression "**(code **)(puVar45 + 0x3364f0)" * (pointer_expression "*(code **)(puVar45 + 0x3364f0)" * (cast_expression "(code **)(puVar45 + 0x3364f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x3364f0)" ( (binary_expression "puVar45 + 0x3364f0" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar45 + 0x3360c4))" ( (pointer_expression "*(undefined4 *)(puVar45 + 0x3360c4)" * (cast_expression "(undefined4 *)(puVar45 + 0x3360c4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar45 + 0x3360c4)" ( (binary_expression "puVar45 + 0x3360c4" identifier + number_literal) )))) ))) ;) (expression_statement "pdVar8 = adStack_f18;" (assignment_expression "pdVar8 = adStack_f18" identifier = identifier) ;) (expression_statement "pdVar32 = pdVar11;" (assignment_expression "pdVar32 = pdVar11" identifier = identifier) ;) (do_statement "do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);" do (compound_statement "{\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          }" { (expression_statement "pdVar29 = pdVar8 + 1;" (assignment_expression "pdVar29 = pdVar8 + 1" identifier = (binary_expression "pdVar8 + 1" identifier + number_literal)) ;) (expression_statement "*pdVar32 = *pdVar32 + *pdVar8;" (assignment_expression "*pdVar32 = *pdVar32 + *pdVar8" (pointer_expression "*pdVar32" * identifier) = (binary_expression "*pdVar32 + *pdVar8" (pointer_expression "*pdVar32" * identifier) + (pointer_expression "*pdVar8" * identifier))) ;) (expression_statement "pdVar8 = pdVar29;" (assignment_expression "pdVar8 = pdVar29" identifier = identifier) ;) (expression_statement "pdVar32 = pdVar32 + 1;" (assignment_expression "pdVar32 = pdVar32 + 1" identifier = (binary_expression "pdVar32 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(adStack_d10 != pdVar29)" ( (binary_expression "adStack_d10 != pdVar29" identifier != identifier) )) ;) (expression_statement "pdVar8 = *(double **)(puVar45 + 0x3360c4);" (assignment_expression "pdVar8 = *(double **)(puVar45 + 0x3360c4)" identifier = (pointer_expression "*(double **)(puVar45 + 0x3360c4)" * (cast_expression "(double **)(puVar45 + 0x3360c4)" ( (type_descriptor "double **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x3360c4)" ( (binary_expression "puVar45 + 0x3360c4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(puVar45 + 0x336168))();" (call_expression "(**(code **)(puVar45 + 0x336168))()" (parenthesized_expression "(**(code **)(puVar45 + 0x336168))" ( (pointer_expression "**(code **)(puVar45 + 0x336168)" * (pointer_expression "*(code **)(puVar45 + 0x336168)" * (cast_expression "(code **)(puVar45 + 0x336168)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x336168)" ( (binary_expression "puVar45 + 0x336168" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }))) })) (expression_statement "pdStack_f48 = (double *)((int)pdStack_f48 + 1);" (assignment_expression "pdStack_f48 = (double *)((int)pdStack_f48 + 1)" identifier = (cast_expression "(double *)((int)pdStack_f48 + 1)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdStack_f48 + 1)" ( (binary_expression "(int)pdStack_f48 + 1" (cast_expression "(int)pdStack_f48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(pdVar4 != pdStack_f48)" ( (binary_expression "pdVar4 != pdStack_f48" identifier != identifier) )) ;) })) (if_statement "if (iStack_2e4 == *piVar34) {\n    return;\n  }" if (parenthesized_expression "(iStack_2e4 == *piVar34)" ( (binary_expression "iStack_2e4 == *piVar34" identifier == (pointer_expression "*piVar34" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar49 = *(code **)(puVar45 + 0x335e20);" (assignment_expression "pcVar49 = *(code **)(puVar45 + 0x335e20)" identifier = (pointer_expression "*(code **)(puVar45 + 0x335e20)" * (cast_expression "(code **)(puVar45 + 0x335e20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar45 + 0x335e20)" ( (binary_expression "puVar45 + 0x335e20" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar49)();" (call_expression "(*pcVar49)()" (parenthesized_expression "(*pcVar49)" ( (pointer_expression "*pcVar49" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar3 = (**(code **)(pcVar49 + 0x336064))();" (assignment_expression "iVar3 = (**(code **)(pcVar49 + 0x336064))()" identifier = (call_expression "(**(code **)(pcVar49 + 0x336064))()" (parenthesized_expression "(**(code **)(pcVar49 + 0x336064))" ( (pointer_expression "**(code **)(pcVar49 + 0x336064)" * (pointer_expression "*(code **)(pcVar49 + 0x336064)" * (cast_expression "(code **)(pcVar49 + 0x336064)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar49 + 0x336064)" ( (binary_expression "pcVar49 + 0x336064" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar2 = (**(code **)(pcVar49 + 0x335c60))();" (assignment_expression "iVar2 = (**(code **)(pcVar49 + 0x335c60))()" identifier = (call_expression "(**(code **)(pcVar49 + 0x335c60))()" (parenthesized_expression "(**(code **)(pcVar49 + 0x335c60))" ( (pointer_expression "**(code **)(pcVar49 + 0x335c60)" * (pointer_expression "*(code **)(pcVar49 + 0x335c60)" * (cast_expression "(code **)(pcVar49 + 0x335c60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar49 + 0x335c60)" ( (binary_expression "pcVar49 + 0x335c60" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    trap(7);\n  }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "iVar62 = *(int *)((int)pdVar8 + 0x34) / iVar3;" (assignment_expression "iVar62 = *(int *)((int)pdVar8 + 0x34) / iVar3" identifier = (binary_expression "*(int *)((int)pdVar8 + 0x34) / iVar3" (pointer_expression "*(int *)((int)pdVar8 + 0x34)" * (cast_expression "(int *)((int)pdVar8 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar8 + 0x34)" ( (binary_expression "(int)pdVar8 + 0x34" (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) / identifier)) ;) (expression_statement "iVar3 = *(int *)((int)pdVar8 + 0x34) % iVar3;" (assignment_expression "iVar3 = *(int *)((int)pdVar8 + 0x34) % iVar3" identifier = (binary_expression "*(int *)((int)pdVar8 + 0x34) % iVar3" (pointer_expression "*(int *)((int)pdVar8 + 0x34)" * (cast_expression "(int *)((int)pdVar8 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar8 + 0x34)" ( (binary_expression "(int)pdVar8 + 0x34" (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) % identifier)) ;) (if_statement "if (iVar2 < iVar3) {\n    iVar62 = iVar62 + 1;\n    iVar3 = 0;\n  }" if (parenthesized_expression "(iVar2 < iVar3)" ( (binary_expression "iVar2 < iVar3" identifier < identifier) )) (compound_statement "{\n    iVar62 = iVar62 + 1;\n    iVar3 = 0;\n  }" { (expression_statement "iVar62 = iVar62 + 1;" (assignment_expression "iVar62 = iVar62 + 1" identifier = (binary_expression "iVar62 + 1" identifier + number_literal)) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) })) (expression_statement "iVar3 = iVar62 * iVar2 + iVar3;" (assignment_expression "iVar3 = iVar62 * iVar2 + iVar3" identifier = (binary_expression "iVar62 * iVar2 + iVar3" (binary_expression "iVar62 * iVar2" identifier * identifier) + identifier)) ;) (expression_statement "iVar62 = iVar62 + iVar3;" (assignment_expression "iVar62 = iVar62 + iVar3" identifier = (binary_expression "iVar62 + iVar3" identifier + identifier)) ;) (expression_statement "iVar2 = *(int *)(pcVar49 + 0x335038);" (assignment_expression "iVar2 = *(int *)(pcVar49 + 0x335038)" identifier = (pointer_expression "*(int *)(pcVar49 + 0x335038)" * (cast_expression "(int *)(pcVar49 + 0x335038)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar49 + 0x335038)" ( (binary_expression "pcVar49 + 0x335038" identifier + number_literal) ))))) ;) (if_statement "if (iVar3 < iVar62) {\n    iVar26 = *(int *)(pcVar49 + 0x335038);\n    iVar46 = *(int *)(pcVar49 + 0x335038);\n    uVar61 = (ulonglong)*(uint *)(iVar2 + 0x1a50);\n    uVar14 = *(undefined4 *)((int)pdVar8 + 0x1c);\n    dVar56 = *pdVar8;\n    iVar40 = *(int *)(pdVar8 + 4);\n    dVar57 = *(double *)(iVar26 + 0x1438);\n    iVar42 = *(int *)((int)pdVar8 + 0xc);\n    dVar60 = *(double *)(iVar46 + 0x1440);\n    iVar36 = *(int *)(pdVar8 + 1);\n    iVar13 = *(int *)(pdVar8 + 6);\n    uVar48 = *(undefined4 *)(pdVar8 + 2);\n    uVar15 = *(undefined4 *)(pdVar8 + 3);\n    uVar16 = *(undefined4 *)((int)pdVar8 + 0x14);\n    do {\n      if (*(int *)(pdVar8 + 7) != 0) {\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    } while (iVar62 != iVar3);\n  }" if (parenthesized_expression "(iVar3 < iVar62)" ( (binary_expression "iVar3 < iVar62" identifier < identifier) )) (compound_statement "{\n    iVar26 = *(int *)(pcVar49 + 0x335038);\n    iVar46 = *(int *)(pcVar49 + 0x335038);\n    uVar61 = (ulonglong)*(uint *)(iVar2 + 0x1a50);\n    uVar14 = *(undefined4 *)((int)pdVar8 + 0x1c);\n    dVar56 = *pdVar8;\n    iVar40 = *(int *)(pdVar8 + 4);\n    dVar57 = *(double *)(iVar26 + 0x1438);\n    iVar42 = *(int *)((int)pdVar8 + 0xc);\n    dVar60 = *(double *)(iVar46 + 0x1440);\n    iVar36 = *(int *)(pdVar8 + 1);\n    iVar13 = *(int *)(pdVar8 + 6);\n    uVar48 = *(undefined4 *)(pdVar8 + 2);\n    uVar15 = *(undefined4 *)(pdVar8 + 3);\n    uVar16 = *(undefined4 *)((int)pdVar8 + 0x14);\n    do {\n      if (*(int *)(pdVar8 + 7) != 0) {\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    } while (iVar62 != iVar3);\n  }" { (expression_statement "iVar26 = *(int *)(pcVar49 + 0x335038);" (assignment_expression "iVar26 = *(int *)(pcVar49 + 0x335038)" identifier = (pointer_expression "*(int *)(pcVar49 + 0x335038)" * (cast_expression "(int *)(pcVar49 + 0x335038)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar49 + 0x335038)" ( (binary_expression "pcVar49 + 0x335038" identifier + number_literal) ))))) ;) (expression_statement "iVar46 = *(int *)(pcVar49 + 0x335038);" (assignment_expression "iVar46 = *(int *)(pcVar49 + 0x335038)" identifier = (pointer_expression "*(int *)(pcVar49 + 0x335038)" * (cast_expression "(int *)(pcVar49 + 0x335038)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar49 + 0x335038)" ( (binary_expression "pcVar49 + 0x335038" identifier + number_literal) ))))) ;) (expression_statement "uVar61 = (ulonglong)*(uint *)(iVar2 + 0x1a50);" (assignment_expression "uVar61 = (ulonglong)*(uint *)(iVar2 + 0x1a50)" identifier = (binary_expression "(ulonglong)*(uint *)(iVar2 + 0x1a50)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(iVar2 + 0x1a50)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1a50)" ( (binary_expression "iVar2 + 0x1a50" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = *(undefined4 *)((int)pdVar8 + 0x1c);" (assignment_expression "uVar14 = *(undefined4 *)((int)pdVar8 + 0x1c)" identifier = (pointer_expression "*(undefined4 *)((int)pdVar8 + 0x1c)" * (cast_expression "(undefined4 *)((int)pdVar8 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar8 + 0x1c)" ( (binary_expression "(int)pdVar8 + 0x1c" (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "dVar56 = *pdVar8;" (assignment_expression "dVar56 = *pdVar8" identifier = (pointer_expression "*pdVar8" * identifier)) ;) (expression_statement "iVar40 = *(int *)(pdVar8 + 4);" (assignment_expression "iVar40 = *(int *)(pdVar8 + 4)" identifier = (pointer_expression "*(int *)(pdVar8 + 4)" * (cast_expression "(int *)(pdVar8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar8 + 4)" ( (binary_expression "pdVar8 + 4" identifier + number_literal) ))))) ;) (expression_statement "dVar57 = *(double *)(iVar26 + 0x1438);" (assignment_expression "dVar57 = *(double *)(iVar26 + 0x1438)" identifier = (pointer_expression "*(double *)(iVar26 + 0x1438)" * (cast_expression "(double *)(iVar26 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x1438)" ( (binary_expression "iVar26 + 0x1438" identifier + number_literal) ))))) ;) (expression_statement "iVar42 = *(int *)((int)pdVar8 + 0xc);" (assignment_expression "iVar42 = *(int *)((int)pdVar8 + 0xc)" identifier = (pointer_expression "*(int *)((int)pdVar8 + 0xc)" * (cast_expression "(int *)((int)pdVar8 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar8 + 0xc)" ( (binary_expression "(int)pdVar8 + 0xc" (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "dVar60 = *(double *)(iVar46 + 0x1440);" (assignment_expression "dVar60 = *(double *)(iVar46 + 0x1440)" identifier = (pointer_expression "*(double *)(iVar46 + 0x1440)" * (cast_expression "(double *)(iVar46 + 0x1440)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar46 + 0x1440)" ( (binary_expression "iVar46 + 0x1440" identifier + number_literal) ))))) ;) (expression_statement "iVar36 = *(int *)(pdVar8 + 1);" (assignment_expression "iVar36 = *(int *)(pdVar8 + 1)" identifier = (pointer_expression "*(int *)(pdVar8 + 1)" * (cast_expression "(int *)(pdVar8 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar8 + 1)" ( (binary_expression "pdVar8 + 1" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)(pdVar8 + 6);" (assignment_expression "iVar13 = *(int *)(pdVar8 + 6)" identifier = (pointer_expression "*(int *)(pdVar8 + 6)" * (cast_expression "(int *)(pdVar8 + 6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar8 + 6)" ( (binary_expression "pdVar8 + 6" identifier + number_literal) ))))) ;) (expression_statement "uVar48 = *(undefined4 *)(pdVar8 + 2);" (assignment_expression "uVar48 = *(undefined4 *)(pdVar8 + 2)" identifier = (pointer_expression "*(undefined4 *)(pdVar8 + 2)" * (cast_expression "(undefined4 *)(pdVar8 + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar8 + 2)" ( (binary_expression "pdVar8 + 2" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = *(undefined4 *)(pdVar8 + 3);" (assignment_expression "uVar15 = *(undefined4 *)(pdVar8 + 3)" identifier = (pointer_expression "*(undefined4 *)(pdVar8 + 3)" * (cast_expression "(undefined4 *)(pdVar8 + 3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar8 + 3)" ( (binary_expression "pdVar8 + 3" identifier + number_literal) ))))) ;) (expression_statement "uVar16 = *(undefined4 *)((int)pdVar8 + 0x14);" (assignment_expression "uVar16 = *(undefined4 *)((int)pdVar8 + 0x14)" identifier = (pointer_expression "*(undefined4 *)((int)pdVar8 + 0x14)" * (cast_expression "(undefined4 *)((int)pdVar8 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar8 + 0x14)" ( (binary_expression "(int)pdVar8 + 0x14" (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (do_statement "do {\n      if (*(int *)(pdVar8 + 7) != 0) {\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    } while (iVar62 != iVar3);" do (compound_statement "{\n      if (*(int *)(pdVar8 + 7) != 0) {\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    }" { (if_statement "if (*(int *)(pdVar8 + 7) != 0) {\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }" if (parenthesized_expression "(*(int *)(pdVar8 + 7) != 0)" ( (binary_expression "*(int *)(pdVar8 + 7) != 0" (pointer_expression "*(int *)(pdVar8 + 7)" * (cast_expression "(int *)(pdVar8 + 7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar8 + 7)" ( (binary_expression "pdVar8 + 7" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }" { (expression_statement "iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);" (assignment_expression "iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48)" identifier = (call_expression "(**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48)" (parenthesized_expression "(**(code **)(pcVar49 + 0x335db4))" ( (pointer_expression "**(code **)(pcVar49 + 0x335db4)" * (pointer_expression "*(code **)(pcVar49 + 0x335db4)" * (cast_expression "(code **)(pcVar49 + 0x335db4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar49 + 0x335db4)" ( (binary_expression "pcVar49 + 0x335db4" identifier + number_literal) ))))) )) (argument_list "(uVar15,0,iVar3,iVar13,1,uVar48)" ( identifier , number_literal , identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);" (assignment_expression "iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48)" identifier = (call_expression "(**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48)" (parenthesized_expression "(**(code **)(pcVar49 + 0x335db4))" ( (pointer_expression "**(code **)(pcVar49 + 0x335db4)" * (pointer_expression "*(code **)(pcVar49 + 0x335db4)" * (cast_expression "(code **)(pcVar49 + 0x335db4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar49 + 0x335db4)" ( (binary_expression "pcVar49 + 0x335db4" identifier + number_literal) ))))) )) (argument_list "(uVar14,0,iVar3,iVar13,1,uVar48)" ( identifier , number_literal , identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);" (assignment_expression "iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48)" identifier = (call_expression "(**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48)" (parenthesized_expression "(**(code **)(pcVar49 + 0x3353a8))" ( (pointer_expression "**(code **)(pcVar49 + 0x3353a8)" * (pointer_expression "*(code **)(pcVar49 + 0x3353a8)" * (cast_expression "(code **)(pcVar49 + 0x3353a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar49 + 0x3353a8)" ( (binary_expression "pcVar49 + 0x3353a8" identifier + number_literal) ))))) )) (argument_list "(uVar16,0,iVar3,iVar13,1,uVar48)" ( identifier , number_literal , identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }" if (parenthesized_expression "(((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0))" ( (binary_expression "((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)" (parenthesized_expression "((iVar23 != 0) && (iVar17 != 0))" ( (binary_expression "(iVar23 != 0) && (iVar17 != 0)" (parenthesized_expression "(iVar23 != 0)" ( (binary_expression "iVar23 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) ))) )) && (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) ))) )) (compound_statement "{\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }" { (if_statement "if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }" if (parenthesized_expression "(0 < iVar13)" ( (binary_expression "0 < iVar13" number_literal < identifier) )) (compound_statement "{\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }" { (expression_statement "iVar37 = 0;" (assignment_expression "iVar37 = 0" identifier = number_literal) ;) (expression_statement "piVar34 = *(int **)(iVar36 + 0x2d0);" (assignment_expression "piVar34 = *(int **)(iVar36 + 0x2d0)" identifier = (pointer_expression "*(int **)(iVar36 + 0x2d0)" * (cast_expression "(int **)(iVar36 + 0x2d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar36 + 0x2d0)" ( (binary_expression "iVar36 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "iVar39 = *(int *)((int)pdVar8 + 0x2c);" (assignment_expression "iVar39 = *(int *)((int)pdVar8 + 0x2c)" identifier = (pointer_expression "*(int *)((int)pdVar8 + 0x2c)" * (cast_expression "(int *)((int)pdVar8 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar8 + 0x2c)" ( (binary_expression "(int)pdVar8 + 0x2c" (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "fVar6 = *(float *)(iVar2 + 0x1a50);" (assignment_expression "fVar6 = *(float *)(iVar2 + 0x1a50)" identifier = (pointer_expression "*(float *)(iVar2 + 0x1a50)" * (cast_expression "(float *)(iVar2 + 0x1a50)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1a50)" ( (binary_expression "iVar2 + 0x1a50" identifier + number_literal) ))))) ;) (expression_statement "iVar44 = piVar34[0x13];" (assignment_expression "iVar44 = piVar34[0x13]" identifier = (subscript_expression "piVar34[0x13]" identifier [ number_literal ])) ;) (expression_statement "iVar47 = *(int *)((int)pdVar8 + 0x24);" (assignment_expression "iVar47 = *(int *)((int)pdVar8 + 0x24)" identifier = (pointer_expression "*(int *)((int)pdVar8 + 0x24)" * (cast_expression "(int *)((int)pdVar8 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdVar8 + 0x24)" ( (binary_expression "(int)pdVar8 + 0x24" (cast_expression "(int)pdVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);" (assignment_expression "fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708)" identifier = (pointer_expression "*(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708)" * (cast_expression "(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar49 + 0x335038) + 0x3708)" ( (binary_expression "*(int *)(pcVar49 + 0x335038) + 0x3708" (pointer_expression "*(int *)(pcVar49 + 0x335038)" * (cast_expression "(int *)(pcVar49 + 0x335038)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar49 + 0x335038)" ( (binary_expression "pcVar49 + 0x335038" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar41 = *(int *)(pdVar8 + 5);" (assignment_expression "iVar41 = *(int *)(pdVar8 + 5)" identifier = (pointer_expression "*(int *)(pdVar8 + 5)" * (cast_expression "(int *)(pdVar8 + 5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar8 + 5)" ( (binary_expression "pdVar8 + 5" identifier + number_literal) ))))) ;) (expression_statement "dVar53 = *(double *)(iVar26 + 0x1438);" (assignment_expression "dVar53 = *(double *)(iVar26 + 0x1438)" identifier = (pointer_expression "*(double *)(iVar26 + 0x1438)" * (cast_expression "(double *)(iVar26 + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x1438)" ( (binary_expression "iVar26 + 0x1438" identifier + number_literal) ))))) ;) (expression_statement "dVar55 = *(double *)(iVar46 + 0x1440);" (assignment_expression "dVar55 = *(double *)(iVar46 + 0x1440)" identifier = (pointer_expression "*(double *)(iVar46 + 0x1440)" * (cast_expression "(double *)(iVar46 + 0x1440)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar46 + 0x1440)" ( (binary_expression "iVar46 + 0x1440" identifier + number_literal) ))))) ;) (do_statement "do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);" do (compound_statement "{\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            }" { (while_statement "while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }" while (parenthesized_expression "(((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5)))))" ( (parenthesized_expression "((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))" ( (binary_expression "(iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5)))" (parenthesized_expression "(iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5))" ( (binary_expression "iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)" (binary_expression "iVar44 != 0" identifier != number_literal) && (parenthesized_expression "(*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)" ( (binary_expression "*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5" (pointer_expression "*(float *)(iVar23 + piVar34[0x14] * 4)" * (cast_expression "(float *)(iVar23 + piVar34[0x14] * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + piVar34[0x14] * 4)" ( (binary_expression "iVar23 + piVar34[0x14] * 4" identifier + (binary_expression "piVar34[0x14] * 4" (subscript_expression "piVar34[0x14]" identifier [ number_literal ]) * number_literal)) )))) <= identifier) ))) )) || (parenthesized_expression "((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5)))" ( (parenthesized_expression "(iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))" ( (comma_expression "iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5)" (assignment_expression "iVar19 = *(int *)(iVar42 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar42 + 0x2d0)" * (cast_expression "(int *)(iVar42 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar42 + 0x2d0)" ( (binary_expression "iVar42 + 0x2d0" identifier + number_literal) ))))) , (binary_expression "*(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5)" (binary_expression "*(int *)(iVar19 + 0x4c) != 0" (pointer_expression "*(int *)(iVar19 + 0x4c)" * (cast_expression "(int *)(iVar19 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x4c)" ( (binary_expression "iVar19 + 0x4c" identifier + number_literal) )))) != number_literal) && (parenthesized_expression "(*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5)" ( (binary_expression "*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5" (pointer_expression "*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4)" * (cast_expression "(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + *(int *)(iVar19 + 0x50) * 4)" ( (binary_expression "iVar17 + *(int *)(iVar19 + 0x50) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x50) * 4" (pointer_expression "*(int *)(iVar19 + 0x50)" * (cast_expression "(int *)(iVar19 + 0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x50)" ( (binary_expression "iVar19 + 0x50" identifier + number_literal) )))) * number_literal)) )))) <= identifier) )))) )) ))) )) )) (compound_statement "{\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }" { (expression_statement "iVar19 = *(int *)(iVar40 + 0x2d0);" (assignment_expression "iVar19 = *(int *)(iVar40 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar40 + 0x2d0)" * (cast_expression "(int *)(iVar40 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 0x2d0)" ( (binary_expression "iVar40 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "dVar59 = *(double *)(iVar39 + 0x30);" (assignment_expression "dVar59 = *(double *)(iVar39 + 0x30)" identifier = (pointer_expression "*(double *)(iVar39 + 0x30)" * (cast_expression "(double *)(iVar39 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0x30)" ( (binary_expression "iVar39 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "dVar58 = *(double *)(iVar39 + 0x38);" (assignment_expression "dVar58 = *(double *)(iVar39 + 0x38)" identifier = (pointer_expression "*(double *)(iVar39 + 0x38)" * (cast_expression "(double *)(iVar39 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0x38)" ( (binary_expression "iVar39 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar24 = *(int *)(iVar19 + 0x14);" (assignment_expression "iVar24 = *(int *)(iVar19 + 0x14)" identifier = (pointer_expression "*(int *)(iVar19 + 0x14)" * (cast_expression "(int *)(iVar19 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x14)" ( (binary_expression "iVar19 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = *(int *)(iVar19 + 0x20);" (assignment_expression "iVar22 = *(int *)(iVar19 + 0x20)" identifier = (pointer_expression "*(int *)(iVar19 + 0x20)" * (cast_expression "(int *)(iVar19 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x20)" ( (binary_expression "iVar19 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar30 = *(int *)(iVar19 + 0x28);" (assignment_expression "iVar30 = *(int *)(iVar19 + 0x28)" identifier = (pointer_expression "*(int *)(iVar19 + 0x28)" * (cast_expression "(int *)(iVar19 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x28)" ( (binary_expression "iVar19 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);" (assignment_expression "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28)" (pointer_expression "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4)" * (cast_expression "(float *)(iVar18 + *(int *)(iVar19 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + *(int *)(iVar19 + 8) * 4)" ( (binary_expression "iVar18 + *(int *)(iVar19 + 8) * 4" identifier + (binary_expression "*(int *)(iVar19 + 8) * 4" (pointer_expression "*(int *)(iVar19 + 8)" * (cast_expression "(int *)(iVar19 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(iVar39 + 0x28)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar39 + 0x28)" * (cast_expression "(double *)(iVar39 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0x28)" ( (binary_expression "iVar39 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "*(float *)(iVar18 + iVar24 * 4) = (float)dVar59;" (assignment_expression "*(float *)(iVar18 + iVar24 * 4) = (float)dVar59" (pointer_expression "*(float *)(iVar18 + iVar24 * 4)" * (cast_expression "(float *)(iVar18 + iVar24 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + iVar24 * 4)" ( (binary_expression "iVar18 + iVar24 * 4" identifier + (binary_expression "iVar24 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dVar59" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*(float *)(iVar18 + iVar22 * 4) = (float)dVar58;" (assignment_expression "*(float *)(iVar18 + iVar22 * 4) = (float)dVar58" (pointer_expression "*(float *)(iVar18 + iVar22 * 4)" * (cast_expression "(float *)(iVar18 + iVar22 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + iVar22 * 4)" ( (binary_expression "iVar18 + iVar22 * 4" identifier + (binary_expression "iVar22 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dVar58" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (if_statement "if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }" if (parenthesized_expression "(iVar30 != 0)" ( (binary_expression "iVar30 != 0" identifier != number_literal) )) (compound_statement "{\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }" { (expression_statement "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);" (assignment_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40)" (pointer_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" * (cast_expression "(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" ( (binary_expression "iVar18 + *(int *)(iVar19 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x2c) * 4" (pointer_expression "*(int *)(iVar19 + 0x2c)" * (cast_expression "(int *)(iVar19 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x2c)" ( (binary_expression "iVar19 + 0x2c" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(iVar39 + 0x40)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar39 + 0x40)" * (cast_expression "(double *)(iVar39 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0x40)" ( (binary_expression "iVar39 + 0x40" identifier + number_literal) )))))) ;) })) (if_statement "if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }" if (parenthesized_expression "(*(int *)(iVar19 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x34) != 0" (pointer_expression "*(int *)(iVar19 + 0x34)" * (cast_expression "(int *)(iVar19 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x34)" ( (binary_expression "iVar19 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }" { (expression_statement "fVar38 = fVar6;" (assignment_expression "fVar38 = fVar6" identifier = identifier) ;) (if_statement "if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }" if (parenthesized_expression "(*(int *)(iVar39 + 8) != 0)" ( (binary_expression "*(int *)(iVar39 + 8) != 0" (pointer_expression "*(int *)(iVar39 + 8)" * (cast_expression "(int *)(iVar39 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 8)" ( (binary_expression "iVar39 + 8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }" { (expression_statement "fVar38 = (float)*(double *)(iVar39 + 0x48);" (assignment_expression "fVar38 = (float)*(double *)(iVar39 + 0x48)" identifier = (cast_expression "(float)*(double *)(iVar39 + 0x48)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar39 + 0x48)" * (cast_expression "(double *)(iVar39 + 0x48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar39 + 0x48)" ( (binary_expression "iVar39 + 0x48" identifier + number_literal) )))))) ;) })) (expression_statement "*(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;" (assignment_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38" (pointer_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4)" * (cast_expression "(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + *(int *)(iVar19 + 0x38) * 4)" ( (binary_expression "iVar18 + *(int *)(iVar19 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x38) * 4" (pointer_expression "*(int *)(iVar19 + 0x38)" * (cast_expression "(int *)(iVar19 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x38)" ( (binary_expression "iVar19 + 0x38" identifier + number_literal) )))) * number_literal)) )))) = identifier) ;) })) (expression_statement "iVar37 = iVar37 + 1;" (assignment_expression "iVar37 = iVar37 + 1" identifier = (binary_expression "iVar37 + 1" identifier + number_literal)) ;) (expression_statement "iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;" (assignment_expression "iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4" identifier = (binary_expression "iVar23 + *(int *)(iVar36 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar36 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar36 + 0x2c0)" * (cast_expression "(int *)(iVar36 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar36 + 0x2c0)" ( (binary_expression "iVar36 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;" (assignment_expression "iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4" identifier = (binary_expression "iVar17 + *(int *)(iVar42 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar42 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar42 + 0x2c0)" * (cast_expression "(int *)(iVar42 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar42 + 0x2c0)" ( (binary_expression "iVar42 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;" (assignment_expression "iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4" identifier = (binary_expression "iVar18 + *(int *)(iVar40 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar40 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar40 + 0x2c0)" * (cast_expression "(int *)(iVar40 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 0x2c0)" ( (binary_expression "iVar40 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (if_statement "if (iVar37 == iVar13) goto LAB_00073d60;" if (parenthesized_expression "(iVar37 == iVar13)" ( (binary_expression "iVar37 == iVar13" identifier == identifier) )) (goto_statement "goto LAB_00073d60;" goto statement_identifier ;)) })) (expression_statement "dVar58 = dVar53;" (assignment_expression "dVar58 = dVar53" identifier = identifier) ;) (if_statement "if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }" if (parenthesized_expression "(piVar34[0xd] != 0)" ( (binary_expression "piVar34[0xd] != 0" (subscript_expression "piVar34[0xd]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }" { (expression_statement "dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;" (assignment_expression "dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55" identifier = (binary_expression "(double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55" (cast_expression "(double)*(float *)(iVar23 + piVar34[0xe] * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar23 + piVar34[0xe] * 4)" * (cast_expression "(float *)(iVar23 + piVar34[0xe] * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + piVar34[0xe] * 4)" ( (binary_expression "iVar23 + piVar34[0xe] * 4" identifier + (binary_expression "piVar34[0xe] * 4" (subscript_expression "piVar34[0xe]" identifier [ number_literal ]) * number_literal)) ))))) * identifier)) ;) })) (expression_statement "dVar59 = dVar57;" (assignment_expression "dVar59 = dVar57" identifier = identifier) ;) (if_statement "if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }" if (parenthesized_expression "(*(int *)(iVar19 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x34) != 0" (pointer_expression "*(int *)(iVar19 + 0x34)" * (cast_expression "(int *)(iVar19 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x34)" ( (binary_expression "iVar19 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }" { (expression_statement "dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;" (assignment_expression "dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60" identifier = (binary_expression "(double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60" (cast_expression "(double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4)" * (cast_expression "(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + *(int *)(iVar19 + 0x38) * 4)" ( (binary_expression "iVar17 + *(int *)(iVar19 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x38) * 4" (pointer_expression "*(int *)(iVar19 + 0x38)" * (cast_expression "(int *)(iVar19 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x38)" ( (binary_expression "iVar19 + 0x38" identifier + number_literal) )))) * number_literal)) ))))) * identifier)) ;) })) (expression_statement "iVar24 = *(int *)(iVar36 + 0x2c0);" (assignment_expression "iVar24 = *(int *)(iVar36 + 0x2c0)" identifier = (pointer_expression "*(int *)(iVar36 + 0x2c0)" * (cast_expression "(int *)(iVar36 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar36 + 0x2c0)" ( (binary_expression "iVar36 + 0x2c0" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" identifier = number_literal) ;) (expression_statement "piVar9 = piVar34;" (assignment_expression "piVar9 = piVar34" identifier = identifier) ;) (if_statement "if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }" if (parenthesized_expression "(0 < iVar24)" ( (binary_expression "0 < iVar24" number_literal < identifier) )) (compound_statement "{\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }" { (do_statement "do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);" do (compound_statement "{\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                }" { (expression_statement "iVar25 = *piVar9;" (assignment_expression "iVar25 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "iVar30 = iVar19 + iVar25 * 0xc;" (assignment_expression "iVar30 = iVar19 + iVar25 * 0xc" identifier = (binary_expression "iVar19 + iVar25 * 0xc" identifier + (binary_expression "iVar25 * 0xc" identifier * number_literal))) ;) (if_statement "if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }" if (parenthesized_expression "(((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0))" ( (binary_expression "((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)" (parenthesized_expression "((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0))" ( (binary_expression "(piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)" (parenthesized_expression "(piVar34[iVar25 * 3 + 1] != 0)" ( (binary_expression "piVar34[iVar25 * 3 + 1] != 0" (subscript_expression "piVar34[iVar25 * 3 + 1]" identifier [ (binary_expression "iVar25 * 3 + 1" (binary_expression "iVar25 * 3" identifier * number_literal) + number_literal) ]) != number_literal) )) && (parenthesized_expression "(uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)" ( (comma_expression "uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0" (assignment_expression "uVar28 = *(uint *)(iVar30 + 4)" identifier = (pointer_expression "*(uint *)(iVar30 + 4)" * (cast_expression "(uint *)(iVar30 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + 4)" ( (binary_expression "iVar30 + 4" identifier + number_literal) ))))) , (binary_expression "uVar28 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "((uVar28 & 2) != 0)" ( (binary_expression "(uVar28 & 2) != 0" (parenthesized_expression "(uVar28 & 2)" ( (binary_expression "uVar28 & 2" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }" { (expression_statement "dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);" (assignment_expression "dVar52 = (double)*(float *)(iVar23 + iVar22 * 4)" identifier = (cast_expression "(double)*(float *)(iVar23 + iVar22 * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar23 + iVar22 * 4)" * (cast_expression "(float *)(iVar23 + iVar22 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + iVar22 * 4)" ( (binary_expression "iVar23 + iVar22 * 4" identifier + (binary_expression "iVar22 * 4" identifier * number_literal)) )))))) ;) (expression_statement "dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);" (assignment_expression "dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4)" identifier = (cast_expression "(double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4)" * (cast_expression "(float *)(iVar17 + *(int *)(iVar30 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + *(int *)(iVar30 + 8) * 4)" ( (binary_expression "iVar17 + *(int *)(iVar30 + 8) * 4" identifier + (binary_expression "*(int *)(iVar30 + 8) * 4" (pointer_expression "*(int *)(iVar30 + 8)" * (cast_expression "(int *)(iVar30 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + 8)" ( (binary_expression "iVar30 + 8" identifier + number_literal) )))) * number_literal)) )))))) ;) (if_statement "if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }" if (parenthesized_expression "(iVar25 == 4)" ( (binary_expression "iVar25 == 4" identifier == number_literal) )) (compound_statement "{\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }" { (expression_statement "dVar52 = dVar52 - dVar51;" (assignment_expression "dVar52 = dVar52 - dVar51" identifier = (binary_expression "dVar52 - dVar51" identifier - identifier)) ;) (expression_statement "dVar52 = dVar52 * dVar52;" (assignment_expression "dVar52 = dVar52 * dVar52" identifier = (binary_expression "dVar52 * dVar52" identifier * identifier)) ;) }) (else_clause "else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }" else (compound_statement "{\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }" { (expression_statement "dVar52 = dVar58 * dVar52 - dVar59 * dVar51;" (assignment_expression "dVar52 = dVar58 * dVar52 - dVar59 * dVar51" identifier = (binary_expression "dVar58 * dVar52 - dVar59 * dVar51" (binary_expression "dVar58 * dVar52" identifier * identifier) - (binary_expression "dVar59 * dVar51" identifier * identifier))) ;) (expression_statement "dVar52 = dVar52 * dVar52;" (assignment_expression "dVar52 = dVar52 * dVar52" identifier = (binary_expression "dVar52 * dVar52" identifier * identifier)) ;) }))) (if_statement "if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }" if (parenthesized_expression "(dVar56 <= dVar52)" ( (binary_expression "dVar56 <= dVar52" identifier <= identifier) )) (compound_statement "{\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }" { (expression_statement "iVar19 = *(int *)(iVar40 + 0x2d0);" (assignment_expression "iVar19 = *(int *)(iVar40 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar40 + 0x2d0)" * (cast_expression "(int *)(iVar40 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 0x2d0)" ( (binary_expression "iVar40 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "dVar59 = *(double *)(iVar47 + 0x30);" (assignment_expression "dVar59 = *(double *)(iVar47 + 0x30)" identifier = (pointer_expression "*(double *)(iVar47 + 0x30)" * (cast_expression "(double *)(iVar47 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar47 + 0x30)" ( (binary_expression "iVar47 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "dVar58 = *(double *)(iVar47 + 0x38);" (assignment_expression "dVar58 = *(double *)(iVar47 + 0x38)" identifier = (pointer_expression "*(double *)(iVar47 + 0x38)" * (cast_expression "(double *)(iVar47 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar47 + 0x38)" ( (binary_expression "iVar47 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar30 = *(int *)(iVar19 + 0x14);" (assignment_expression "iVar30 = *(int *)(iVar19 + 0x14)" identifier = (pointer_expression "*(int *)(iVar19 + 0x14)" * (cast_expression "(int *)(iVar19 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x14)" ( (binary_expression "iVar19 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = *(int *)(iVar19 + 0x20);" (assignment_expression "iVar22 = *(int *)(iVar19 + 0x20)" identifier = (pointer_expression "*(int *)(iVar19 + 0x20)" * (cast_expression "(int *)(iVar19 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x20)" ( (binary_expression "iVar19 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar25 = *(int *)(iVar19 + 0x28);" (assignment_expression "iVar25 = *(int *)(iVar19 + 0x28)" identifier = (pointer_expression "*(int *)(iVar19 + 0x28)" * (cast_expression "(int *)(iVar19 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x28)" ( (binary_expression "iVar19 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);" (assignment_expression "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28)" (pointer_expression "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4)" * (cast_expression "(float *)(iVar18 + *(int *)(iVar19 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + *(int *)(iVar19 + 8) * 4)" ( (binary_expression "iVar18 + *(int *)(iVar19 + 8) * 4" identifier + (binary_expression "*(int *)(iVar19 + 8) * 4" (pointer_expression "*(int *)(iVar19 + 8)" * (cast_expression "(int *)(iVar19 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(iVar47 + 0x28)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar47 + 0x28)" * (cast_expression "(double *)(iVar47 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar47 + 0x28)" ( (binary_expression "iVar47 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "*(float *)(iVar18 + iVar30 * 4) = (float)dVar59;" (assignment_expression "*(float *)(iVar18 + iVar30 * 4) = (float)dVar59" (pointer_expression "*(float *)(iVar18 + iVar30 * 4)" * (cast_expression "(float *)(iVar18 + iVar30 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + iVar30 * 4)" ( (binary_expression "iVar18 + iVar30 * 4" identifier + (binary_expression "iVar30 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dVar59" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*(float *)(iVar18 + iVar22 * 4) = (float)dVar58;" (assignment_expression "*(float *)(iVar18 + iVar22 * 4) = (float)dVar58" (pointer_expression "*(float *)(iVar18 + iVar22 * 4)" * (cast_expression "(float *)(iVar18 + iVar22 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + iVar22 * 4)" ( (binary_expression "iVar18 + iVar22 * 4" identifier + (binary_expression "iVar22 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dVar58" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (if_statement "if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }" if (parenthesized_expression "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) )) (compound_statement "{\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }" { (expression_statement "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);" (assignment_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40)" (pointer_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" * (cast_expression "(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" ( (binary_expression "iVar18 + *(int *)(iVar19 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x2c) * 4" (pointer_expression "*(int *)(iVar19 + 0x2c)" * (cast_expression "(int *)(iVar19 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x2c)" ( (binary_expression "iVar19 + 0x2c" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(iVar47 + 0x40)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar47 + 0x40)" * (cast_expression "(double *)(iVar47 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar47 + 0x40)" ( (binary_expression "iVar47 + 0x40" identifier + number_literal) )))))) ;) })) (if_statement "if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;" if (parenthesized_expression "(*(int *)(iVar19 + 0x34) == 0)" ( (binary_expression "*(int *)(iVar19 + 0x34) == 0" (pointer_expression "*(int *)(iVar19 + 0x34)" * (cast_expression "(int *)(iVar19 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x34)" ( (binary_expression "iVar19 + 0x34" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_00073d38;" goto statement_identifier ;)) (expression_statement "fVar38 = fVar6;" (assignment_expression "fVar38 = fVar6" identifier = identifier) ;) (if_statement "if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }" if (parenthesized_expression "(*(int *)(iVar47 + 8) != 0)" ( (binary_expression "*(int *)(iVar47 + 8) != 0" (pointer_expression "*(int *)(iVar47 + 8)" * (cast_expression "(int *)(iVar47 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar47 + 8)" ( (binary_expression "iVar47 + 8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }" { (expression_statement "fVar38 = (float)*(double *)(iVar47 + 0x48);" (assignment_expression "fVar38 = (float)*(double *)(iVar47 + 0x48)" identifier = (cast_expression "(float)*(double *)(iVar47 + 0x48)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar47 + 0x48)" * (cast_expression "(double *)(iVar47 + 0x48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar47 + 0x48)" ( (binary_expression "iVar47 + 0x48" identifier + number_literal) )))))) ;) })) (goto_statement "goto LAB_00073d28;" goto statement_identifier ;) })) })) (expression_statement "iVar22 = iVar22 + 1;" (assignment_expression "iVar22 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (expression_statement "piVar9 = piVar9 + 3;" (assignment_expression "piVar9 = piVar9 + 3" identifier = (binary_expression "piVar9 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar24 != iVar22)" ( (binary_expression "iVar24 != iVar22" identifier != identifier) )) ;) })) (expression_statement "iVar19 = *(int *)(iVar40 + 0x2d0);" (assignment_expression "iVar19 = *(int *)(iVar40 + 0x2d0)" identifier = (pointer_expression "*(int *)(iVar40 + 0x2d0)" * (cast_expression "(int *)(iVar40 + 0x2d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 0x2d0)" ( (binary_expression "iVar40 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "dVar59 = *(double *)(iVar41 + 0x30);" (assignment_expression "dVar59 = *(double *)(iVar41 + 0x30)" identifier = (pointer_expression "*(double *)(iVar41 + 0x30)" * (cast_expression "(double *)(iVar41 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + 0x30)" ( (binary_expression "iVar41 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "dVar58 = *(double *)(iVar41 + 0x38);" (assignment_expression "dVar58 = *(double *)(iVar41 + 0x38)" identifier = (pointer_expression "*(double *)(iVar41 + 0x38)" * (cast_expression "(double *)(iVar41 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + 0x38)" ( (binary_expression "iVar41 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar30 = *(int *)(iVar19 + 0x14);" (assignment_expression "iVar30 = *(int *)(iVar19 + 0x14)" identifier = (pointer_expression "*(int *)(iVar19 + 0x14)" * (cast_expression "(int *)(iVar19 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x14)" ( (binary_expression "iVar19 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = *(int *)(iVar19 + 0x20);" (assignment_expression "iVar22 = *(int *)(iVar19 + 0x20)" identifier = (pointer_expression "*(int *)(iVar19 + 0x20)" * (cast_expression "(int *)(iVar19 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x20)" ( (binary_expression "iVar19 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar25 = *(int *)(iVar19 + 0x28);" (assignment_expression "iVar25 = *(int *)(iVar19 + 0x28)" identifier = (pointer_expression "*(int *)(iVar19 + 0x28)" * (cast_expression "(int *)(iVar19 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x28)" ( (binary_expression "iVar19 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);" (assignment_expression "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28)" (pointer_expression "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4)" * (cast_expression "(float *)(iVar18 + *(int *)(iVar19 + 8) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + *(int *)(iVar19 + 8) * 4)" ( (binary_expression "iVar18 + *(int *)(iVar19 + 8) * 4" identifier + (binary_expression "*(int *)(iVar19 + 8) * 4" (pointer_expression "*(int *)(iVar19 + 8)" * (cast_expression "(int *)(iVar19 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(iVar41 + 0x28)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar41 + 0x28)" * (cast_expression "(double *)(iVar41 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + 0x28)" ( (binary_expression "iVar41 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "*(float *)(iVar18 + iVar30 * 4) = (float)dVar59;" (assignment_expression "*(float *)(iVar18 + iVar30 * 4) = (float)dVar59" (pointer_expression "*(float *)(iVar18 + iVar30 * 4)" * (cast_expression "(float *)(iVar18 + iVar30 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + iVar30 * 4)" ( (binary_expression "iVar18 + iVar30 * 4" identifier + (binary_expression "iVar30 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dVar59" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*(float *)(iVar18 + iVar22 * 4) = (float)dVar58;" (assignment_expression "*(float *)(iVar18 + iVar22 * 4) = (float)dVar58" (pointer_expression "*(float *)(iVar18 + iVar22 * 4)" * (cast_expression "(float *)(iVar18 + iVar22 * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + iVar22 * 4)" ( (binary_expression "iVar18 + iVar22 * 4" identifier + (binary_expression "iVar22 * 4" identifier * number_literal)) )))) = (cast_expression "(float)dVar58" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (if_statement "if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }" if (parenthesized_expression "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) )) (compound_statement "{\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }" { (expression_statement "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;" (assignment_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)" (pointer_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" * (cast_expression "(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" ( (binary_expression "iVar18 + *(int *)(iVar19 + 0x2c) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x2c) * 4" (pointer_expression "*(int *)(iVar19 + 0x2c)" * (cast_expression "(int *)(iVar19 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x2c)" ( (binary_expression "iVar19 + 0x2c" identifier + number_literal) )))) * number_literal)) )))) = (cast_expression "(float)*(double *)(iVar41 + 0x40)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar41 + 0x40)" * (cast_expression "(double *)(iVar41 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + 0x40)" ( (binary_expression "iVar41 + 0x40" identifier + number_literal) )))))) ;) })) (if_statement "if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }" if (parenthesized_expression "(*(int *)(iVar19 + 0x34) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x34) != 0" (pointer_expression "*(int *)(iVar19 + 0x34)" * (cast_expression "(int *)(iVar19 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x34)" ( (binary_expression "iVar19 + 0x34" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }" { (if_statement "if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }" if (parenthesized_expression "(*(int *)(iVar41 + 8) == 0)" ( (binary_expression "*(int *)(iVar41 + 8) == 0" (pointer_expression "*(int *)(iVar41 + 8)" * (cast_expression "(int *)(iVar41 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + 8)" ( (binary_expression "iVar41 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                  fVar38 = (float)uVar61;\n                }" { (expression_statement "fVar38 = (float)uVar61;" (assignment_expression "fVar38 = (float)uVar61" identifier = (cast_expression "(float)uVar61" ( (type_descriptor "float" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }" else (compound_statement "{\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }" { (expression_statement "fVar38 = (float)*(double *)(iVar41 + 0x48);" (assignment_expression "fVar38 = (float)*(double *)(iVar41 + 0x48)" identifier = (cast_expression "(float)*(double *)(iVar41 + 0x48)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar41 + 0x48)" * (cast_expression "(double *)(iVar41 + 0x48)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + 0x48)" ( (binary_expression "iVar41 + 0x48" identifier + number_literal) )))))) ;) }))) (labeled_statement "LAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;" statement_identifier : (expression_statement "*(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;" (assignment_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38" (pointer_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4)" * (cast_expression "(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + *(int *)(iVar19 + 0x38) * 4)" ( (binary_expression "iVar18 + *(int *)(iVar19 + 0x38) * 4" identifier + (binary_expression "*(int *)(iVar19 + 0x38) * 4" (pointer_expression "*(int *)(iVar19 + 0x38)" * (cast_expression "(int *)(iVar19 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x38)" ( (binary_expression "iVar19 + 0x38" identifier + number_literal) )))) * number_literal)) )))) = identifier) ;)) })) (labeled_statement "LAB_00073d38:\n              iVar37 = iVar37 + 1;" statement_identifier : (expression_statement "iVar37 = iVar37 + 1;" (assignment_expression "iVar37 = iVar37 + 1" identifier = (binary_expression "iVar37 + 1" identifier + number_literal)) ;)) (expression_statement "iVar23 = iVar23 + iVar24 * 4;" (assignment_expression "iVar23 = iVar23 + iVar24 * 4" identifier = (binary_expression "iVar23 + iVar24 * 4" identifier + (binary_expression "iVar24 * 4" identifier * number_literal))) ;) (expression_statement "iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;" (assignment_expression "iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4" identifier = (binary_expression "iVar17 + *(int *)(iVar42 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar42 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar42 + 0x2c0)" * (cast_expression "(int *)(iVar42 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar42 + 0x2c0)" ( (binary_expression "iVar42 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;" (assignment_expression "iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4" identifier = (binary_expression "iVar18 + *(int *)(iVar40 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar40 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar40 + 0x2c0)" * (cast_expression "(int *)(iVar40 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + 0x2c0)" ( (binary_expression "iVar40 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) }) while (parenthesized_expression "(iVar37 != iVar13)" ( (binary_expression "iVar37 != iVar13" identifier != identifier) )) ;) })) (labeled_statement "LAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);" statement_identifier : (expression_statement "iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);" (assignment_expression "iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48)" identifier = (call_expression "(**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48)" (parenthesized_expression "(**(code **)(pcVar49 + 0x335c50))" ( (pointer_expression "**(code **)(pcVar49 + 0x335c50)" * (pointer_expression "*(code **)(pcVar49 + 0x335c50)" * (cast_expression "(code **)(pcVar49 + 0x335c50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar49 + 0x335c50)" ( (binary_expression "pcVar49 + 0x335c50" identifier + number_literal) ))))) )) (argument_list "(uVar16,uVar48)" ( identifier , identifier )))) ;)) (if_statement "if (iVar23 != 0) goto LAB_00073d80;" if (parenthesized_expression "(iVar23 != 0)" ( (binary_expression "iVar23 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00073d80;" goto statement_identifier ;)) })) (expression_statement "*(undefined4 *)(pdVar8 + 7) = 0;" (assignment_expression "*(undefined4 *)(pdVar8 + 7) = 0" (pointer_expression "*(undefined4 *)(pdVar8 + 7)" * (cast_expression "(undefined4 *)(pdVar8 + 7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar8 + 7)" ( (binary_expression "pdVar8 + 7" identifier + number_literal) )))) = number_literal) ;) })) (labeled_statement "LAB_00073d80:\n      iVar3 = iVar3 + 1;" statement_identifier : (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;)) }) while (parenthesized_expression "(iVar62 != iVar3)" ( (binary_expression "iVar62 != iVar3" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE 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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) / IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) % IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (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))) ;) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 , LIT , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (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 = (subscript_expression IDENT [ LIT ])) ;) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT)) )))) <= IDENT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) , (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) <= IDENT) )))) )) ))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (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) + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (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) ;) }) (else_clause else (compound_statement { (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 = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT)) ))))) * IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) ))))) * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression IDENT != LIT)) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) - IDENT) ))) * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (call_expression IDENT (argument_list ( (binary_expression (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) - (binary_expression IDENT * IDENT)) ))) * IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) < IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + (binary_expression IDENT * LIT))) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (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) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) * LIT))) ;) }) while (parenthesized_expression ( (binary_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 ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (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 = (pointer_expression * 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) ;) (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) ;) (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 = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) / IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) % IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT * IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) 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 = (subscript_expression IDENT [ LIT ])) ;) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (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 *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (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) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (unary_expression - (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) / LIT) ))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) / LIT)) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (unary_expression - (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) / LIT) ))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) / LIT)) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (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) ))))) ;) (do_statement do (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (pointer_expression * IDENT) * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression (pointer_expression * IDENT) * LIT) + LIT) ]) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression IDENT != LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT)) ))) )) (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) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) ))))) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) * IDENT) * (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) * IDENT) * IDENT) + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression IDENT * IDENT) + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression IDENT * IDENT) + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT << LIT) != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (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) + (binary_expression (binary_expression IDENT * IDENT) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_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) + (binary_expression (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) IDENT)) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) * IDENT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression (pointer_expression * IDENT) * LIT) + LIT) ]) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (pointer_expression * IDENT) * LIT)) + LIT) ))))) , (binary_expression IDENT != LIT)) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + IDENT) )) * (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + IDENT) ))) )) / (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) - (binary_expression IDENT * IDENT)) )) + (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) - (binary_expression IDENT * IDENT)) ))) + IDENT) )) * (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (binary_expression IDENT * IDENT)) + IDENT) ))) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT << LIT)) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (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) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (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 (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) }))) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return ;) })) (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) / IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) % IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * IDENT) + 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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (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 *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT , IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT)) )))) <= IDENT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) <= IDENT) )))) )) ))) )) )) (compound_statement { (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (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) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT)) ))))) * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) ))))) * 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 = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression IDENT != LIT)) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * IDENT) - (binary_expression IDENT * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) )))) = IDENT) ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (return_statement return ;) })))
(function_definition "void FUN_00072dc0(double *param_1)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  double *pdVar4;\n  float fVar5;\n  float fVar6;\n  double *pdVar7;\n  double *pdVar8;\n  int *piVar9;\n  double *pdVar10;\n  double *pdVar11;\n  float fVar12;\n  int iVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  undefined4 uVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  double *pdVar20;\n  float *pfVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  int iVar25;\n  int iVar26;\n  int *piVar27;\n  uint uVar28;\n  double *pdVar29;\n  int iVar30;\n  double *pdVar31;\n  double *pdVar32;\n  double *pdVar33;\n  int *piVar34;\n  double *pdVar35;\n  int iVar36;\n  int iVar37;\n  float fVar38;\n  int iVar39;\n  int iVar40;\n  int iVar41;\n  int iVar42;\n  double *unaff_s0;\n  float unaff_s1;\n  double *unaff_s2;\n  int unaff_s5;\n  float unaff_s6;\n  float unaff_s7;\n  float *pfVar43;\n  int iVar44;\n  undefined *puVar45;\n  int iVar46;\n  int iVar47;\n  undefined4 uVar48;\n  code *pcVar49;\n  float *pfVar50;\n  double dVar51;\n  double dVar52;\n  double dVar53;\n  float fVar54;\n  double dVar55;\n  double dVar56;\n  double dVar57;\n  double dVar58;\n  double dVar59;\n  double in_f20_21;\n  double in_f22_23;\n  double in_f24_25;\n  double dVar60;\n  ulonglong uVar61;\n  int iVar62;\n  int iStack_f80;\n  double *pdStack_f7c;\n  int iStack_f78;\n  int iStack_f54;\n  float *pfStack_f50;\n  double *pdStack_f4c;\n  double *pdStack_f48;\n  double adStack_f18 [64];\n  double dStack_d18;\n  double adStack_d10 [65];\n  double adStack_b08 [65];\n  double adStack_900 [65];\n  double adStack_6f8 [65];\n  double adStack_4f0 [65];\n  int iStack_2e4;\n  double *pdStack_2e0;\n  float fStack_2dc;\n  double *pdStack_2d8;\n  int iStack_2d4;\n  double *pdStack_2d0;\n  int iStack_2cc;\n  float fStack_2c8;\n  float fStack_2c4;\n  int iStack_2c0;\n  code *pcStack_2bc;\n  double dStack_2b8;\n  double dStack_2b0;\n  double dStack_2a8;\n  undefined4 local_290;\n  float local_28c;\n  double local_250 [65];\n  undefined8 uStack_48;\n  \n  puVar1 = PTR___stack_chk_guard_003a9230;\n  uStack_48._4_4_ = *(int *)PTR___stack_chk_guard_003a9230;\n  pdVar10 = param_1;\n  iVar2 = (*(code *)PTR_omp_get_num_threads_003a990c)();\n  iVar3 = (*(code *)PTR_omp_get_thread_num_003a9508)();\n  puVar45 = PTR_LAB_003a88e0;\n  if (iVar2 == 0) {\n    trap(7);\n  }\n  iVar62 = (int)*(float *)((int)param_1 + 0x1c) / iVar2;\n  iVar2 = (int)*(float *)((int)param_1 + 0x1c) % iVar2;\n  if (iVar3 < iVar2) {\n    iVar62 = iVar62 + 1;\n    iVar2 = 0;\n  }\n  iVar2 = iVar62 * iVar3 + iVar2;\n  iVar62 = iVar62 + iVar2;\n  pdVar8 = param_1;\n  if (iVar2 < iVar62) {\n    unaff_s7 = *(float *)((int)param_1 + 4);\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n    pdVar4 = *(double **)((int)param_1 + 0x14);\n    in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n    unaff_s1 = *(float *)param_1;\n    fVar5 = *(float *)(param_1 + 2);\n    unaff_s6 = *(float *)(param_1 + 3);\n    fVar6 = *(float *)((int)param_1 + 0xc);\n    pdVar7 = *(double **)(param_1 + 1);\n    unaff_s5 = iVar2;\n    in_f22_23 = in_f20_21;\n    do {\n      while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = fVar6;\n      pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = fVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(float *)(param_1 + 4) = 0.0;\n    } while (iVar62 != unaff_s5);\n  }\nLAB_000731a4:\n  if (uStack_48._4_4_ == *(int *)puVar1) {\n    return;\n  }\n  pcVar49 = FUN_00073244;\n  puVar45 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  piVar34 = *(int **)(puVar45 + 0x335fec);\n  iStack_2e4 = *piVar34;\n  pdStack_2e0 = unaff_s0;\n  fStack_2dc = unaff_s1;\n  pdStack_2d8 = unaff_s2;\n  iStack_2d4 = iVar2;\n  pdStack_2d0 = pdVar8;\n  iStack_2cc = unaff_s5;\n  fStack_2c8 = unaff_s6;\n  fStack_2c4 = unaff_s7;\n  iStack_2c0 = iVar62;\n  pcStack_2bc = pcVar49;\n  dStack_2b8 = in_f20_21;\n  dStack_2b0 = in_f22_23;\n  dStack_2a8 = in_f24_25;\n  iVar3 = (**(code **)(puVar45 + 0x3366c8))();\n  iVar2 = (**(code **)(puVar45 + 0x3362c4))();\n  if (iVar3 == 0) {\n    trap(7);\n  }\n  iVar62 = (int)*(float *)(pdVar10 + 6) / iVar3;\n  pdVar8 = (double *)((int)*(float *)(pdVar10 + 6) % iVar3);\n  if (iVar2 < (int)pdVar8) {\n    iVar62 = iVar62 + 1;\n    pdVar8 = (double *)0x0;\n  }\n  pdStack_f48 = (double *)(iVar62 * iVar2 + (int)pdVar8);\n  pdVar4 = (double *)(iVar62 + (int)pdStack_f48);\n  if ((int)pdStack_f48 < (int)pdVar4) {\n    dVar57 = pdVar10[1];\n    fVar5 = *(float *)(pdVar10 + 5);\n    pdVar20 = *(double **)((int)pdVar10 + 0x2c);\n    dVar56 = *pdVar10;\n    dVar60 = *(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440);\n    pdVar7 = *(double **)((int)pdVar10 + 0x24);\n    fVar6 = *(float *)(pdVar10 + 4);\n    fVar38 = *(float *)((int)pdVar10 + 0x1c);\n    pdVar11 = *(double **)(pdVar10 + 3);\n    fVar54 = *(float *)((int)pdVar10 + 0x14);\n    fVar12 = *(float *)(pdVar10 + 2);\n    pdVar8 = pdVar20;\n    do {\n      if (*(float *)((int)pdVar10 + 0x34) != 0.0) {\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    } while (pdVar4 != pdStack_f48);\n  }\n  if (iStack_2e4 == *piVar34) {\n    return;\n  }\n  pcVar49 = *(code **)(puVar45 + 0x335e20);\n  (*pcVar49)();\n  iVar3 = (**(code **)(pcVar49 + 0x336064))();\n  iVar2 = (**(code **)(pcVar49 + 0x335c60))();\n  if (iVar3 == 0) {\n    trap(7);\n  }\n  iVar62 = *(int *)((int)pdVar8 + 0x34) / iVar3;\n  iVar3 = *(int *)((int)pdVar8 + 0x34) % iVar3;\n  if (iVar2 < iVar3) {\n    iVar62 = iVar62 + 1;\n    iVar3 = 0;\n  }\n  iVar3 = iVar62 * iVar2 + iVar3;\n  iVar62 = iVar62 + iVar3;\n  iVar2 = *(int *)(pcVar49 + 0x335038);\n  if (iVar3 < iVar62) {\n    iVar26 = *(int *)(pcVar49 + 0x335038);\n    iVar46 = *(int *)(pcVar49 + 0x335038);\n    uVar61 = (ulonglong)*(uint *)(iVar2 + 0x1a50);\n    uVar14 = *(undefined4 *)((int)pdVar8 + 0x1c);\n    dVar56 = *pdVar8;\n    iVar40 = *(int *)(pdVar8 + 4);\n    dVar57 = *(double *)(iVar26 + 0x1438);\n    iVar42 = *(int *)((int)pdVar8 + 0xc);\n    dVar60 = *(double *)(iVar46 + 0x1440);\n    iVar36 = *(int *)(pdVar8 + 1);\n    iVar13 = *(int *)(pdVar8 + 6);\n    uVar48 = *(undefined4 *)(pdVar8 + 2);\n    uVar15 = *(undefined4 *)(pdVar8 + 3);\n    uVar16 = *(undefined4 *)((int)pdVar8 + 0x14);\n    do {\n      if (*(int *)(pdVar8 + 7) != 0) {\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    } while (iVar62 != iVar3);\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00072dc0(double *param_1)" (identifier "FUN_00072dc0") (parameter_list "(double *param_1)" (( "(") (parameter_declaration "double *param_1" (primitive_type "double") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  double *pdVar4;\n  float fVar5;\n  float fVar6;\n  double *pdVar7;\n  double *pdVar8;\n  int *piVar9;\n  double *pdVar10;\n  double *pdVar11;\n  float fVar12;\n  int iVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  undefined4 uVar16;\n  int iVar17;\n  int iVar18;\n  int iVar19;\n  double *pdVar20;\n  float *pfVar21;\n  int iVar22;\n  int iVar23;\n  int iVar24;\n  int iVar25;\n  int iVar26;\n  int *piVar27;\n  uint uVar28;\n  double *pdVar29;\n  int iVar30;\n  double *pdVar31;\n  double *pdVar32;\n  double *pdVar33;\n  int *piVar34;\n  double *pdVar35;\n  int iVar36;\n  int iVar37;\n  float fVar38;\n  int iVar39;\n  int iVar40;\n  int iVar41;\n  int iVar42;\n  double *unaff_s0;\n  float unaff_s1;\n  double *unaff_s2;\n  int unaff_s5;\n  float unaff_s6;\n  float unaff_s7;\n  float *pfVar43;\n  int iVar44;\n  undefined *puVar45;\n  int iVar46;\n  int iVar47;\n  undefined4 uVar48;\n  code *pcVar49;\n  float *pfVar50;\n  double dVar51;\n  double dVar52;\n  double dVar53;\n  float fVar54;\n  double dVar55;\n  double dVar56;\n  double dVar57;\n  double dVar58;\n  double dVar59;\n  double in_f20_21;\n  double in_f22_23;\n  double in_f24_25;\n  double dVar60;\n  ulonglong uVar61;\n  int iVar62;\n  int iStack_f80;\n  double *pdStack_f7c;\n  int iStack_f78;\n  int iStack_f54;\n  float *pfStack_f50;\n  double *pdStack_f4c;\n  double *pdStack_f48;\n  double adStack_f18 [64];\n  double dStack_d18;\n  double adStack_d10 [65];\n  double adStack_b08 [65];\n  double adStack_900 [65];\n  double adStack_6f8 [65];\n  double adStack_4f0 [65];\n  int iStack_2e4;\n  double *pdStack_2e0;\n  float fStack_2dc;\n  double *pdStack_2d8;\n  int iStack_2d4;\n  double *pdStack_2d0;\n  int iStack_2cc;\n  float fStack_2c8;\n  float fStack_2c4;\n  int iStack_2c0;\n  code *pcStack_2bc;\n  double dStack_2b8;\n  double dStack_2b0;\n  double dStack_2a8;\n  undefined4 local_290;\n  float local_28c;\n  double local_250 [65];\n  undefined8 uStack_48;\n  \n  puVar1 = PTR___stack_chk_guard_003a9230;\n  uStack_48._4_4_ = *(int *)PTR___stack_chk_guard_003a9230;\n  pdVar10 = param_1;\n  iVar2 = (*(code *)PTR_omp_get_num_threads_003a990c)();\n  iVar3 = (*(code *)PTR_omp_get_thread_num_003a9508)();\n  puVar45 = PTR_LAB_003a88e0;\n  if (iVar2 == 0) {\n    trap(7);\n  }\n  iVar62 = (int)*(float *)((int)param_1 + 0x1c) / iVar2;\n  iVar2 = (int)*(float *)((int)param_1 + 0x1c) % iVar2;\n  if (iVar3 < iVar2) {\n    iVar62 = iVar62 + 1;\n    iVar2 = 0;\n  }\n  iVar2 = iVar62 * iVar3 + iVar2;\n  iVar62 = iVar62 + iVar2;\n  pdVar8 = param_1;\n  if (iVar2 < iVar62) {\n    unaff_s7 = *(float *)((int)param_1 + 4);\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n    pdVar4 = *(double **)((int)param_1 + 0x14);\n    in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n    unaff_s1 = *(float *)param_1;\n    fVar5 = *(float *)(param_1 + 2);\n    unaff_s6 = *(float *)(param_1 + 3);\n    fVar6 = *(float *)((int)param_1 + 0xc);\n    pdVar7 = *(double **)(param_1 + 1);\n    unaff_s5 = iVar2;\n    in_f22_23 = in_f20_21;\n    do {\n      while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = fVar6;\n      pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = fVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(float *)(param_1 + 4) = 0.0;\n    } while (iVar62 != unaff_s5);\n  }\nLAB_000731a4:\n  if (uStack_48._4_4_ == *(int *)puVar1) {\n    return;\n  }\n  pcVar49 = FUN_00073244;\n  puVar45 = PTR___stack_chk_fail_003a9064;\n  (*(code *)PTR___stack_chk_fail_003a9064)();\n  piVar34 = *(int **)(puVar45 + 0x335fec);\n  iStack_2e4 = *piVar34;\n  pdStack_2e0 = unaff_s0;\n  fStack_2dc = unaff_s1;\n  pdStack_2d8 = unaff_s2;\n  iStack_2d4 = iVar2;\n  pdStack_2d0 = pdVar8;\n  iStack_2cc = unaff_s5;\n  fStack_2c8 = unaff_s6;\n  fStack_2c4 = unaff_s7;\n  iStack_2c0 = iVar62;\n  pcStack_2bc = pcVar49;\n  dStack_2b8 = in_f20_21;\n  dStack_2b0 = in_f22_23;\n  dStack_2a8 = in_f24_25;\n  iVar3 = (**(code **)(puVar45 + 0x3366c8))();\n  iVar2 = (**(code **)(puVar45 + 0x3362c4))();\n  if (iVar3 == 0) {\n    trap(7);\n  }\n  iVar62 = (int)*(float *)(pdVar10 + 6) / iVar3;\n  pdVar8 = (double *)((int)*(float *)(pdVar10 + 6) % iVar3);\n  if (iVar2 < (int)pdVar8) {\n    iVar62 = iVar62 + 1;\n    pdVar8 = (double *)0x0;\n  }\n  pdStack_f48 = (double *)(iVar62 * iVar2 + (int)pdVar8);\n  pdVar4 = (double *)(iVar62 + (int)pdStack_f48);\n  if ((int)pdStack_f48 < (int)pdVar4) {\n    dVar57 = pdVar10[1];\n    fVar5 = *(float *)(pdVar10 + 5);\n    pdVar20 = *(double **)((int)pdVar10 + 0x2c);\n    dVar56 = *pdVar10;\n    dVar60 = *(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440);\n    pdVar7 = *(double **)((int)pdVar10 + 0x24);\n    fVar6 = *(float *)(pdVar10 + 4);\n    fVar38 = *(float *)((int)pdVar10 + 0x1c);\n    pdVar11 = *(double **)(pdVar10 + 3);\n    fVar54 = *(float *)((int)pdVar10 + 0x14);\n    fVar12 = *(float *)(pdVar10 + 2);\n    pdVar8 = pdVar20;\n    do {\n      if (*(float *)((int)pdVar10 + 0x34) != 0.0) {\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    } while (pdVar4 != pdStack_f48);\n  }\n  if (iStack_2e4 == *piVar34) {\n    return;\n  }\n  pcVar49 = *(code **)(puVar45 + 0x335e20);\n  (*pcVar49)();\n  iVar3 = (**(code **)(pcVar49 + 0x336064))();\n  iVar2 = (**(code **)(pcVar49 + 0x335c60))();\n  if (iVar3 == 0) {\n    trap(7);\n  }\n  iVar62 = *(int *)((int)pdVar8 + 0x34) / iVar3;\n  iVar3 = *(int *)((int)pdVar8 + 0x34) % iVar3;\n  if (iVar2 < iVar3) {\n    iVar62 = iVar62 + 1;\n    iVar3 = 0;\n  }\n  iVar3 = iVar62 * iVar2 + iVar3;\n  iVar62 = iVar62 + iVar3;\n  iVar2 = *(int *)(pcVar49 + 0x335038);\n  if (iVar3 < iVar62) {\n    iVar26 = *(int *)(pcVar49 + 0x335038);\n    iVar46 = *(int *)(pcVar49 + 0x335038);\n    uVar61 = (ulonglong)*(uint *)(iVar2 + 0x1a50);\n    uVar14 = *(undefined4 *)((int)pdVar8 + 0x1c);\n    dVar56 = *pdVar8;\n    iVar40 = *(int *)(pdVar8 + 4);\n    dVar57 = *(double *)(iVar26 + 0x1438);\n    iVar42 = *(int *)((int)pdVar8 + 0xc);\n    dVar60 = *(double *)(iVar46 + 0x1440);\n    iVar36 = *(int *)(pdVar8 + 1);\n    iVar13 = *(int *)(pdVar8 + 6);\n    uVar48 = *(undefined4 *)(pdVar8 + 2);\n    uVar15 = *(undefined4 *)(pdVar8 + 3);\n    uVar16 = *(undefined4 *)((int)pdVar8 + 0x14);\n    do {\n      if (*(int *)(pdVar8 + 7) != 0) {\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    } while (iVar62 != iVar3);\n  }\n  return;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "double *pdVar4;" (primitive_type "double") (pointer_declarator "*pdVar4" (* "*") (identifier "pdVar4")) (; ";")) (declaration "float fVar5;" (primitive_type "float") (identifier "fVar5") (; ";")) (declaration "float fVar6;" (primitive_type "float") (identifier "fVar6") (; ";")) (declaration "double *pdVar7;" (primitive_type "double") (pointer_declarator "*pdVar7" (* "*") (identifier "pdVar7")) (; ";")) (declaration "double *pdVar8;" (primitive_type "double") (pointer_declarator "*pdVar8" (* "*") (identifier "pdVar8")) (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "double *pdVar10;" (primitive_type "double") (pointer_declarator "*pdVar10" (* "*") (identifier "pdVar10")) (; ";")) (declaration "double *pdVar11;" (primitive_type "double") (pointer_declarator "*pdVar11" (* "*") (identifier "pdVar11")) (; ";")) (declaration "float fVar12;" (primitive_type "float") (identifier "fVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "undefined4 uVar14;" (type_identifier "undefined4") (identifier "uVar14") (; ";")) (declaration "undefined4 uVar15;" (type_identifier "undefined4") (identifier "uVar15") (; ";")) (declaration "undefined4 uVar16;" (type_identifier "undefined4") (identifier "uVar16") (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "double *pdVar20;" (primitive_type "double") (pointer_declarator "*pdVar20" (* "*") (identifier "pdVar20")) (; ";")) (declaration "float *pfVar21;" (primitive_type "float") (pointer_declarator "*pfVar21" (* "*") (identifier "pfVar21")) (; ";")) (declaration "int iVar22;" (primitive_type "int") (identifier "iVar22") (; ";")) (declaration "int iVar23;" (primitive_type "int") (identifier "iVar23") (; ";")) (declaration "int iVar24;" (primitive_type "int") (identifier "iVar24") (; ";")) (declaration "int iVar25;" (primitive_type "int") (identifier "iVar25") (; ";")) (declaration "int iVar26;" (primitive_type "int") (identifier "iVar26") (; ";")) (declaration "int *piVar27;" (primitive_type "int") (pointer_declarator "*piVar27" (* "*") (identifier "piVar27")) (; ";")) (declaration "uint uVar28;" (type_identifier "uint") (identifier "uVar28") (; ";")) (declaration "double *pdVar29;" (primitive_type "double") (pointer_declarator "*pdVar29" (* "*") (identifier "pdVar29")) (; ";")) (declaration "int iVar30;" (primitive_type "int") (identifier "iVar30") (; ";")) (declaration "double *pdVar31;" (primitive_type "double") (pointer_declarator "*pdVar31" (* "*") (identifier "pdVar31")) (; ";")) (declaration "double *pdVar32;" (primitive_type "double") (pointer_declarator "*pdVar32" (* "*") (identifier "pdVar32")) (; ";")) (declaration "double *pdVar33;" (primitive_type "double") (pointer_declarator "*pdVar33" (* "*") (identifier "pdVar33")) (; ";")) (declaration "int *piVar34;" (primitive_type "int") (pointer_declarator "*piVar34" (* "*") (identifier "piVar34")) (; ";")) (declaration "double *pdVar35;" (primitive_type "double") (pointer_declarator "*pdVar35" (* "*") (identifier "pdVar35")) (; ";")) (declaration "int iVar36;" (primitive_type "int") (identifier "iVar36") (; ";")) (declaration "int iVar37;" (primitive_type "int") (identifier "iVar37") (; ";")) (declaration "float fVar38;" (primitive_type "float") (identifier "fVar38") (; ";")) (declaration "int iVar39;" (primitive_type "int") (identifier "iVar39") (; ";")) (declaration "int iVar40;" (primitive_type "int") (identifier "iVar40") (; ";")) (declaration "int iVar41;" (primitive_type "int") (identifier "iVar41") (; ";")) (declaration "int iVar42;" (primitive_type "int") (identifier "iVar42") (; ";")) (declaration "double *unaff_s0;" (primitive_type "double") (pointer_declarator "*unaff_s0" (* "*") (identifier "unaff_s0")) (; ";")) (declaration "float unaff_s1;" (primitive_type "float") (identifier "unaff_s1") (; ";")) (declaration "double *unaff_s2;" (primitive_type "double") (pointer_declarator "*unaff_s2" (* "*") (identifier "unaff_s2")) (; ";")) (declaration "int unaff_s5;" (primitive_type "int") (identifier "unaff_s5") (; ";")) (declaration "float unaff_s6;" (primitive_type "float") (identifier "unaff_s6") (; ";")) (declaration "float unaff_s7;" (primitive_type "float") (identifier "unaff_s7") (; ";")) (declaration "float *pfVar43;" (primitive_type "float") (pointer_declarator "*pfVar43" (* "*") (identifier "pfVar43")) (; ";")) (declaration "int iVar44;" (primitive_type "int") (identifier "iVar44") (; ";")) (declaration "undefined *puVar45;" (type_identifier "undefined") (pointer_declarator "*puVar45" (* "*") (identifier "puVar45")) (; ";")) (declaration "int iVar46;" (primitive_type "int") (identifier "iVar46") (; ";")) (declaration "int iVar47;" (primitive_type "int") (identifier "iVar47") (; ";")) (declaration "undefined4 uVar48;" (type_identifier "undefined4") (identifier "uVar48") (; ";")) (declaration "code *pcVar49;" (type_identifier "code") (pointer_declarator "*pcVar49" (* "*") (identifier "pcVar49")) (; ";")) (declaration "float *pfVar50;" (primitive_type "float") (pointer_declarator "*pfVar50" (* "*") (identifier "pfVar50")) (; ";")) (declaration "double dVar51;" (primitive_type "double") (identifier "dVar51") (; ";")) (declaration "double dVar52;" (primitive_type "double") (identifier "dVar52") (; ";")) (declaration "double dVar53;" (primitive_type "double") (identifier "dVar53") (; ";")) (declaration "float fVar54;" (primitive_type "float") (identifier "fVar54") (; ";")) (declaration "double dVar55;" (primitive_type "double") (identifier "dVar55") (; ";")) (declaration "double dVar56;" (primitive_type "double") (identifier "dVar56") (; ";")) (declaration "double dVar57;" (primitive_type "double") (identifier "dVar57") (; ";")) (declaration "double dVar58;" (primitive_type "double") (identifier "dVar58") (; ";")) (declaration "double dVar59;" (primitive_type "double") (identifier "dVar59") (; ";")) (declaration "double in_f20_21;" (primitive_type "double") (identifier "in_f20_21") (; ";")) (declaration "double in_f22_23;" (primitive_type "double") (identifier "in_f22_23") (; ";")) (declaration "double in_f24_25;" (primitive_type "double") (identifier "in_f24_25") (; ";")) (declaration "double dVar60;" (primitive_type "double") (identifier "dVar60") (; ";")) (declaration "ulonglong uVar61;" (type_identifier "ulonglong") (identifier "uVar61") (; ";")) (declaration "int iVar62;" (primitive_type "int") (identifier "iVar62") (; ";")) (declaration "int iStack_f80;" (primitive_type "int") (identifier "iStack_f80") (; ";")) (declaration "double *pdStack_f7c;" (primitive_type "double") (pointer_declarator "*pdStack_f7c" (* "*") (identifier "pdStack_f7c")) (; ";")) (declaration "int iStack_f78;" (primitive_type "int") (identifier "iStack_f78") (; ";")) (declaration "int iStack_f54;" (primitive_type "int") (identifier "iStack_f54") (; ";")) (declaration "float *pfStack_f50;" (primitive_type "float") (pointer_declarator "*pfStack_f50" (* "*") (identifier "pfStack_f50")) (; ";")) (declaration "double *pdStack_f4c;" (primitive_type "double") (pointer_declarator "*pdStack_f4c" (* "*") (identifier "pdStack_f4c")) (; ";")) (declaration "double *pdStack_f48;" (primitive_type "double") (pointer_declarator "*pdStack_f48" (* "*") (identifier "pdStack_f48")) (; ";")) (declaration "double adStack_f18 [64];" (primitive_type "double") (array_declarator "adStack_f18 [64]" (identifier "adStack_f18") ([ "[") (number_literal "64") (] "]")) (; ";")) (declaration "double dStack_d18;" (primitive_type "double") (identifier "dStack_d18") (; ";")) (declaration "double adStack_d10 [65];" (primitive_type "double") (array_declarator "adStack_d10 [65]" (identifier "adStack_d10") ([ "[") (number_literal "65") (] "]")) (; ";")) (declaration "double adStack_b08 [65];" (primitive_type "double") (array_declarator "adStack_b08 [65]" (identifier "adStack_b08") ([ "[") (number_literal "65") (] "]")) (; ";")) (declaration "double adStack_900 [65];" (primitive_type "double") (array_declarator "adStack_900 [65]" (identifier "adStack_900") ([ "[") (number_literal "65") (] "]")) (; ";")) (declaration "double adStack_6f8 [65];" (primitive_type "double") (array_declarator "adStack_6f8 [65]" (identifier "adStack_6f8") ([ "[") (number_literal "65") (] "]")) (; ";")) (declaration "double adStack_4f0 [65];" (primitive_type "double") (array_declarator "adStack_4f0 [65]" (identifier "adStack_4f0") ([ "[") (number_literal "65") (] "]")) (; ";")) (declaration "int iStack_2e4;" (primitive_type "int") (identifier "iStack_2e4") (; ";")) (declaration "double *pdStack_2e0;" (primitive_type "double") (pointer_declarator "*pdStack_2e0" (* "*") (identifier "pdStack_2e0")) (; ";")) (declaration "float fStack_2dc;" (primitive_type "float") (identifier "fStack_2dc") (; ";")) (declaration "double *pdStack_2d8;" (primitive_type "double") (pointer_declarator "*pdStack_2d8" (* "*") (identifier "pdStack_2d8")) (; ";")) (declaration "int iStack_2d4;" (primitive_type "int") (identifier "iStack_2d4") (; ";")) (declaration "double *pdStack_2d0;" (primitive_type "double") (pointer_declarator "*pdStack_2d0" (* "*") (identifier "pdStack_2d0")) (; ";")) (declaration "int iStack_2cc;" (primitive_type "int") (identifier "iStack_2cc") (; ";")) (declaration "float fStack_2c8;" (primitive_type "float") (identifier "fStack_2c8") (; ";")) (declaration "float fStack_2c4;" (primitive_type "float") (identifier "fStack_2c4") (; ";")) (declaration "int iStack_2c0;" (primitive_type "int") (identifier "iStack_2c0") (; ";")) (declaration "code *pcStack_2bc;" (type_identifier "code") (pointer_declarator "*pcStack_2bc" (* "*") (identifier "pcStack_2bc")) (; ";")) (declaration "double dStack_2b8;" (primitive_type "double") (identifier "dStack_2b8") (; ";")) (declaration "double dStack_2b0;" (primitive_type "double") (identifier "dStack_2b0") (; ";")) (declaration "double dStack_2a8;" (primitive_type "double") (identifier "dStack_2a8") (; ";")) (declaration "undefined4 local_290;" (type_identifier "undefined4") (identifier "local_290") (; ";")) (declaration "float local_28c;" (primitive_type "float") (identifier "local_28c") (; ";")) (declaration "double local_250 [65];" (primitive_type "double") (array_declarator "local_250 [65]" (identifier "local_250") ([ "[") (number_literal "65") (] "]")) (; ";")) (declaration "undefined8 uStack_48;" (type_identifier "undefined8") (identifier "uStack_48") (; ";")) (expression_statement "puVar1 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar1 = PTR___stack_chk_guard_003a9230" (identifier "puVar1") (= "=") (identifier "PTR___stack_chk_guard_003a9230")) (; ";")) (expression_statement "uStack_48._4_4_ = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "uStack_48._4_4_ = *(int *)PTR___stack_chk_guard_003a9230" (field_expression "uStack_48._4_4_" (identifier "uStack_48") (. ".") (field_identifier "_4_4_")) (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_003a9230" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_003a9230")))) (; ";")) (expression_statement "pdVar10 = param_1;" (assignment_expression "pdVar10 = param_1" (identifier "pdVar10") (= "=") (identifier "param_1")) (; ";")) (expression_statement "iVar2 = (*(code *)PTR_omp_get_num_threads_003a990c)();" (assignment_expression "iVar2 = (*(code *)PTR_omp_get_num_threads_003a990c)()" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_omp_get_num_threads_003a990c)()" (parenthesized_expression "(*(code *)PTR_omp_get_num_threads_003a990c)" (( "(") (pointer_expression "*(code *)PTR_omp_get_num_threads_003a990c" (* "*") (cast_expression "(code *)PTR_omp_get_num_threads_003a990c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_omp_get_num_threads_003a990c"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_omp_get_thread_num_003a9508)();" (assignment_expression "iVar3 = (*(code *)PTR_omp_get_thread_num_003a9508)()" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_omp_get_thread_num_003a9508)()" (parenthesized_expression "(*(code *)PTR_omp_get_thread_num_003a9508)" (( "(") (pointer_expression "*(code *)PTR_omp_get_thread_num_003a9508" (* "*") (cast_expression "(code *)PTR_omp_get_thread_num_003a9508" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_omp_get_thread_num_003a9508"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar45 = PTR_LAB_003a88e0;" (assignment_expression "puVar45 = PTR_LAB_003a88e0" (identifier "puVar45") (= "=") (identifier "PTR_LAB_003a88e0")) (; ";")) (if_statement "if (iVar2 == 0) {\n    trap(7);\n  }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    trap(7);\n  }" ({ "{") (expression_statement "trap(7);" (call_expression "trap(7)" (identifier "trap") (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar62 = (int)*(float *)((int)param_1 + 0x1c) / iVar2;" (assignment_expression "iVar62 = (int)*(float *)((int)param_1 + 0x1c) / iVar2" (identifier "iVar62") (= "=") (binary_expression "(int)*(float *)((int)param_1 + 0x1c) / iVar2" (cast_expression "(int)*(float *)((int)param_1 + 0x1c)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(float *)((int)param_1 + 0x1c)" (* "*") (cast_expression "(float *)((int)param_1 + 0x1c)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x1c)" (( "(") (binary_expression "(int)param_1 + 0x1c" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x1c")) () ")"))))) (/ "/") (identifier "iVar2"))) (; ";")) (expression_statement "iVar2 = (int)*(float *)((int)param_1 + 0x1c) % iVar2;" (assignment_expression "iVar2 = (int)*(float *)((int)param_1 + 0x1c) % iVar2" (identifier "iVar2") (= "=") (binary_expression "(int)*(float *)((int)param_1 + 0x1c) % iVar2" (cast_expression "(int)*(float *)((int)param_1 + 0x1c)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(float *)((int)param_1 + 0x1c)" (* "*") (cast_expression "(float *)((int)param_1 + 0x1c)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x1c)" (( "(") (binary_expression "(int)param_1 + 0x1c" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x1c")) () ")"))))) (% "%") (identifier "iVar2"))) (; ";")) (if_statement "if (iVar3 < iVar2) {\n    iVar62 = iVar62 + 1;\n    iVar2 = 0;\n  }" (if "if") (parenthesized_expression "(iVar3 < iVar2)" (( "(") (binary_expression "iVar3 < iVar2" (identifier "iVar3") (< "<") (identifier "iVar2")) () ")")) (compound_statement "{\n    iVar62 = iVar62 + 1;\n    iVar2 = 0;\n  }" ({ "{") (expression_statement "iVar62 = iVar62 + 1;" (assignment_expression "iVar62 = iVar62 + 1" (identifier "iVar62") (= "=") (binary_expression "iVar62 + 1" (identifier "iVar62") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "iVar2 = iVar62 * iVar3 + iVar2;" (assignment_expression "iVar2 = iVar62 * iVar3 + iVar2" (identifier "iVar2") (= "=") (binary_expression "iVar62 * iVar3 + iVar2" (binary_expression "iVar62 * iVar3" (identifier "iVar62") (* "*") (identifier "iVar3")) (+ "+") (identifier "iVar2"))) (; ";")) (expression_statement "iVar62 = iVar62 + iVar2;" (assignment_expression "iVar62 = iVar62 + iVar2" (identifier "iVar62") (= "=") (binary_expression "iVar62 + iVar2" (identifier "iVar62") (+ "+") (identifier "iVar2"))) (; ";")) (expression_statement "pdVar8 = param_1;" (assignment_expression "pdVar8 = param_1" (identifier "pdVar8") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (iVar2 < iVar62) {\n    unaff_s7 = *(float *)((int)param_1 + 4);\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n    pdVar4 = *(double **)((int)param_1 + 0x14);\n    in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n    unaff_s1 = *(float *)param_1;\n    fVar5 = *(float *)(param_1 + 2);\n    unaff_s6 = *(float *)(param_1 + 3);\n    fVar6 = *(float *)((int)param_1 + 0xc);\n    pdVar7 = *(double **)(param_1 + 1);\n    unaff_s5 = iVar2;\n    in_f22_23 = in_f20_21;\n    do {\n      while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = fVar6;\n      pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = fVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(float *)(param_1 + 4) = 0.0;\n    } while (iVar62 != unaff_s5);\n  }" (if "if") (parenthesized_expression "(iVar2 < iVar62)" (( "(") (binary_expression "iVar2 < iVar62" (identifier "iVar2") (< "<") (identifier "iVar62")) () ")")) (compound_statement "{\n    unaff_s7 = *(float *)((int)param_1 + 4);\n    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);\n    pdVar4 = *(double **)((int)param_1 + 0x14);\n    in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);\n    unaff_s1 = *(float *)param_1;\n    fVar5 = *(float *)(param_1 + 2);\n    unaff_s6 = *(float *)(param_1 + 3);\n    fVar6 = *(float *)((int)param_1 + 0xc);\n    pdVar7 = *(double **)(param_1 + 1);\n    unaff_s5 = iVar2;\n    in_f22_23 = in_f20_21;\n    do {\n      while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = fVar6;\n      pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = fVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(float *)(param_1 + 4) = 0.0;\n    } while (iVar62 != unaff_s5);\n  }" ({ "{") (expression_statement "unaff_s7 = *(float *)((int)param_1 + 4);" (assignment_expression "unaff_s7 = *(float *)((int)param_1 + 4)" (identifier "unaff_s7") (= "=") (pointer_expression "*(float *)((int)param_1 + 4)" (* "*") (cast_expression "(float *)((int)param_1 + 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 4)" (( "(") (binary_expression "(int)param_1 + 4" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);" (assignment_expression "in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440)" (identifier "in_f20_21") (= "=") (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1440)" (* "*") (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1440)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1440)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1440" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1440")) () ")"))))) (; ";")) (expression_statement "pdVar4 = *(double **)((int)param_1 + 0x14);" (assignment_expression "pdVar4 = *(double **)((int)param_1 + 0x14)" (identifier "pdVar4") (= "=") (pointer_expression "*(double **)((int)param_1 + 0x14)" (* "*") (cast_expression "(double **)((int)param_1 + 0x14)" (( "(") (type_descriptor "double **" (primitive_type "double") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)param_1 + 0x14)" (( "(") (binary_expression "(int)param_1 + 0x14" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);" (assignment_expression "in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438)" (identifier "in_f24_25") (= "=") (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1438)" (* "*") (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1438)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1438)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1438" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1438")) () ")"))))) (; ";")) (expression_statement "unaff_s1 = *(float *)param_1;" (assignment_expression "unaff_s1 = *(float *)param_1" (identifier "unaff_s1") (= "=") (pointer_expression "*(float *)param_1" (* "*") (cast_expression "(float *)param_1" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1")))) (; ";")) (expression_statement "fVar5 = *(float *)(param_1 + 2);" (assignment_expression "fVar5 = *(float *)(param_1 + 2)" (identifier "fVar5") (= "=") (pointer_expression "*(float *)(param_1 + 2)" (* "*") (cast_expression "(float *)(param_1 + 2)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 2)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "unaff_s6 = *(float *)(param_1 + 3);" (assignment_expression "unaff_s6 = *(float *)(param_1 + 3)" (identifier "unaff_s6") (= "=") (pointer_expression "*(float *)(param_1 + 3)" (* "*") (cast_expression "(float *)(param_1 + 3)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "fVar6 = *(float *)((int)param_1 + 0xc);" (assignment_expression "fVar6 = *(float *)((int)param_1 + 0xc)" (identifier "fVar6") (= "=") (pointer_expression "*(float *)((int)param_1 + 0xc)" (* "*") (cast_expression "(float *)((int)param_1 + 0xc)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0xc)" (( "(") (binary_expression "(int)param_1 + 0xc" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "pdVar7 = *(double **)(param_1 + 1);" (assignment_expression "pdVar7 = *(double **)(param_1 + 1)" (identifier "pdVar7") (= "=") (pointer_expression "*(double **)(param_1 + 1)" (* "*") (cast_expression "(double **)(param_1 + 1)" (( "(") (type_descriptor "double **" (primitive_type "double") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 1)" (( "(") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "unaff_s5 = iVar2;" (assignment_expression "unaff_s5 = iVar2" (identifier "unaff_s5") (= "=") (identifier "iVar2")) (; ";")) (expression_statement "in_f22_23 = in_f20_21;" (assignment_expression "in_f22_23 = in_f20_21" (identifier "in_f22_23") (= "=") (identifier "in_f20_21")) (; ";")) (do_statement "do {\n      while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = fVar6;\n      pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = fVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(float *)(param_1 + 4) = 0.0;\n    } while (iVar62 != unaff_s5);" (do "do") (compound_statement "{\n      while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }\n      unaff_s0 = (double *)0x1;\n      local_290 = 1;\n      local_28c = fVar6;\n      pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);\n      local_290 = 1;\n      pdVar10 = pdVar4;\n      local_28c = fVar6;\n      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);\n      if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }\n      unaff_s5 = unaff_s5 + 1;\n      *(float *)(param_1 + 4) = 0.0;\n    }" ({ "{") (while_statement "while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }" (while "while") (parenthesized_expression "(unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0)" (( "(") (comma_expression "unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0" (assignment_expression "unaff_s2 = param_1" (identifier "unaff_s2") (= "=") (identifier "param_1")) (, ",") (binary_expression "*(float *)(param_1 + 4) == 0.0" (pointer_expression "*(float *)(param_1 + 4)" (* "*") (cast_expression "(float *)(param_1 + 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "0.0"))) () ")")) (compound_statement "{\nLAB_00073194:\n        unaff_s5 = unaff_s5 + 1;\n        if (iVar62 == unaff_s5) goto LAB_000731a4;\n      }" ({ "{") (labeled_statement "LAB_00073194:\n        unaff_s5 = unaff_s5 + 1;" (statement_identifier "LAB_00073194") (: ":") (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"))) (; ";"))) (if_statement "if (iVar62 == unaff_s5) goto LAB_000731a4;" (if "if") (parenthesized_expression "(iVar62 == unaff_s5)" (( "(") (binary_expression "iVar62 == unaff_s5" (identifier "iVar62") (== "==") (identifier "unaff_s5")) () ")")) (goto_statement "goto LAB_000731a4;" (goto "goto") (statement_identifier "LAB_000731a4") (; ";"))) (} "}"))) (expression_statement "unaff_s0 = (double *)0x1;" (assignment_expression "unaff_s0 = (double *)0x1" (identifier "unaff_s0") (= "=") (cast_expression "(double *)0x1" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "local_290 = 1;" (assignment_expression "local_290 = 1" (identifier "local_290") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_28c = fVar6;" (assignment_expression "local_28c = fVar6" (identifier "local_28c") (= "=") (identifier "fVar6")) (; ";")) (expression_statement "pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);" (assignment_expression "pdVar8 = (double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6)" (identifier "pdVar8") (= "=") (cast_expression "(double *)\n               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6)" (parenthesized_expression "(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)" (( "(") (pointer_expression "*(code *)PTR_GetCacheViewVirtualPixels_003a965c" (* "*") (cast_expression "(code *)PTR_GetCacheViewVirtualPixels_003a965c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetCacheViewVirtualPixels_003a965c"))) () ")")) (argument_list "(fVar5,0,unaff_s5,unaff_s6)" (( "(") (identifier "fVar5") (, ",") (number_literal "0") (, ",") (identifier "unaff_s5") (, ",") (identifier "unaff_s6") () ")"))))) (; ";")) (expression_statement "local_290 = 1;" (assignment_expression "local_290 = 1" (identifier "local_290") (= "=") (number_literal "1")) (; ";")) (expression_statement "pdVar10 = pdVar4;" (assignment_expression "pdVar10 = pdVar4" (identifier "pdVar10") (= "=") (identifier "pdVar4")) (; ";")) (expression_statement "local_28c = fVar6;" (assignment_expression "local_28c = fVar6" (identifier "local_28c") (= "=") (identifier "fVar6")) (; ";")) (expression_statement "iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);" (assignment_expression "iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6)" (parenthesized_expression "(*(code *)PTR_GetCacheViewVirtualPixels_003a965c)" (( "(") (pointer_expression "*(code *)PTR_GetCacheViewVirtualPixels_003a965c" (* "*") (cast_expression "(code *)PTR_GetCacheViewVirtualPixels_003a965c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetCacheViewVirtualPixels_003a965c"))) () ")")) (argument_list "(pdVar4,0,unaff_s5,unaff_s6)" (( "(") (identifier "pdVar4") (, ",") (number_literal "0") (, ",") (identifier "unaff_s5") (, ",") (identifier "unaff_s6") () ")")))) (; ";")) (if_statement "if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }" (if "if") (parenthesized_expression "((pdVar8 != (double *)0x0) && (iVar2 != 0))" (( "(") (binary_expression "(pdVar8 != (double *)0x0) && (iVar2 != 0)" (parenthesized_expression "(pdVar8 != (double *)0x0)" (( "(") (binary_expression "pdVar8 != (double *)0x0" (identifier "pdVar8") (!= "!=") (cast_expression "(double *)0x0" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        unaff_s0 = local_250;\n        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);\n        if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }\nLAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);\n        pdVar10 = pdVar7;\n        do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);\n        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;\n        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();\n        goto LAB_00073194;\n      }" ({ "{") (expression_statement "unaff_s0 = local_250;" (assignment_expression "unaff_s0 = local_250" (identifier "unaff_s0") (= "=") (identifier "local_250")) (; ";")) (expression_statement "(*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);" (call_expression "(*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208)" (parenthesized_expression "(*(code *)PTR_memset_003a96d4)" (( "(") (pointer_expression "*(code *)PTR_memset_003a96d4" (* "*") (cast_expression "(code *)PTR_memset_003a96d4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memset_003a96d4"))) () ")")) (argument_list "(unaff_s0,0,0x208)" (( "(") (identifier "unaff_s0") (, ",") (number_literal "0") (, ",") (number_literal "0x208") () ")"))) (; ";")) (if_statement "if (0 < (int)unaff_s6) {\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }" (if "if") (parenthesized_expression "(0 < (int)unaff_s6)" (( "(") (binary_expression "0 < (int)unaff_s6" (number_literal "0") (< "<") (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6"))) () ")")) (compound_statement "{\n          fVar38 = 0.0;\n          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);\n          dVar56 = *(double *)(puVar45 + 0x1440);\n          iVar3 = piVar34[0x13];\n          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);\n          dVar57 = *(double *)(puVar45 + 0x1438);\n          do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);\n        }" ({ "{") (expression_statement "fVar38 = 0.0;" (assignment_expression "fVar38 = 0.0" (identifier "fVar38") (= "=") (number_literal "0.0")) (; ";")) (expression_statement "piVar34 = *(int **)((int)unaff_s1 + 0x2d0);" (assignment_expression "piVar34 = *(int **)((int)unaff_s1 + 0x2d0)" (identifier "piVar34") (= "=") (pointer_expression "*(int **)((int)unaff_s1 + 0x2d0)" (* "*") (cast_expression "(int **)((int)unaff_s1 + 0x2d0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)unaff_s1 + 0x2d0)" (( "(") (binary_expression "(int)unaff_s1 + 0x2d0" (cast_expression "(int)unaff_s1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s1")) (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (expression_statement "dVar56 = *(double *)(puVar45 + 0x1440);" (assignment_expression "dVar56 = *(double *)(puVar45 + 0x1440)" (identifier "dVar56") (= "=") (pointer_expression "*(double *)(puVar45 + 0x1440)" (* "*") (cast_expression "(double *)(puVar45 + 0x1440)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar45 + 0x1440)" (( "(") (binary_expression "puVar45 + 0x1440" (identifier "puVar45") (+ "+") (number_literal "0x1440")) () ")"))))) (; ";")) (expression_statement "iVar3 = piVar34[0x13];" (assignment_expression "iVar3 = piVar34[0x13]" (identifier "iVar3") (= "=") (subscript_expression "piVar34[0x13]" (identifier "piVar34") ([ "[") (number_literal "0x13") (] "]"))) (; ";")) (expression_statement "fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);" (assignment_expression "fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708)" (identifier "fVar54") (= "=") (pointer_expression "*(float *)(PTR_LAB_003a88e0 + 0x3708)" (* "*") (cast_expression "(float *)(PTR_LAB_003a88e0 + 0x3708)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003a88e0 + 0x3708)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x3708" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x3708")) () ")"))))) (; ";")) (expression_statement "dVar57 = *(double *)(puVar45 + 0x1438);" (assignment_expression "dVar57 = *(double *)(puVar45 + 0x1438)" (identifier "dVar57") (= "=") (pointer_expression "*(double *)(puVar45 + 0x1438)" (* "*") (cast_expression "(double *)(puVar45 + 0x1438)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar45 + 0x1438)" (( "(") (binary_expression "puVar45 + 0x1438" (identifier "puVar45") (+ "+") (number_literal "0x1438")) () ")"))))) (; ";")) (do_statement "do {\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          } while (fVar38 != unaff_s6);" (do "do") (compound_statement "{\n            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }\n            if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }\n            dVar53 = in_f24_25;\n            if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }\n            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);\n            if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }\n            fVar38 = (float)((int)fVar38 + 1);\n            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);\n            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n          }" ({ "{") (while_statement "while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }" (while "while") (parenthesized_expression "(((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54)))))" (( "(") (parenthesized_expression "((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))" (( "(") (binary_expression "(iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||\n                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54)))" (parenthesized_expression "(iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54))" (( "(") (binary_expression "iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)" (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)" (( "(") (binary_expression "*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54" (pointer_expression "*(float *)((int)pdVar8 + piVar34[0x14] * 4)" (* "*") (cast_expression "(float *)((int)pdVar8 + piVar34[0x14] * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pdVar8 + piVar34[0x14] * 4)" (( "(") (binary_expression "(int)pdVar8 + piVar34[0x14] * 4" (cast_expression "(int)pdVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar8")) (+ "+") (binary_expression "piVar34[0x14] * 4" (subscript_expression "piVar34[0x14]" (identifier "piVar34") ([ "[") (number_literal "0x14") (] "]")) (* "*") (number_literal "4"))) () ")")))) (<= "<=") (identifier "fVar54")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54)))" (( "(") (parenthesized_expression "(iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))" (( "(") (comma_expression "iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54)" (assignment_expression "iVar26 = *(int *)((int)unaff_s7 + 0x2d0)" (identifier "iVar26") (= "=") (pointer_expression "*(int *)((int)unaff_s7 + 0x2d0)" (* "*") (cast_expression "(int *)((int)unaff_s7 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s7 + 0x2d0)" (( "(") (binary_expression "(int)unaff_s7 + 0x2d0" (cast_expression "(int)unaff_s7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s7")) (+ "+") (number_literal "0x2d0")) () ")"))))) (, ",") (binary_expression "*(int *)(iVar26 + 0x4c) != 0 &&\n                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54)" (binary_expression "*(int *)(iVar26 + 0x4c) != 0" (pointer_expression "*(int *)(iVar26 + 0x4c)" (* "*") (cast_expression "(int *)(iVar26 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x4c)" (( "(") (binary_expression "iVar26 + 0x4c" (identifier "iVar26") (+ "+") (number_literal "0x4c")) () ")")))) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54)" (( "(") (binary_expression "*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54" (pointer_expression "*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4)" (* "*") (cast_expression "(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + *(int *)(iVar26 + 0x50) * 4)" (( "(") (binary_expression "iVar2 + *(int *)(iVar26 + 0x50) * 4" (identifier "iVar2") (+ "+") (binary_expression "*(int *)(iVar26 + 0x50) * 4" (pointer_expression "*(int *)(iVar26 + 0x50)" (* "*") (cast_expression "(int *)(iVar26 + 0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x50)" (( "(") (binary_expression "iVar26 + 0x50" (identifier "iVar26") (+ "+") (number_literal "0x50")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (<= "<=") (identifier "fVar54")) () ")")))) () ")")) () ")"))) () ")")) () ")")) (compound_statement "{\n              fVar38 = (float)((int)fVar38 + 1);\n              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);\n              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;\n              if (fVar38 == unaff_s6) goto LAB_00073140;\n            }" ({ "{") (expression_statement "fVar38 = (float)((int)fVar38 + 1);" (assignment_expression "fVar38 = (float)((int)fVar38 + 1)" (identifier "fVar38") (= "=") (cast_expression "(float)((int)fVar38 + 1)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((int)fVar38 + 1)" (( "(") (binary_expression "(int)fVar38 + 1" (cast_expression "(int)fVar38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar38")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);" (assignment_expression "pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4)" (identifier "pdVar8") (= "=") (cast_expression "(double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4)" (( "(") (binary_expression "(int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4" (cast_expression "(int)pdVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar8")) (+ "+") (binary_expression "*(int *)((int)unaff_s1 + 0x2c0) * 4" (pointer_expression "*(int *)((int)unaff_s1 + 0x2c0)" (* "*") (cast_expression "(int *)((int)unaff_s1 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s1 + 0x2c0)" (( "(") (binary_expression "(int)unaff_s1 + 0x2c0" (cast_expression "(int)unaff_s1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s1")) (+ "+") (number_literal "0x2c0")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;" (assignment_expression "iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4" (identifier "iVar2") (= "=") (binary_expression "iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4" (identifier "iVar2") (+ "+") (binary_expression "*(int *)((int)unaff_s7 + 0x2c0) * 4" (pointer_expression "*(int *)((int)unaff_s7 + 0x2c0)" (* "*") (cast_expression "(int *)((int)unaff_s7 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s7 + 0x2c0)" (( "(") (binary_expression "(int)unaff_s7 + 0x2c0" (cast_expression "(int)unaff_s7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s7")) (+ "+") (number_literal "0x2c0")) () ")")))) (* "*") (number_literal "4")))) (; ";")) (if_statement "if (fVar38 == unaff_s6) goto LAB_00073140;" (if "if") (parenthesized_expression "(fVar38 == unaff_s6)" (( "(") (binary_expression "fVar38 == unaff_s6" (identifier "fVar38") (== "==") (identifier "unaff_s6")) () ")")) (goto_statement "goto LAB_00073140;" (goto "goto") (statement_identifier "LAB_00073140") (; ";"))) (} "}"))) (if_statement "if (piVar34[0xd] == 0) {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }\n            else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }" (if "if") (parenthesized_expression "(piVar34[0xd] == 0)" (( "(") (binary_expression "piVar34[0xd] == 0" (subscript_expression "piVar34[0xd]" (identifier "piVar34") ([ "[") (number_literal "0xd") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = dVar57;\n            }" ({ "{") (expression_statement "iVar46 = *(int *)(iVar26 + 0x34);" (assignment_expression "iVar46 = *(int *)(iVar26 + 0x34)" (identifier "iVar46") (= "=") (pointer_expression "*(int *)(iVar26 + 0x34)" (* "*") (cast_expression "(int *)(iVar26 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x34)" (( "(") (binary_expression "iVar26 + 0x34" (identifier "iVar26") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "dVar60 = dVar57;" (assignment_expression "dVar60 = dVar57" (identifier "dVar60") (= "=") (identifier "dVar57")) (; ";")) (} "}")) (else_clause "else {\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }" (else "else") (compound_statement "{\n              iVar46 = *(int *)(iVar26 + 0x34);\n              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;\n            }" ({ "{") (expression_statement "iVar46 = *(int *)(iVar26 + 0x34);" (assignment_expression "iVar46 = *(int *)(iVar26 + 0x34)" (identifier "iVar46") (= "=") (pointer_expression "*(int *)(iVar26 + 0x34)" (* "*") (cast_expression "(int *)(iVar26 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x34)" (( "(") (binary_expression "iVar26 + 0x34" (identifier "iVar26") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;" (assignment_expression "dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56" (identifier "dVar60") (= "=") (binary_expression "(double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56" (cast_expression "(double)*(float *)((int)pdVar8 + piVar34[0xe] * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)((int)pdVar8 + piVar34[0xe] * 4)" (* "*") (cast_expression "(float *)((int)pdVar8 + piVar34[0xe] * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pdVar8 + piVar34[0xe] * 4)" (( "(") (binary_expression "(int)pdVar8 + piVar34[0xe] * 4" (cast_expression "(int)pdVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar8")) (+ "+") (binary_expression "piVar34[0xe] * 4" (subscript_expression "piVar34[0xe]" (identifier "piVar34") ([ "[") (number_literal "0xe") (] "]")) (* "*") (number_literal "4"))) () ")"))))) (* "*") (identifier "dVar56"))) (; ";")) (} "}")))) (expression_statement "dVar53 = in_f24_25;" (assignment_expression "dVar53 = in_f24_25" (identifier "dVar53") (= "=") (identifier "in_f24_25")) (; ";")) (if_statement "if (iVar46 != 0) {\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }" (if "if") (parenthesized_expression "(iVar46 != 0)" (( "(") (binary_expression "iVar46 != 0" (identifier "iVar46") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;\n            }" ({ "{") (expression_statement "dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;" (assignment_expression "dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56" (identifier "dVar53") (= "=") (binary_expression "(double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56" (cast_expression "(double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4)" (* "*") (cast_expression "(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + *(int *)(iVar26 + 0x38) * 4)" (( "(") (binary_expression "iVar2 + *(int *)(iVar26 + 0x38) * 4" (identifier "iVar2") (+ "+") (binary_expression "*(int *)(iVar26 + 0x38) * 4" (pointer_expression "*(int *)(iVar26 + 0x38)" (* "*") (cast_expression "(int *)(iVar26 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x38)" (( "(") (binary_expression "iVar26 + 0x38" (identifier "iVar26") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (* "*") (identifier "dVar56"))) (; ";")) (} "}"))) (expression_statement "iVar46 = *(int *)((int)unaff_s1 + 0x2c0);" (assignment_expression "iVar46 = *(int *)((int)unaff_s1 + 0x2c0)" (identifier "iVar46") (= "=") (pointer_expression "*(int *)((int)unaff_s1 + 0x2c0)" (* "*") (cast_expression "(int *)((int)unaff_s1 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s1 + 0x2c0)" (( "(") (binary_expression "(int)unaff_s1 + 0x2c0" (cast_expression "(int)unaff_s1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s1")) (+ "+") (number_literal "0x2c0")) () ")"))))) (; ";")) (if_statement "if (0 < iVar46) {\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }" (if "if") (parenthesized_expression "(0 < iVar46)" (( "(") (binary_expression "0 < iVar46" (number_literal "0") (< "<") (identifier "iVar46")) () ")")) (compound_statement "{\n              piVar9 = piVar34;\n              pdVar10 = unaff_s0;\n              pdVar11 = pdVar8;\n              do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);\n            }" ({ "{") (expression_statement "piVar9 = piVar34;" (assignment_expression "piVar9 = piVar34" (identifier "piVar9") (= "=") (identifier "piVar34")) (; ";")) (expression_statement "pdVar10 = unaff_s0;" (assignment_expression "pdVar10 = unaff_s0" (identifier "pdVar10") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "pdVar11 = pdVar8;" (assignment_expression "pdVar11 = pdVar8" (identifier "pdVar11") (= "=") (identifier "pdVar8")) (; ";")) (do_statement "do {\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              } while (piVar9 != piVar34 + iVar46 * 3);" (do "do") (compound_statement "{\n                iVar42 = *piVar9;\n                iVar40 = iVar26 + iVar42 * 0xc;\n                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }\n                piVar9 = piVar9 + 3;\n                pdVar10 = pdVar10 + 1;\n                pdVar11 = (double *)((int)pdVar11 + 4);\n              }" ({ "{") (expression_statement "iVar42 = *piVar9;" (assignment_expression "iVar42 = *piVar9" (identifier "iVar42") (= "=") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) (; ";")) (expression_statement "iVar40 = iVar26 + iVar42 * 0xc;" (assignment_expression "iVar40 = iVar26 + iVar42 * 0xc" (identifier "iVar40") (= "=") (binary_expression "iVar26 + iVar42 * 0xc" (identifier "iVar26") (+ "+") (binary_expression "iVar42 * 0xc" (identifier "iVar42") (* "*") (number_literal "0xc")))) (; ";")) (if_statement "if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)) {\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }" (if "if") (parenthesized_expression "(((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0))" (( "(") (binary_expression "((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    ) && ((uVar28 & 2) != 0)" (parenthesized_expression "((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)\n                    )" (( "(") (binary_expression "(piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)" (parenthesized_expression "(piVar34[iVar42 * 3 + 1] != 0)" (( "(") (binary_expression "piVar34[iVar42 * 3 + 1] != 0" (subscript_expression "piVar34[iVar42 * 3 + 1]" (identifier "piVar34") ([ "[") (binary_expression "iVar42 * 3 + 1" (binary_expression "iVar42 * 3" (identifier "iVar42") (* "*") (number_literal "3")) (+ "+") (number_literal "1")) (] "]")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)" (( "(") (comma_expression "uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0" (assignment_expression "uVar28 = *(uint *)(iVar40 + 4)" (identifier "uVar28") (= "=") (pointer_expression "*(uint *)(iVar40 + 4)" (* "*") (cast_expression "(uint *)(iVar40 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar40 + 4)" (( "(") (binary_expression "iVar40 + 4" (identifier "iVar40") (+ "+") (number_literal "4")) () ")"))))) (, ",") (binary_expression "uVar28 != 0" (identifier "uVar28") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((uVar28 & 2) != 0)" (( "(") (binary_expression "(uVar28 & 2) != 0" (parenthesized_expression "(uVar28 & 2)" (( "(") (binary_expression "uVar28 & 2" (identifier "uVar28") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);\n                  if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }\n                  if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }\n                  if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }\n                }" ({ "{") (expression_statement "dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);" (assignment_expression "dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4)" (identifier "dVar55") (= "=") (cast_expression "(double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4)" (* "*") (cast_expression "(float *)(iVar2 + *(int *)(iVar40 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + *(int *)(iVar40 + 8) * 4)" (( "(") (binary_expression "iVar2 + *(int *)(iVar40 + 8) * 4" (identifier "iVar2") (+ "+") (binary_expression "*(int *)(iVar40 + 8) * 4" (pointer_expression "*(int *)(iVar40 + 8)" (* "*") (cast_expression "(int *)(iVar40 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar40 + 8)" (( "(") (binary_expression "iVar40 + 8" (identifier "iVar40") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (if_statement "if (iVar42 == 4) {\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }\n                  else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }" (if "if") (parenthesized_expression "(iVar42 == 4)" (( "(") (binary_expression "iVar42 == 4" (identifier "iVar42") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;\n                  }" ({ "{") (expression_statement "dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;" (assignment_expression "dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23" (identifier "dVar55") (= "=") (binary_expression "ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23" (call_expression "ABS((double)*(float *)pdVar11 - dVar55)" (identifier "ABS") (argument_list "((double)*(float *)pdVar11 - dVar55)" (( "(") (binary_expression "(double)*(float *)pdVar11 - dVar55" (cast_expression "(double)*(float *)pdVar11" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)pdVar11" (* "*") (cast_expression "(float *)pdVar11" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pdVar11")))) (- "-") (identifier "dVar55")) () ")"))) (* "*") (identifier "in_f22_23"))) (; ";")) (} "}")) (else_clause "else {\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }" (else "else") (compound_statement "{\n                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;\n                  }" ({ "{") (expression_statement "dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;" (assignment_expression "dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21" (identifier "dVar55") (= "=") (binary_expression "ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21" (call_expression "ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55)" (identifier "ABS") (argument_list "(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55)" (( "(") (binary_expression "dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55" (binary_expression "dVar60 * (double)*(float *)pdVar11" (identifier "dVar60") (* "*") (cast_expression "(double)*(float *)pdVar11" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)pdVar11" (* "*") (cast_expression "(float *)pdVar11" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pdVar11"))))) (- "-") (binary_expression "dVar53 * dVar55" (identifier "dVar53") (* "*") (identifier "dVar55"))) () ")"))) (* "*") (identifier "in_f20_21"))) (; ";")) (} "}")))) (if_statement "if (*pdVar10 < dVar55) {\n                    *pdVar10 = dVar55;\n                  }" (if "if") (parenthesized_expression "(*pdVar10 < dVar55)" (( "(") (binary_expression "*pdVar10 < dVar55" (pointer_expression "*pdVar10" (* "*") (identifier "pdVar10")) (< "<") (identifier "dVar55")) () ")")) (compound_statement "{\n                    *pdVar10 = dVar55;\n                  }" ({ "{") (expression_statement "*pdVar10 = dVar55;" (assignment_expression "*pdVar10 = dVar55" (pointer_expression "*pdVar10" (* "*") (identifier "pdVar10")) (= "=") (identifier "dVar55")) (; ";")) (} "}"))) (if_statement "if (local_250[0x40] < dVar55) {\n                    local_250[0x40] = dVar55;\n                  }" (if "if") (parenthesized_expression "(local_250[0x40] < dVar55)" (( "(") (binary_expression "local_250[0x40] < dVar55" (subscript_expression "local_250[0x40]" (identifier "local_250") ([ "[") (number_literal "0x40") (] "]")) (< "<") (identifier "dVar55")) () ")")) (compound_statement "{\n                    local_250[0x40] = dVar55;\n                  }" ({ "{") (expression_statement "local_250[0x40] = dVar55;" (assignment_expression "local_250[0x40] = dVar55" (subscript_expression "local_250[0x40]" (identifier "local_250") ([ "[") (number_literal "0x40") (] "]")) (= "=") (identifier "dVar55")) (; ";")) (} "}"))) (} "}"))) (expression_statement "piVar9 = piVar9 + 3;" (assignment_expression "piVar9 = piVar9 + 3" (identifier "piVar9") (= "=") (binary_expression "piVar9 + 3" (identifier "piVar9") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "pdVar10 = pdVar10 + 1;" (assignment_expression "pdVar10 = pdVar10 + 1" (identifier "pdVar10") (= "=") (binary_expression "pdVar10 + 1" (identifier "pdVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pdVar11 = (double *)((int)pdVar11 + 4);" (assignment_expression "pdVar11 = (double *)((int)pdVar11 + 4)" (identifier "pdVar11") (= "=") (cast_expression "(double *)((int)pdVar11 + 4)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pdVar11 + 4)" (( "(") (binary_expression "(int)pdVar11 + 4" (cast_expression "(int)pdVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar11")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar9 != piVar34 + iVar46 * 3)" (( "(") (binary_expression "piVar9 != piVar34 + iVar46 * 3" (identifier "piVar9") (!= "!=") (binary_expression "piVar34 + iVar46 * 3" (identifier "piVar34") (+ "+") (binary_expression "iVar46 * 3" (identifier "iVar46") (* "*") (number_literal "3")))) () ")")) (; ";")) (} "}"))) (expression_statement "fVar38 = (float)((int)fVar38 + 1);" (assignment_expression "fVar38 = (float)((int)fVar38 + 1)" (identifier "fVar38") (= "=") (cast_expression "(float)((int)fVar38 + 1)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "((int)fVar38 + 1)" (( "(") (binary_expression "(int)fVar38 + 1" (cast_expression "(int)fVar38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar38")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);" (assignment_expression "pdVar8 = (double *)((int)pdVar8 + iVar46 * 4)" (identifier "pdVar8") (= "=") (cast_expression "(double *)((int)pdVar8 + iVar46 * 4)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pdVar8 + iVar46 * 4)" (( "(") (binary_expression "(int)pdVar8 + iVar46 * 4" (cast_expression "(int)pdVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar8")) (+ "+") (binary_expression "iVar46 * 4" (identifier "iVar46") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;" (assignment_expression "iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4" (identifier "iVar2") (= "=") (binary_expression "iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4" (identifier "iVar2") (+ "+") (binary_expression "*(int *)((int)unaff_s7 + 0x2c0) * 4" (pointer_expression "*(int *)((int)unaff_s7 + 0x2c0)" (* "*") (cast_expression "(int *)((int)unaff_s7 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s7 + 0x2c0)" (( "(") (binary_expression "(int)unaff_s7 + 0x2c0" (cast_expression "(int)unaff_s7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s7")) (+ "+") (number_literal "0x2c0")) () ")")))) (* "*") (number_literal "4")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(fVar38 != unaff_s6)" (( "(") (binary_expression "fVar38 != unaff_s6" (identifier "fVar38") (!= "!=") (identifier "unaff_s6")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_00073140:\n        (*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);" (statement_identifier "LAB_00073140") (: ":") (expression_statement "(*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);" (call_expression "(*(code *)PTR_GOMP_critical_name_start_003a9734)\n                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644)" (parenthesized_expression "(*(code *)PTR_GOMP_critical_name_start_003a9734)" (( "(") (pointer_expression "*(code *)PTR_GOMP_critical_name_start_003a9734" (* "*") (cast_expression "(code *)PTR_GOMP_critical_name_start_003a9734" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GOMP_critical_name_start_003a9734"))) () ")")) (argument_list "(PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644)" (( "(") (identifier "PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644") () ")"))) (; ";"))) (expression_statement "pdVar10 = pdVar7;" (assignment_expression "pdVar10 = pdVar7" (identifier "pdVar10") (= "=") (identifier "pdVar7")) (; ";")) (do_statement "do {\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        } while ((double *)&uStack_48 != unaff_s0);" (do "do") (compound_statement "{\n          if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }\n          unaff_s0 = unaff_s0 + 1;\n          pdVar10 = pdVar10 + 1;\n        }" ({ "{") (if_statement "if (*pdVar10 < *unaff_s0) {\n            *pdVar10 = *unaff_s0;\n          }" (if "if") (parenthesized_expression "(*pdVar10 < *unaff_s0)" (( "(") (binary_expression "*pdVar10 < *unaff_s0" (pointer_expression "*pdVar10" (* "*") (identifier "pdVar10")) (< "<") (pointer_expression "*unaff_s0" (* "*") (identifier "unaff_s0"))) () ")")) (compound_statement "{\n            *pdVar10 = *unaff_s0;\n          }" ({ "{") (expression_statement "*pdVar10 = *unaff_s0;" (assignment_expression "*pdVar10 = *unaff_s0" (pointer_expression "*pdVar10" (* "*") (identifier "pdVar10")) (= "=") (pointer_expression "*unaff_s0" (* "*") (identifier "unaff_s0"))) (; ";")) (} "}"))) (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"))) (; ";")) (expression_statement "pdVar10 = pdVar10 + 1;" (assignment_expression "pdVar10 = pdVar10 + 1" (identifier "pdVar10") (= "=") (binary_expression "pdVar10 + 1" (identifier "pdVar10") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((double *)&uStack_48 != unaff_s0)" (( "(") (binary_expression "(double *)&uStack_48 != unaff_s0" (cast_expression "(double *)&uStack_48" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&uStack_48" (& "&") (identifier "uStack_48"))) (!= "!=") (identifier "unaff_s0")) () ")")) (; ";")) (expression_statement "pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;" (assignment_expression "pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644" (identifier "pdVar10") (= "=") (cast_expression "(double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644"))) (; ";")) (expression_statement "(*(code *)PTR_GOMP_critical_name_end_003a93ac)();" (call_expression "(*(code *)PTR_GOMP_critical_name_end_003a93ac)()" (parenthesized_expression "(*(code *)PTR_GOMP_critical_name_end_003a93ac)" (( "(") (pointer_expression "*(code *)PTR_GOMP_critical_name_end_003a93ac" (* "*") (cast_expression "(code *)PTR_GOMP_critical_name_end_003a93ac" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GOMP_critical_name_end_003a93ac"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_00073194;" (goto "goto") (statement_identifier "LAB_00073194") (; ";")) (} "}"))) (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 "*(float *)(param_1 + 4) = 0.0;" (assignment_expression "*(float *)(param_1 + 4) = 0.0" (pointer_expression "*(float *)(param_1 + 4)" (* "*") (cast_expression "(float *)(param_1 + 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0.0")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar62 != unaff_s5)" (( "(") (binary_expression "iVar62 != unaff_s5" (identifier "iVar62") (!= "!=") (identifier "unaff_s5")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_000731a4:\n  if (uStack_48._4_4_ == *(int *)puVar1) {\n    return;\n  }" (statement_identifier "LAB_000731a4") (: ":") (if_statement "if (uStack_48._4_4_ == *(int *)puVar1) {\n    return;\n  }" (if "if") (parenthesized_expression "(uStack_48._4_4_ == *(int *)puVar1)" (( "(") (binary_expression "uStack_48._4_4_ == *(int *)puVar1" (field_expression "uStack_48._4_4_" (identifier "uStack_48") (. ".") (field_identifier "_4_4_")) (== "==") (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1")))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}")))) (expression_statement "pcVar49 = FUN_00073244;" (assignment_expression "pcVar49 = FUN_00073244" (identifier "pcVar49") (= "=") (identifier "FUN_00073244")) (; ";")) (expression_statement "puVar45 = PTR___stack_chk_fail_003a9064;" (assignment_expression "puVar45 = PTR___stack_chk_fail_003a9064" (identifier "puVar45") (= "=") (identifier "PTR___stack_chk_fail_003a9064")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_003a9064" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_003a9064"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar34 = *(int **)(puVar45 + 0x335fec);" (assignment_expression "piVar34 = *(int **)(puVar45 + 0x335fec)" (identifier "piVar34") (= "=") (pointer_expression "*(int **)(puVar45 + 0x335fec)" (* "*") (cast_expression "(int **)(puVar45 + 0x335fec)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar45 + 0x335fec)" (( "(") (binary_expression "puVar45 + 0x335fec" (identifier "puVar45") (+ "+") (number_literal "0x335fec")) () ")"))))) (; ";")) (expression_statement "iStack_2e4 = *piVar34;" (assignment_expression "iStack_2e4 = *piVar34" (identifier "iStack_2e4") (= "=") (pointer_expression "*piVar34" (* "*") (identifier "piVar34"))) (; ";")) (expression_statement "pdStack_2e0 = unaff_s0;" (assignment_expression "pdStack_2e0 = unaff_s0" (identifier "pdStack_2e0") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "fStack_2dc = unaff_s1;" (assignment_expression "fStack_2dc = unaff_s1" (identifier "fStack_2dc") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "pdStack_2d8 = unaff_s2;" (assignment_expression "pdStack_2d8 = unaff_s2" (identifier "pdStack_2d8") (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "iStack_2d4 = iVar2;" (assignment_expression "iStack_2d4 = iVar2" (identifier "iStack_2d4") (= "=") (identifier "iVar2")) (; ";")) (expression_statement "pdStack_2d0 = pdVar8;" (assignment_expression "pdStack_2d0 = pdVar8" (identifier "pdStack_2d0") (= "=") (identifier "pdVar8")) (; ";")) (expression_statement "iStack_2cc = unaff_s5;" (assignment_expression "iStack_2cc = unaff_s5" (identifier "iStack_2cc") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "fStack_2c8 = unaff_s6;" (assignment_expression "fStack_2c8 = unaff_s6" (identifier "fStack_2c8") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "fStack_2c4 = unaff_s7;" (assignment_expression "fStack_2c4 = unaff_s7" (identifier "fStack_2c4") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "iStack_2c0 = iVar62;" (assignment_expression "iStack_2c0 = iVar62" (identifier "iStack_2c0") (= "=") (identifier "iVar62")) (; ";")) (expression_statement "pcStack_2bc = pcVar49;" (assignment_expression "pcStack_2bc = pcVar49" (identifier "pcStack_2bc") (= "=") (identifier "pcVar49")) (; ";")) (expression_statement "dStack_2b8 = in_f20_21;" (assignment_expression "dStack_2b8 = in_f20_21" (identifier "dStack_2b8") (= "=") (identifier "in_f20_21")) (; ";")) (expression_statement "dStack_2b0 = in_f22_23;" (assignment_expression "dStack_2b0 = in_f22_23" (identifier "dStack_2b0") (= "=") (identifier "in_f22_23")) (; ";")) (expression_statement "dStack_2a8 = in_f24_25;" (assignment_expression "dStack_2a8 = in_f24_25" (identifier "dStack_2a8") (= "=") (identifier "in_f24_25")) (; ";")) (expression_statement "iVar3 = (**(code **)(puVar45 + 0x3366c8))();" (assignment_expression "iVar3 = (**(code **)(puVar45 + 0x3366c8))()" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar45 + 0x3366c8))()" (parenthesized_expression "(**(code **)(puVar45 + 0x3366c8))" (( "(") (pointer_expression "**(code **)(puVar45 + 0x3366c8)" (* "*") (pointer_expression "*(code **)(puVar45 + 0x3366c8)" (* "*") (cast_expression "(code **)(puVar45 + 0x3366c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar45 + 0x3366c8)" (( "(") (binary_expression "puVar45 + 0x3366c8" (identifier "puVar45") (+ "+") (number_literal "0x3366c8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar2 = (**(code **)(puVar45 + 0x3362c4))();" (assignment_expression "iVar2 = (**(code **)(puVar45 + 0x3362c4))()" (identifier "iVar2") (= "=") (call_expression "(**(code **)(puVar45 + 0x3362c4))()" (parenthesized_expression "(**(code **)(puVar45 + 0x3362c4))" (( "(") (pointer_expression "**(code **)(puVar45 + 0x3362c4)" (* "*") (pointer_expression "*(code **)(puVar45 + 0x3362c4)" (* "*") (cast_expression "(code **)(puVar45 + 0x3362c4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar45 + 0x3362c4)" (( "(") (binary_expression "puVar45 + 0x3362c4" (identifier "puVar45") (+ "+") (number_literal "0x3362c4")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n    trap(7);\n  }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    trap(7);\n  }" ({ "{") (expression_statement "trap(7);" (call_expression "trap(7)" (identifier "trap") (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar62 = (int)*(float *)(pdVar10 + 6) / iVar3;" (assignment_expression "iVar62 = (int)*(float *)(pdVar10 + 6) / iVar3" (identifier "iVar62") (= "=") (binary_expression "(int)*(float *)(pdVar10 + 6) / iVar3" (cast_expression "(int)*(float *)(pdVar10 + 6)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(float *)(pdVar10 + 6)" (* "*") (cast_expression "(float *)(pdVar10 + 6)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pdVar10 + 6)" (( "(") (binary_expression "pdVar10 + 6" (identifier "pdVar10") (+ "+") (number_literal "6")) () ")"))))) (/ "/") (identifier "iVar3"))) (; ";")) (expression_statement "pdVar8 = (double *)((int)*(float *)(pdVar10 + 6) % iVar3);" (assignment_expression "pdVar8 = (double *)((int)*(float *)(pdVar10 + 6) % iVar3)" (identifier "pdVar8") (= "=") (cast_expression "(double *)((int)*(float *)(pdVar10 + 6) % iVar3)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)*(float *)(pdVar10 + 6) % iVar3)" (( "(") (binary_expression "(int)*(float *)(pdVar10 + 6) % iVar3" (cast_expression "(int)*(float *)(pdVar10 + 6)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(float *)(pdVar10 + 6)" (* "*") (cast_expression "(float *)(pdVar10 + 6)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pdVar10 + 6)" (( "(") (binary_expression "pdVar10 + 6" (identifier "pdVar10") (+ "+") (number_literal "6")) () ")"))))) (% "%") (identifier "iVar3")) () ")")))) (; ";")) (if_statement "if (iVar2 < (int)pdVar8) {\n    iVar62 = iVar62 + 1;\n    pdVar8 = (double *)0x0;\n  }" (if "if") (parenthesized_expression "(iVar2 < (int)pdVar8)" (( "(") (binary_expression "iVar2 < (int)pdVar8" (identifier "iVar2") (< "<") (cast_expression "(int)pdVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar8"))) () ")")) (compound_statement "{\n    iVar62 = iVar62 + 1;\n    pdVar8 = (double *)0x0;\n  }" ({ "{") (expression_statement "iVar62 = iVar62 + 1;" (assignment_expression "iVar62 = iVar62 + 1" (identifier "iVar62") (= "=") (binary_expression "iVar62 + 1" (identifier "iVar62") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pdVar8 = (double *)0x0;" (assignment_expression "pdVar8 = (double *)0x0" (identifier "pdVar8") (= "=") (cast_expression "(double *)0x0" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (expression_statement "pdStack_f48 = (double *)(iVar62 * iVar2 + (int)pdVar8);" (assignment_expression "pdStack_f48 = (double *)(iVar62 * iVar2 + (int)pdVar8)" (identifier "pdStack_f48") (= "=") (cast_expression "(double *)(iVar62 * iVar2 + (int)pdVar8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar62 * iVar2 + (int)pdVar8)" (( "(") (binary_expression "iVar62 * iVar2 + (int)pdVar8" (binary_expression "iVar62 * iVar2" (identifier "iVar62") (* "*") (identifier "iVar2")) (+ "+") (cast_expression "(int)pdVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar8"))) () ")")))) (; ";")) (expression_statement "pdVar4 = (double *)(iVar62 + (int)pdStack_f48);" (assignment_expression "pdVar4 = (double *)(iVar62 + (int)pdStack_f48)" (identifier "pdVar4") (= "=") (cast_expression "(double *)(iVar62 + (int)pdStack_f48)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar62 + (int)pdStack_f48)" (( "(") (binary_expression "iVar62 + (int)pdStack_f48" (identifier "iVar62") (+ "+") (cast_expression "(int)pdStack_f48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdStack_f48"))) () ")")))) (; ";")) (if_statement "if ((int)pdStack_f48 < (int)pdVar4) {\n    dVar57 = pdVar10[1];\n    fVar5 = *(float *)(pdVar10 + 5);\n    pdVar20 = *(double **)((int)pdVar10 + 0x2c);\n    dVar56 = *pdVar10;\n    dVar60 = *(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440);\n    pdVar7 = *(double **)((int)pdVar10 + 0x24);\n    fVar6 = *(float *)(pdVar10 + 4);\n    fVar38 = *(float *)((int)pdVar10 + 0x1c);\n    pdVar11 = *(double **)(pdVar10 + 3);\n    fVar54 = *(float *)((int)pdVar10 + 0x14);\n    fVar12 = *(float *)(pdVar10 + 2);\n    pdVar8 = pdVar20;\n    do {\n      if (*(float *)((int)pdVar10 + 0x34) != 0.0) {\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    } while (pdVar4 != pdStack_f48);\n  }" (if "if") (parenthesized_expression "((int)pdStack_f48 < (int)pdVar4)" (( "(") (binary_expression "(int)pdStack_f48 < (int)pdVar4" (cast_expression "(int)pdStack_f48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdStack_f48")) (< "<") (cast_expression "(int)pdVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar4"))) () ")")) (compound_statement "{\n    dVar57 = pdVar10[1];\n    fVar5 = *(float *)(pdVar10 + 5);\n    pdVar20 = *(double **)((int)pdVar10 + 0x2c);\n    dVar56 = *pdVar10;\n    dVar60 = *(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440);\n    pdVar7 = *(double **)((int)pdVar10 + 0x24);\n    fVar6 = *(float *)(pdVar10 + 4);\n    fVar38 = *(float *)((int)pdVar10 + 0x1c);\n    pdVar11 = *(double **)(pdVar10 + 3);\n    fVar54 = *(float *)((int)pdVar10 + 0x14);\n    fVar12 = *(float *)(pdVar10 + 2);\n    pdVar8 = pdVar20;\n    do {\n      if (*(float *)((int)pdVar10 + 0x34) != 0.0) {\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    } while (pdVar4 != pdStack_f48);\n  }" ({ "{") (expression_statement "dVar57 = pdVar10[1];" (assignment_expression "dVar57 = pdVar10[1]" (identifier "dVar57") (= "=") (subscript_expression "pdVar10[1]" (identifier "pdVar10") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "fVar5 = *(float *)(pdVar10 + 5);" (assignment_expression "fVar5 = *(float *)(pdVar10 + 5)" (identifier "fVar5") (= "=") (pointer_expression "*(float *)(pdVar10 + 5)" (* "*") (cast_expression "(float *)(pdVar10 + 5)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pdVar10 + 5)" (( "(") (binary_expression "pdVar10 + 5" (identifier "pdVar10") (+ "+") (number_literal "5")) () ")"))))) (; ";")) (expression_statement "pdVar20 = *(double **)((int)pdVar10 + 0x2c);" (assignment_expression "pdVar20 = *(double **)((int)pdVar10 + 0x2c)" (identifier "pdVar20") (= "=") (pointer_expression "*(double **)((int)pdVar10 + 0x2c)" (* "*") (cast_expression "(double **)((int)pdVar10 + 0x2c)" (( "(") (type_descriptor "double **" (primitive_type "double") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pdVar10 + 0x2c)" (( "(") (binary_expression "(int)pdVar10 + 0x2c" (cast_expression "(int)pdVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar10")) (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "dVar56 = *pdVar10;" (assignment_expression "dVar56 = *pdVar10" (identifier "dVar56") (= "=") (pointer_expression "*pdVar10" (* "*") (identifier "pdVar10"))) (; ";")) (expression_statement "dVar60 = *(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440);" (assignment_expression "dVar60 = *(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440)" (identifier "dVar60") (= "=") (pointer_expression "*(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440)" (* "*") (cast_expression "(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar45 + 0x33569c) + 0x1440)" (( "(") (binary_expression "*(int *)(puVar45 + 0x33569c) + 0x1440" (pointer_expression "*(int *)(puVar45 + 0x33569c)" (* "*") (cast_expression "(int *)(puVar45 + 0x33569c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar45 + 0x33569c)" (( "(") (binary_expression "puVar45 + 0x33569c" (identifier "puVar45") (+ "+") (number_literal "0x33569c")) () ")")))) (+ "+") (number_literal "0x1440")) () ")"))))) (; ";")) (expression_statement "pdVar7 = *(double **)((int)pdVar10 + 0x24);" (assignment_expression "pdVar7 = *(double **)((int)pdVar10 + 0x24)" (identifier "pdVar7") (= "=") (pointer_expression "*(double **)((int)pdVar10 + 0x24)" (* "*") (cast_expression "(double **)((int)pdVar10 + 0x24)" (( "(") (type_descriptor "double **" (primitive_type "double") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pdVar10 + 0x24)" (( "(") (binary_expression "(int)pdVar10 + 0x24" (cast_expression "(int)pdVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar10")) (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "fVar6 = *(float *)(pdVar10 + 4);" (assignment_expression "fVar6 = *(float *)(pdVar10 + 4)" (identifier "fVar6") (= "=") (pointer_expression "*(float *)(pdVar10 + 4)" (* "*") (cast_expression "(float *)(pdVar10 + 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pdVar10 + 4)" (( "(") (binary_expression "pdVar10 + 4" (identifier "pdVar10") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "fVar38 = *(float *)((int)pdVar10 + 0x1c);" (assignment_expression "fVar38 = *(float *)((int)pdVar10 + 0x1c)" (identifier "fVar38") (= "=") (pointer_expression "*(float *)((int)pdVar10 + 0x1c)" (* "*") (cast_expression "(float *)((int)pdVar10 + 0x1c)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pdVar10 + 0x1c)" (( "(") (binary_expression "(int)pdVar10 + 0x1c" (cast_expression "(int)pdVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar10")) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "pdVar11 = *(double **)(pdVar10 + 3);" (assignment_expression "pdVar11 = *(double **)(pdVar10 + 3)" (identifier "pdVar11") (= "=") (pointer_expression "*(double **)(pdVar10 + 3)" (* "*") (cast_expression "(double **)(pdVar10 + 3)" (( "(") (type_descriptor "double **" (primitive_type "double") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pdVar10 + 3)" (( "(") (binary_expression "pdVar10 + 3" (identifier "pdVar10") (+ "+") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "fVar54 = *(float *)((int)pdVar10 + 0x14);" (assignment_expression "fVar54 = *(float *)((int)pdVar10 + 0x14)" (identifier "fVar54") (= "=") (pointer_expression "*(float *)((int)pdVar10 + 0x14)" (* "*") (cast_expression "(float *)((int)pdVar10 + 0x14)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pdVar10 + 0x14)" (( "(") (binary_expression "(int)pdVar10 + 0x14" (cast_expression "(int)pdVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar10")) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "fVar12 = *(float *)(pdVar10 + 2);" (assignment_expression "fVar12 = *(float *)(pdVar10 + 2)" (identifier "fVar12") (= "=") (pointer_expression "*(float *)(pdVar10 + 2)" (* "*") (cast_expression "(float *)(pdVar10 + 2)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pdVar10 + 2)" (( "(") (binary_expression "pdVar10 + 2" (identifier "pdVar10") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "pdVar8 = pdVar20;" (assignment_expression "pdVar8 = pdVar20" (identifier "pdVar8") (= "=") (identifier "pdVar20")) (; ";")) (do_statement "do {\n      if (*(float *)((int)pdVar10 + 0x34) != 0.0) {\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    } while (pdVar4 != pdStack_f48);" (do "do") (compound_statement "{\n      if (*(float *)((int)pdVar10 + 0x34) != 0.0) {\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }\n      pdStack_f48 = (double *)((int)pdStack_f48 + 1);\n    }" ({ "{") (if_statement "if (*(float *)((int)pdVar10 + 0x34) != 0.0) {\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }" (if "if") (parenthesized_expression "(*(float *)((int)pdVar10 + 0x34) != 0.0)" (( "(") (binary_expression "*(float *)((int)pdVar10 + 0x34) != 0.0" (pointer_expression "*(float *)((int)pdVar10 + 0x34)" (* "*") (cast_expression "(float *)((int)pdVar10 + 0x34)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pdVar10 + 0x34)" (( "(") (binary_expression "(int)pdVar10 + 0x34" (cast_expression "(int)pdVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar10")) (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0.0")) () ")")) (compound_statement "{\n        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);\n        pdVar8 = pdVar7;\n        iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);\n        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }\n      }" ({ "{") (expression_statement "pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38);" (assignment_expression "pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38)" (identifier "pfStack_f50") (= "=") (cast_expression "(float *)(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar45 + 0x336418))\n                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38)" (parenthesized_expression "(**(code **)(puVar45 + 0x336418))" (( "(") (pointer_expression "**(code **)(puVar45 + 0x336418)" (* "*") (pointer_expression "*(code **)(puVar45 + 0x336418)" (* "*") (cast_expression "(code **)(puVar45 + 0x336418)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar45 + 0x336418)" (( "(") (binary_expression "puVar45 + 0x336418" (identifier "puVar45") (+ "+") (number_literal "0x336418")) () ")"))))) () ")")) (argument_list "(fVar6,-(*(int *)((int)fVar5 + 4) / 2),\n                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),\n                                          *(int *)((int)fVar5 + 8),fVar38)" (( "(") (identifier "fVar6") (, ",") (unary_expression "-(*(int *)((int)fVar5 + 4) / 2)" (- "-") (parenthesized_expression "(*(int *)((int)fVar5 + 4) / 2)" (( "(") (binary_expression "*(int *)((int)fVar5 + 4) / 2" (pointer_expression "*(int *)((int)fVar5 + 4)" (* "*") (cast_expression "(int *)((int)fVar5 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar5 + 4)" (( "(") (binary_expression "(int)fVar5 + 4" (cast_expression "(int)fVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar5")) (+ "+") (number_literal "4")) () ")")))) (/ "/") (number_literal "2")) () ")"))) (, ",") (binary_expression "(int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2" (cast_expression "(int)pdStack_f48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdStack_f48")) (- "-") (binary_expression "*(int *)((int)fVar5 + 8) / 2" (pointer_expression "*(int *)((int)fVar5 + 8)" (* "*") (cast_expression "(int *)((int)fVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar5 + 8)" (( "(") (binary_expression "(int)fVar5 + 8" (cast_expression "(int)fVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar5")) (+ "+") (number_literal "8")) () ")")))) (/ "/") (number_literal "2"))) (, ",") (binary_expression "(int)pdVar20 + *(int *)((int)fVar5 + 4)" (cast_expression "(int)pdVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar20")) (+ "+") (pointer_expression "*(int *)((int)fVar5 + 4)" (* "*") (cast_expression "(int *)((int)fVar5 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar5 + 4)" (( "(") (binary_expression "(int)fVar5 + 4" (cast_expression "(int)fVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar5")) (+ "+") (number_literal "4")) () ")"))))) (, ",") (pointer_expression "*(int *)((int)fVar5 + 8)" (* "*") (cast_expression "(int *)((int)fVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar5 + 8)" (( "(") (binary_expression "(int)fVar5 + 8" (cast_expression "(int)fVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar5")) (+ "+") (number_literal "8")) () ")")))) (, ",") (identifier "fVar38") () ")"))))) (; ";")) (expression_statement "pdVar8 = pdVar7;" (assignment_expression "pdVar8 = pdVar7" (identifier "pdVar8") (= "=") (identifier "pdVar7")) (; ";")) (expression_statement "iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38);" (assignment_expression "iStack_f54 = (**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38)" (identifier "iStack_f54") (= "=") (call_expression "(**(code **)(puVar45 + 0x336418))\n                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38)" (parenthesized_expression "(**(code **)(puVar45 + 0x336418))" (( "(") (pointer_expression "**(code **)(puVar45 + 0x336418)" (* "*") (pointer_expression "*(code **)(puVar45 + 0x336418)" (* "*") (cast_expression "(code **)(puVar45 + 0x336418)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar45 + 0x336418)" (( "(") (binary_expression "puVar45 + 0x336418" (identifier "puVar45") (+ "+") (number_literal "0x336418")) () ")"))))) () ")")) (argument_list "(pdVar7,-(*(int *)((int)fVar5 + 4) / 2),\n                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,\n                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),\n                                fVar38)" (( "(") (identifier "pdVar7") (, ",") (unary_expression "-(*(int *)((int)fVar5 + 4) / 2)" (- "-") (parenthesized_expression "(*(int *)((int)fVar5 + 4) / 2)" (( "(") (binary_expression "*(int *)((int)fVar5 + 4) / 2" (pointer_expression "*(int *)((int)fVar5 + 4)" (* "*") (cast_expression "(int *)((int)fVar5 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar5 + 4)" (( "(") (binary_expression "(int)fVar5 + 4" (cast_expression "(int)fVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar5")) (+ "+") (number_literal "4")) () ")")))) (/ "/") (number_literal "2")) () ")"))) (, ",") (binary_expression "(int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2" (cast_expression "(int)pdStack_f48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdStack_f48")) (- "-") (binary_expression "*(int *)((int)fVar5 + 8) / 2" (pointer_expression "*(int *)((int)fVar5 + 8)" (* "*") (cast_expression "(int *)((int)fVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar5 + 8)" (( "(") (binary_expression "(int)fVar5 + 8" (cast_expression "(int)fVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar5")) (+ "+") (number_literal "8")) () ")")))) (/ "/") (number_literal "2"))) (, ",") (binary_expression "(int)pdVar20 + *(int *)((int)fVar5 + 4)" (cast_expression "(int)pdVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar20")) (+ "+") (pointer_expression "*(int *)((int)fVar5 + 4)" (* "*") (cast_expression "(int *)((int)fVar5 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar5 + 4)" (( "(") (binary_expression "(int)fVar5 + 4" (cast_expression "(int)fVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar5")) (+ "+") (number_literal "4")) () ")"))))) (, ",") (pointer_expression "*(int *)((int)fVar5 + 8)" (* "*") (cast_expression "(int *)((int)fVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar5 + 8)" (( "(") (binary_expression "(int)fVar5 + 8" (cast_expression "(int)fVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar5")) (+ "+") (number_literal "8")) () ")")))) (, ",") (identifier "fVar38") () ")")))) (; ";")) (if_statement "if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }\n        else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }" (if "if") (parenthesized_expression "((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0))" (( "(") (binary_expression "(pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)" (parenthesized_expression "(pfStack_f50 == (float *)0x0)" (( "(") (binary_expression "pfStack_f50 == (float *)0x0" (identifier "pfStack_f50") (== "==") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(iStack_f54 == 0)" (( "(") (binary_expression "iStack_f54 == 0" (identifier "iStack_f54") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          *(float *)((int)pdVar10 + 0x34) = 0.0;\n        }" ({ "{") (expression_statement "*(float *)((int)pdVar10 + 0x34) = 0.0;" (assignment_expression "*(float *)((int)pdVar10 + 0x34) = 0.0" (pointer_expression "*(float *)((int)pdVar10 + 0x34)" (* "*") (cast_expression "(float *)((int)pdVar10 + 0x34)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pdVar10 + 0x34)" (( "(") (binary_expression "(int)pdVar10 + 0x34" (cast_expression "(int)pdVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar10")) (+ "+") (number_literal "0x34")) () ")")))) (= "=") (number_literal "0.0")) (; ";")) (} "}")) (else_clause "else {\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }" (else "else") (compound_statement "{\n          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);\n          if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }\n          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));\n          pdVar8 = adStack_f18;\n          pdVar32 = pdVar11;\n          do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);\n          pdVar8 = *(double **)(puVar45 + 0x3360c4);\n          (**(code **)(puVar45 + 0x336168))();\n        }" ({ "{") (expression_statement "(**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);" (call_expression "(**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208)" (parenthesized_expression "(**(code **)(puVar45 + 0x336490))" (( "(") (pointer_expression "**(code **)(puVar45 + 0x336490)" (* "*") (pointer_expression "*(code **)(puVar45 + 0x336490)" (* "*") (cast_expression "(code **)(puVar45 + 0x336490)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar45 + 0x336490)" (( "(") (binary_expression "puVar45 + 0x336490" (identifier "puVar45") (+ "+") (number_literal "0x336490")) () ")"))))) () ")")) (argument_list "(adStack_f18,0,0x208)" (( "(") (identifier "adStack_f18") (, ",") (number_literal "0") (, ",") (number_literal "0x208") () ")"))) (; ";")) (if_statement "if (0 < (int)pdVar20) {\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }" (if "if") (parenthesized_expression "(0 < (int)pdVar20)" (( "(") (binary_expression "0 < (int)pdVar20" (number_literal "0") (< "<") (cast_expression "(int)pdVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar20"))) () ")")) (compound_statement "{\n            pdStack_f4c = (double *)0x0;\n            iVar2 = *(int *)((int)fVar12 + 0x2c0);\n            iVar3 = *(int *)((int)fVar54 + 0x2c0);\n            iVar62 = iVar3 * 4;\n            pcVar49 = *(code **)(puVar45 + 0x336490);\n            do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);\n          }" ({ "{") (expression_statement "pdStack_f4c = (double *)0x0;" (assignment_expression "pdStack_f4c = (double *)0x0" (identifier "pdStack_f4c") (= "=") (cast_expression "(double *)0x0" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar2 = *(int *)((int)fVar12 + 0x2c0);" (assignment_expression "iVar2 = *(int *)((int)fVar12 + 0x2c0)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)((int)fVar12 + 0x2c0)" (* "*") (cast_expression "(int *)((int)fVar12 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar12 + 0x2c0)" (( "(") (binary_expression "(int)fVar12 + 0x2c0" (cast_expression "(int)fVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar12")) (+ "+") (number_literal "0x2c0")) () ")"))))) (; ";")) (expression_statement "iVar3 = *(int *)((int)fVar54 + 0x2c0);" (assignment_expression "iVar3 = *(int *)((int)fVar54 + 0x2c0)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)((int)fVar54 + 0x2c0)" (* "*") (cast_expression "(int *)((int)fVar54 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar54 + 0x2c0)" (( "(") (binary_expression "(int)fVar54 + 0x2c0" (cast_expression "(int)fVar54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar54")) (+ "+") (number_literal "0x2c0")) () ")"))))) (; ";")) (expression_statement "iVar62 = iVar3 * 4;" (assignment_expression "iVar62 = iVar3 * 4" (identifier "iVar62") (= "=") (binary_expression "iVar3 * 4" (identifier "iVar3") (* "*") (number_literal "4"))) (; ";")) (expression_statement "pcVar49 = *(code **)(puVar45 + 0x336490);" (assignment_expression "pcVar49 = *(code **)(puVar45 + 0x336490)" (identifier "pcVar49") (= "=") (pointer_expression "*(code **)(puVar45 + 0x336490)" (* "*") (cast_expression "(code **)(puVar45 + 0x336490)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar45 + 0x336490)" (( "(") (binary_expression "puVar45 + 0x336490" (identifier "puVar45") (+ "+") (number_literal "0x336490")) () ")"))))) (; ";")) (do_statement "do {\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            } while (pdVar20 != pdStack_f4c);" (do "do") (compound_statement "{\n              (*pcVar49)(adStack_d10,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);\n              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);\n              iVar26 = *(int *)((int)fVar5 + 8);\n              pdStack_f7c = *(double **)((int)fVar5 + 0x14);\n              if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }\n              if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }\n              pfStack_f50 = pfStack_f50 + iVar2;\n              pdStack_f4c = (double *)((int)pdStack_f4c + 1);\n              iStack_f54 = iStack_f54 + iVar62;\n              pcVar49 = *(code **)(puVar45 + 0x336490);\n            }" ({ "{") (expression_statement "(*pcVar49)(adStack_d10,0,0x208);" (call_expression "(*pcVar49)(adStack_d10,0,0x208)" (parenthesized_expression "(*pcVar49)" (( "(") (pointer_expression "*pcVar49" (* "*") (identifier "pcVar49")) () ")")) (argument_list "(adStack_d10,0,0x208)" (( "(") (identifier "adStack_d10") (, ",") (number_literal "0") (, ",") (number_literal "0x208") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);" (call_expression "(**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208)" (parenthesized_expression "(**(code **)(puVar45 + 0x336490))" (( "(") (pointer_expression "**(code **)(puVar45 + 0x336490)" (* "*") (pointer_expression "*(code **)(puVar45 + 0x336490)" (* "*") (cast_expression "(code **)(puVar45 + 0x336490)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar45 + 0x336490)" (( "(") (binary_expression "puVar45 + 0x336490" (identifier "puVar45") (+ "+") (number_literal "0x336490")) () ")"))))) () ")")) (argument_list "(adStack_900,0,0x208)" (( "(") (identifier "adStack_900") (, ",") (number_literal "0") (, ",") (number_literal "0x208") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);" (call_expression "(**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208)" (parenthesized_expression "(**(code **)(puVar45 + 0x336490))" (( "(") (pointer_expression "**(code **)(puVar45 + 0x336490)" (* "*") (pointer_expression "*(code **)(puVar45 + 0x336490)" (* "*") (cast_expression "(code **)(puVar45 + 0x336490)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar45 + 0x336490)" (( "(") (binary_expression "puVar45 + 0x336490" (identifier "puVar45") (+ "+") (number_literal "0x336490")) () ")"))))) () ")")) (argument_list "(adStack_b08,0,0x208)" (( "(") (identifier "adStack_b08") (, ",") (number_literal "0") (, ",") (number_literal "0x208") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);" (call_expression "(**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208)" (parenthesized_expression "(**(code **)(puVar45 + 0x336490))" (( "(") (pointer_expression "**(code **)(puVar45 + 0x336490)" (* "*") (pointer_expression "*(code **)(puVar45 + 0x336490)" (* "*") (cast_expression "(code **)(puVar45 + 0x336490)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar45 + 0x336490)" (( "(") (binary_expression "puVar45 + 0x336490" (identifier "puVar45") (+ "+") (number_literal "0x336490")) () ")"))))) () ")")) (argument_list "(adStack_6f8,0,0x208)" (( "(") (identifier "adStack_6f8") (, ",") (number_literal "0") (, ",") (number_literal "0x208") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);" (call_expression "(**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208)" (parenthesized_expression "(**(code **)(puVar45 + 0x336490))" (( "(") (pointer_expression "**(code **)(puVar45 + 0x336490)" (* "*") (pointer_expression "*(code **)(puVar45 + 0x336490)" (* "*") (cast_expression "(code **)(puVar45 + 0x336490)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar45 + 0x336490)" (( "(") (binary_expression "puVar45 + 0x336490" (identifier "puVar45") (+ "+") (number_literal "0x336490")) () ")"))))) () ")")) (argument_list "(adStack_4f0,0,0x208)" (( "(") (identifier "adStack_4f0") (, ",") (number_literal "0") (, ",") (number_literal "0x208") () ")"))) (; ";")) (expression_statement "iVar26 = *(int *)((int)fVar5 + 8);" (assignment_expression "iVar26 = *(int *)((int)fVar5 + 8)" (identifier "iVar26") (= "=") (pointer_expression "*(int *)((int)fVar5 + 8)" (* "*") (cast_expression "(int *)((int)fVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar5 + 8)" (( "(") (binary_expression "(int)fVar5 + 8" (cast_expression "(int)fVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar5")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "pdStack_f7c = *(double **)((int)fVar5 + 0x14);" (assignment_expression "pdStack_f7c = *(double **)((int)fVar5 + 0x14)" (identifier "pdStack_f7c") (= "=") (pointer_expression "*(double **)((int)fVar5 + 0x14)" (* "*") (cast_expression "(double **)((int)fVar5 + 0x14)" (( "(") (type_descriptor "double **" (primitive_type "double") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)fVar5 + 0x14)" (( "(") (binary_expression "(int)fVar5 + 0x14" (cast_expression "(int)fVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar5")) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (0 < iVar26) {\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }" (if "if") (parenthesized_expression "(0 < iVar26)" (( "(") (binary_expression "0 < iVar26" (number_literal "0") (< "<") (identifier "iVar26")) () ")")) (compound_statement "{\n                iVar46 = *(int *)((int)fVar5 + 4);\n                iStack_f78 = 0;\n                iStack_f80 = iStack_f54;\n                pfVar50 = pfStack_f50;\n                do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);\n              }" ({ "{") (expression_statement "iVar46 = *(int *)((int)fVar5 + 4);" (assignment_expression "iVar46 = *(int *)((int)fVar5 + 4)" (identifier "iVar46") (= "=") (pointer_expression "*(int *)((int)fVar5 + 4)" (* "*") (cast_expression "(int *)((int)fVar5 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar5 + 4)" (( "(") (binary_expression "(int)fVar5 + 4" (cast_expression "(int)fVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar5")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iStack_f78 = 0;" (assignment_expression "iStack_f78 = 0" (identifier "iStack_f78") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_f80 = iStack_f54;" (assignment_expression "iStack_f80 = iStack_f54" (identifier "iStack_f80") (= "=") (identifier "iStack_f54")) (; ";")) (expression_statement "pfVar50 = pfStack_f50;" (assignment_expression "pfVar50 = pfStack_f50" (identifier "pfVar50") (= "=") (identifier "pfStack_f50")) (; ";")) (do_statement "do {\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                } while (iStack_f78 != iVar26);" (do "do") (compound_statement "{\n                  if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }\n                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);\n                  iStack_f78 = iStack_f78 + 1;\n                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;\n                }" ({ "{") (if_statement "if (0 < iVar46) {\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }" (if "if") (parenthesized_expression "(0 < iVar46)" (( "(") (binary_expression "0 < iVar46" (number_literal "0") (< "<") (identifier "iVar46")) () ")")) (compound_statement "{\n                    iVar42 = 0;\n                    pdVar8 = pdStack_f7c;\n                    iVar40 = iStack_f80;\n                    pfVar43 = pfVar50;\n                    do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);\n                    pdStack_f7c = pdStack_f7c + iVar46;\n                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);\n                    iStack_f80 = iStack_f80 + iVar46 * iVar62;\n                  }" ({ "{") (expression_statement "iVar42 = 0;" (assignment_expression "iVar42 = 0" (identifier "iVar42") (= "=") (number_literal "0")) (; ";")) (expression_statement "pdVar8 = pdStack_f7c;" (assignment_expression "pdVar8 = pdStack_f7c" (identifier "pdVar8") (= "=") (identifier "pdStack_f7c")) (; ";")) (expression_statement "iVar40 = iStack_f80;" (assignment_expression "iVar40 = iStack_f80" (identifier "iVar40") (= "=") (identifier "iStack_f80")) (; ";")) (expression_statement "pfVar43 = pfVar50;" (assignment_expression "pfVar43 = pfVar50" (identifier "pfVar43") (= "=") (identifier "pfVar50")) (; ";")) (do_statement "do {\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    } while (iVar42 != iVar46);" (do "do") (compound_statement "{\n                      if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }\n                      iVar42 = iVar42 + 1;\n                      pdVar8 = pdVar8 + 1;\n                      pfVar43 = pfVar43 + iVar2;\n                      iVar40 = iVar40 + iVar62;\n                    }" ({ "{") (if_statement "if (0 < iVar2) {\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }" (if "if") (parenthesized_expression "(0 < iVar2)" (( "(") (binary_expression "0 < iVar2" (number_literal "0") (< "<") (identifier "iVar2")) () ")")) (compound_statement "{\n                        iVar36 = *(int *)((int)fVar54 + 0x2d0);\n                        piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                        iVar13 = 0;\n                        piVar9 = piVar27;\n                        pfVar21 = pfVar43;\n                        do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);\n                      }" ({ "{") (expression_statement "iVar36 = *(int *)((int)fVar54 + 0x2d0);" (assignment_expression "iVar36 = *(int *)((int)fVar54 + 0x2d0)" (identifier "iVar36") (= "=") (pointer_expression "*(int *)((int)fVar54 + 0x2d0)" (* "*") (cast_expression "(int *)((int)fVar54 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar54 + 0x2d0)" (( "(") (binary_expression "(int)fVar54 + 0x2d0" (cast_expression "(int)fVar54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar54")) (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (expression_statement "piVar27 = *(int **)((int)fVar12 + 0x2d0);" (assignment_expression "piVar27 = *(int **)((int)fVar12 + 0x2d0)" (identifier "piVar27") (= "=") (pointer_expression "*(int **)((int)fVar12 + 0x2d0)" (* "*") (cast_expression "(int **)((int)fVar12 + 0x2d0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)fVar12 + 0x2d0)" (( "(") (binary_expression "(int)fVar12 + 0x2d0" (cast_expression "(int)fVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar12")) (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" (identifier "iVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9 = piVar27;" (assignment_expression "piVar9 = piVar27" (identifier "piVar9") (= "=") (identifier "piVar27")) (; ";")) (expression_statement "pfVar21 = pfVar43;" (assignment_expression "pfVar21 = pfVar43" (identifier "pfVar21") (= "=") (identifier "pfVar43")) (; ";")) (do_statement "do {\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        } while (iVar2 << 3 != iVar13);" (do "do") (compound_statement "{\n                          iVar23 = iVar36 + *piVar9 * 0xc;\n                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }\n                          iVar13 = iVar13 + 8;\n                          piVar9 = piVar9 + 3;\n                          pfVar21 = pfVar21 + 1;\n                        }" ({ "{") (expression_statement "iVar23 = iVar36 + *piVar9 * 0xc;" (assignment_expression "iVar23 = iVar36 + *piVar9 * 0xc" (identifier "iVar23") (= "=") (binary_expression "iVar36 + *piVar9 * 0xc" (identifier "iVar36") (+ "+") (binary_expression "*piVar9 * 0xc" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (* "*") (number_literal "0xc")))) (; ";")) (if_statement "if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }" (if "if") (parenthesized_expression "(((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0))" (( "(") (binary_expression "((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&\n                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)" (parenthesized_expression "((piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0))" (( "(") (binary_expression "(piVar27[*piVar9 * 3 + 1] != 0) &&\n                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)" (parenthesized_expression "(piVar27[*piVar9 * 3 + 1] != 0)" (( "(") (binary_expression "piVar27[*piVar9 * 3 + 1] != 0" (subscript_expression "piVar27[*piVar9 * 3 + 1]" (identifier "piVar27") ([ "[") (binary_expression "*piVar9 * 3 + 1" (binary_expression "*piVar9 * 3" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (* "*") (number_literal "3")) (+ "+") (number_literal "1")) (] "]")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)" (( "(") (comma_expression "uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0" (assignment_expression "uVar28 = *(uint *)(iVar23 + 4)" (identifier "uVar28") (= "=") (pointer_expression "*(uint *)(iVar23 + 4)" (* "*") (cast_expression "(uint *)(iVar23 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 4)" (( "(") (binary_expression "iVar23 + 4" (identifier "iVar23") (+ "+") (number_literal "4")) () ")"))))) (, ",") (binary_expression "uVar28 != 0" (identifier "uVar28") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)" (( "(") (comma_expression "pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0" (assignment_expression "pdVar32 = (double *)((int)adStack_b08 + iVar13)" (identifier "pdVar32") (= "=") (cast_expression "(double *)((int)adStack_b08 + iVar13)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)adStack_b08 + iVar13)" (( "(") (binary_expression "(int)adStack_b08 + iVar13" (cast_expression "(int)adStack_b08" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "adStack_b08")) (+ "+") (identifier "iVar13")) () ")")))) (, ",") (binary_expression "(uVar28 & 2) != 0" (parenthesized_expression "(uVar28 & 2)" (( "(") (binary_expression "uVar28 & 2" (identifier "uVar28") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);\n                            pdVar31 = (double *)((int)adStack_900 + iVar13);\n                            pdVar33 = (double *)((int)adStack_d10 + iVar13);\n                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);\n                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;\n                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;\n                            dVar53 = *pdVar8 * dVar55;\n                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;\n                            *pdVar31 = dVar58 * dVar55 + *pdVar31;\n                            *pdVar29 = dVar55 * dVar53 + *pdVar29;\n                            *pdVar33 = *pdVar33 + dVar58;\n                            *pdVar35 = *pdVar35 + dVar53;\n                          }" ({ "{") (expression_statement "pdVar29 = (double *)((int)adStack_4f0 + iVar13);" (assignment_expression "pdVar29 = (double *)((int)adStack_4f0 + iVar13)" (identifier "pdVar29") (= "=") (cast_expression "(double *)((int)adStack_4f0 + iVar13)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)adStack_4f0 + iVar13)" (( "(") (binary_expression "(int)adStack_4f0 + iVar13" (cast_expression "(int)adStack_4f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "adStack_4f0")) (+ "+") (identifier "iVar13")) () ")")))) (; ";")) (expression_statement "pdVar31 = (double *)((int)adStack_900 + iVar13);" (assignment_expression "pdVar31 = (double *)((int)adStack_900 + iVar13)" (identifier "pdVar31") (= "=") (cast_expression "(double *)((int)adStack_900 + iVar13)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)adStack_900 + iVar13)" (( "(") (binary_expression "(int)adStack_900 + iVar13" (cast_expression "(int)adStack_900" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "adStack_900")) (+ "+") (identifier "iVar13")) () ")")))) (; ";")) (expression_statement "pdVar33 = (double *)((int)adStack_d10 + iVar13);" (assignment_expression "pdVar33 = (double *)((int)adStack_d10 + iVar13)" (identifier "pdVar33") (= "=") (cast_expression "(double *)((int)adStack_d10 + iVar13)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)adStack_d10 + iVar13)" (( "(") (binary_expression "(int)adStack_d10 + iVar13" (cast_expression "(int)adStack_d10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "adStack_d10")) (+ "+") (identifier "iVar13")) () ")")))) (; ";")) (expression_statement "pdVar35 = (double *)((int)adStack_6f8 + iVar13);" (assignment_expression "pdVar35 = (double *)((int)adStack_6f8 + iVar13)" (identifier "pdVar35") (= "=") (cast_expression "(double *)((int)adStack_6f8 + iVar13)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)adStack_6f8 + iVar13)" (( "(") (binary_expression "(int)adStack_6f8 + iVar13" (cast_expression "(int)adStack_6f8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "adStack_6f8")) (+ "+") (identifier "iVar13")) () ")")))) (; ";")) (expression_statement "dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;" (assignment_expression "dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60" (identifier "dVar55") (= "=") (binary_expression "(double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60" (cast_expression "(double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4)" (* "*") (cast_expression "(float *)(iVar40 + *(int *)(iVar23 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar40 + *(int *)(iVar23 + 8) * 4)" (( "(") (binary_expression "iVar40 + *(int *)(iVar23 + 8) * 4" (identifier "iVar40") (+ "+") (binary_expression "*(int *)(iVar23 + 8) * 4" (pointer_expression "*(int *)(iVar23 + 8)" (* "*") (cast_expression "(int *)(iVar23 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 8)" (( "(") (binary_expression "iVar23 + 8" (identifier "iVar23") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (* "*") (identifier "dVar60"))) (; ";")) (expression_statement "dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;" (assignment_expression "dVar58 = (double)*pfVar21 * dVar60 * *pdVar8" (identifier "dVar58") (= "=") (binary_expression "(double)*pfVar21 * dVar60 * *pdVar8" (binary_expression "(double)*pfVar21 * dVar60" (cast_expression "(double)*pfVar21" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*pfVar21" (* "*") (identifier "pfVar21"))) (* "*") (identifier "dVar60")) (* "*") (pointer_expression "*pdVar8" (* "*") (identifier "pdVar8")))) (; ";")) (expression_statement "dVar53 = *pdVar8 * dVar55;" (assignment_expression "dVar53 = *pdVar8 * dVar55" (identifier "dVar53") (= "=") (binary_expression "*pdVar8 * dVar55" (pointer_expression "*pdVar8" (* "*") (identifier "pdVar8")) (* "*") (identifier "dVar55"))) (; ";")) (expression_statement "*pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;" (assignment_expression "*pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32" (pointer_expression "*pdVar32" (* "*") (identifier "pdVar32")) (= "=") (binary_expression "(double)*pfVar21 * dVar60 * dVar58 + *pdVar32" (binary_expression "(double)*pfVar21 * dVar60 * dVar58" (binary_expression "(double)*pfVar21 * dVar60" (cast_expression "(double)*pfVar21" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*pfVar21" (* "*") (identifier "pfVar21"))) (* "*") (identifier "dVar60")) (* "*") (identifier "dVar58")) (+ "+") (pointer_expression "*pdVar32" (* "*") (identifier "pdVar32")))) (; ";")) (expression_statement "*pdVar31 = dVar58 * dVar55 + *pdVar31;" (assignment_expression "*pdVar31 = dVar58 * dVar55 + *pdVar31" (pointer_expression "*pdVar31" (* "*") (identifier "pdVar31")) (= "=") (binary_expression "dVar58 * dVar55 + *pdVar31" (binary_expression "dVar58 * dVar55" (identifier "dVar58") (* "*") (identifier "dVar55")) (+ "+") (pointer_expression "*pdVar31" (* "*") (identifier "pdVar31")))) (; ";")) (expression_statement "*pdVar29 = dVar55 * dVar53 + *pdVar29;" (assignment_expression "*pdVar29 = dVar55 * dVar53 + *pdVar29" (pointer_expression "*pdVar29" (* "*") (identifier "pdVar29")) (= "=") (binary_expression "dVar55 * dVar53 + *pdVar29" (binary_expression "dVar55 * dVar53" (identifier "dVar55") (* "*") (identifier "dVar53")) (+ "+") (pointer_expression "*pdVar29" (* "*") (identifier "pdVar29")))) (; ";")) (expression_statement "*pdVar33 = *pdVar33 + dVar58;" (assignment_expression "*pdVar33 = *pdVar33 + dVar58" (pointer_expression "*pdVar33" (* "*") (identifier "pdVar33")) (= "=") (binary_expression "*pdVar33 + dVar58" (pointer_expression "*pdVar33" (* "*") (identifier "pdVar33")) (+ "+") (identifier "dVar58"))) (; ";")) (expression_statement "*pdVar35 = *pdVar35 + dVar53;" (assignment_expression "*pdVar35 = *pdVar35 + dVar53" (pointer_expression "*pdVar35" (* "*") (identifier "pdVar35")) (= "=") (binary_expression "*pdVar35 + dVar53" (pointer_expression "*pdVar35" (* "*") (identifier "pdVar35")) (+ "+") (identifier "dVar53"))) (; ";")) (} "}"))) (expression_statement "iVar13 = iVar13 + 8;" (assignment_expression "iVar13 = iVar13 + 8" (identifier "iVar13") (= "=") (binary_expression "iVar13 + 8" (identifier "iVar13") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "piVar9 = piVar9 + 3;" (assignment_expression "piVar9 = piVar9 + 3" (identifier "piVar9") (= "=") (binary_expression "piVar9 + 3" (identifier "piVar9") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "pfVar21 = pfVar21 + 1;" (assignment_expression "pfVar21 = pfVar21 + 1" (identifier "pfVar21") (= "=") (binary_expression "pfVar21 + 1" (identifier "pfVar21") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar2 << 3 != iVar13)" (( "(") (binary_expression "iVar2 << 3 != iVar13" (binary_expression "iVar2 << 3" (identifier "iVar2") (<< "<<") (number_literal "3")) (!= "!=") (identifier "iVar13")) () ")")) (; ";")) (} "}"))) (expression_statement "iVar42 = iVar42 + 1;" (assignment_expression "iVar42 = iVar42 + 1" (identifier "iVar42") (= "=") (binary_expression "iVar42 + 1" (identifier "iVar42") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pdVar8 = pdVar8 + 1;" (assignment_expression "pdVar8 = pdVar8 + 1" (identifier "pdVar8") (= "=") (binary_expression "pdVar8 + 1" (identifier "pdVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar43 = pfVar43 + iVar2;" (assignment_expression "pfVar43 = pfVar43 + iVar2" (identifier "pfVar43") (= "=") (binary_expression "pfVar43 + iVar2" (identifier "pfVar43") (+ "+") (identifier "iVar2"))) (; ";")) (expression_statement "iVar40 = iVar40 + iVar62;" (assignment_expression "iVar40 = iVar40 + iVar62" (identifier "iVar40") (= "=") (binary_expression "iVar40 + iVar62" (identifier "iVar40") (+ "+") (identifier "iVar62"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar42 != iVar46)" (( "(") (binary_expression "iVar42 != iVar46" (identifier "iVar42") (!= "!=") (identifier "iVar46")) () ")")) (; ";")) (expression_statement "pdStack_f7c = pdStack_f7c + iVar46;" (assignment_expression "pdStack_f7c = pdStack_f7c + iVar46" (identifier "pdStack_f7c") (= "=") (binary_expression "pdStack_f7c + iVar46" (identifier "pdStack_f7c") (+ "+") (identifier "iVar46"))) (; ";")) (expression_statement "pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);" (assignment_expression "pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4)" (identifier "pfVar50") (= "=") (cast_expression "(float *)((int)pfVar50 + iVar46 * iVar2 * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar50 + iVar46 * iVar2 * 4)" (( "(") (binary_expression "(int)pfVar50 + iVar46 * iVar2 * 4" (cast_expression "(int)pfVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar50")) (+ "+") (binary_expression "iVar46 * iVar2 * 4" (binary_expression "iVar46 * iVar2" (identifier "iVar46") (* "*") (identifier "iVar2")) (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "iStack_f80 = iStack_f80 + iVar46 * iVar62;" (assignment_expression "iStack_f80 = iStack_f80 + iVar46 * iVar62" (identifier "iStack_f80") (= "=") (binary_expression "iStack_f80 + iVar46 * iVar62" (identifier "iStack_f80") (+ "+") (binary_expression "iVar46 * iVar62" (identifier "iVar46") (* "*") (identifier "iVar62")))) (; ";")) (} "}"))) (expression_statement "pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);" (assignment_expression "pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4)" (identifier "pfVar50") (= "=") (cast_expression "(float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pfVar50 + iVar2 * (int)pdVar20 * 4)" (( "(") (binary_expression "(int)pfVar50 + iVar2 * (int)pdVar20 * 4" (cast_expression "(int)pfVar50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pfVar50")) (+ "+") (binary_expression "iVar2 * (int)pdVar20 * 4" (binary_expression "iVar2 * (int)pdVar20" (identifier "iVar2") (* "*") (cast_expression "(int)pdVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar20"))) (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "iStack_f78 = iStack_f78 + 1;" (assignment_expression "iStack_f78 = iStack_f78 + 1" (identifier "iStack_f78") (= "=") (binary_expression "iStack_f78 + 1" (identifier "iStack_f78") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;" (assignment_expression "iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3" (identifier "iStack_f80") (= "=") (binary_expression "iStack_f80 + (int)pdVar20 * 4 * iVar3" (identifier "iStack_f80") (+ "+") (binary_expression "(int)pdVar20 * 4 * iVar3" (binary_expression "(int)pdVar20 * 4" (cast_expression "(int)pdVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar20")) (* "*") (number_literal "4")) (* "*") (identifier "iVar3")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iStack_f78 != iVar26)" (( "(") (binary_expression "iStack_f78 != iVar26" (identifier "iStack_f78") (!= "!=") (identifier "iVar26")) () ")")) (; ";")) (} "}"))) (if_statement "if (0 < iVar2) {\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }" (if "if") (parenthesized_expression "(0 < iVar2)" (( "(") (binary_expression "0 < iVar2" (number_literal "0") (< "<") (identifier "iVar2")) () ")")) (compound_statement "{\n                piVar27 = *(int **)((int)fVar12 + 0x2d0);\n                iVar26 = 0;\n                iVar46 = *(int *)((int)fVar54 + 0x2d0);\n                piVar9 = piVar27;\n                do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);\n              }" ({ "{") (expression_statement "piVar27 = *(int **)((int)fVar12 + 0x2d0);" (assignment_expression "piVar27 = *(int **)((int)fVar12 + 0x2d0)" (identifier "piVar27") (= "=") (pointer_expression "*(int **)((int)fVar12 + 0x2d0)" (* "*") (cast_expression "(int **)((int)fVar12 + 0x2d0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)fVar12 + 0x2d0)" (( "(") (binary_expression "(int)fVar12 + 0x2d0" (cast_expression "(int)fVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar12")) (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (expression_statement "iVar26 = 0;" (assignment_expression "iVar26 = 0" (identifier "iVar26") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar46 = *(int *)((int)fVar54 + 0x2d0);" (assignment_expression "iVar46 = *(int *)((int)fVar54 + 0x2d0)" (identifier "iVar46") (= "=") (pointer_expression "*(int *)((int)fVar54 + 0x2d0)" (* "*") (cast_expression "(int *)((int)fVar54 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)fVar54 + 0x2d0)" (( "(") (binary_expression "(int)fVar54 + 0x2d0" (cast_expression "(int)fVar54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "fVar54")) (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (expression_statement "piVar9 = piVar27;" (assignment_expression "piVar9 = piVar27" (identifier "piVar9") (= "=") (identifier "piVar27")) (; ";")) (do_statement "do {\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                } while (iVar26 != iVar2 << 3);" (do "do") (compound_statement "{\n                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }\n                  iVar26 = iVar26 + 8;\n                  piVar9 = piVar9 + 3;\n                }" ({ "{") (if_statement "if (((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)) {\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }" (if "if") (parenthesized_expression "(((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0))" (( "(") (binary_expression "((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&\n                     ((uVar28 & 2) != 0)" (parenthesized_expression "((piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0))" (( "(") (binary_expression "(piVar27[*piVar9 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)" (parenthesized_expression "(piVar27[*piVar9 * 3 + 1] != 0)" (( "(") (binary_expression "piVar27[*piVar9 * 3 + 1] != 0" (subscript_expression "piVar27[*piVar9 * 3 + 1]" (identifier "piVar27") ([ "[") (binary_expression "*piVar9 * 3 + 1" (binary_expression "*piVar9 * 3" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (* "*") (number_literal "3")) (+ "+") (number_literal "1")) (] "]")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)" (( "(") (comma_expression "uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0" (assignment_expression "uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4)" (identifier "uVar28") (= "=") (pointer_expression "*(uint *)(iVar46 + *piVar9 * 0xc + 4)" (* "*") (cast_expression "(uint *)(iVar46 + *piVar9 * 0xc + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar46 + *piVar9 * 0xc + 4)" (( "(") (binary_expression "iVar46 + *piVar9 * 0xc + 4" (binary_expression "iVar46 + *piVar9 * 0xc" (identifier "iVar46") (+ "+") (binary_expression "*piVar9 * 0xc" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (* "*") (number_literal "0xc"))) (+ "+") (number_literal "4")) () ")"))))) (, ",") (binary_expression "uVar28 != 0" (identifier "uVar28") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((uVar28 & 2) != 0)" (( "(") (binary_expression "(uVar28 & 2) != 0" (parenthesized_expression "(uVar28 & 2)" (( "(") (binary_expression "uVar28 & 2" (identifier "uVar28") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                    dVar59 = *(double *)((int)adStack_d10 + iVar26);\n                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);\n                    pdVar8 = (double *)((int)adStack_f18 + iVar26);\n                    dVar55 = dVar59 * dVar53;\n                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;\n                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));\n                    *pdVar8 = *pdVar8 + dVar53;\n                    dStack_d18 = dStack_d18 + dVar53;\n                  }" ({ "{") (expression_statement "dVar59 = *(double *)((int)adStack_d10 + iVar26);" (assignment_expression "dVar59 = *(double *)((int)adStack_d10 + iVar26)" (identifier "dVar59") (= "=") (pointer_expression "*(double *)((int)adStack_d10 + iVar26)" (* "*") (cast_expression "(double *)((int)adStack_d10 + iVar26)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)adStack_d10 + iVar26)" (( "(") (binary_expression "(int)adStack_d10 + iVar26" (cast_expression "(int)adStack_d10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "adStack_d10")) (+ "+") (identifier "iVar26")) () ")"))))) (; ";")) (expression_statement "dVar53 = *(double *)((int)adStack_6f8 + iVar26);" (assignment_expression "dVar53 = *(double *)((int)adStack_6f8 + iVar26)" (identifier "dVar53") (= "=") (pointer_expression "*(double *)((int)adStack_6f8 + iVar26)" (* "*") (cast_expression "(double *)((int)adStack_6f8 + iVar26)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)adStack_6f8 + iVar26)" (( "(") (binary_expression "(int)adStack_6f8 + iVar26" (cast_expression "(int)adStack_6f8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "adStack_6f8")) (+ "+") (identifier "iVar26")) () ")"))))) (; ";")) (expression_statement "pdVar8 = (double *)((int)adStack_f18 + iVar26);" (assignment_expression "pdVar8 = (double *)((int)adStack_f18 + iVar26)" (identifier "pdVar8") (= "=") (cast_expression "(double *)((int)adStack_f18 + iVar26)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)adStack_f18 + iVar26)" (( "(") (binary_expression "(int)adStack_f18 + iVar26" (cast_expression "(int)adStack_f18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "adStack_f18")) (+ "+") (identifier "iVar26")) () ")")))) (; ";")) (expression_statement "dVar55 = dVar59 * dVar53;" (assignment_expression "dVar55 = dVar59 * dVar53" (identifier "dVar55") (= "=") (binary_expression "dVar59 * dVar53" (identifier "dVar59") (* "*") (identifier "dVar53"))) (; ";")) (expression_statement "dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;" (assignment_expression "dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55" (identifier "dVar58") (= "=") (binary_expression "*(double *)((int)adStack_900 + iVar26) - dVar55" (pointer_expression "*(double *)((int)adStack_900 + iVar26)" (* "*") (cast_expression "(double *)((int)adStack_900 + iVar26)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)adStack_900 + iVar26)" (( "(") (binary_expression "(int)adStack_900 + iVar26" (cast_expression "(int)adStack_900" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "adStack_900")) (+ "+") (identifier "iVar26")) () ")")))) (- "-") (identifier "dVar55"))) (; ";")) (expression_statement "dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));" (assignment_expression "dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56))" (identifier "dVar53") (= "=") (binary_expression "((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /\n                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56))" (parenthesized_expression "((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56))" (( "(") (binary_expression "(dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)" (parenthesized_expression "(dVar58 + dVar58 + dVar57)" (( "(") (binary_expression "dVar58 + dVar58 + dVar57" (binary_expression "dVar58 + dVar58" (identifier "dVar58") (+ "+") (identifier "dVar58")) (+ "+") (identifier "dVar57")) () ")")) (* "*") (parenthesized_expression "(dVar55 + dVar55 + dVar56)" (( "(") (binary_expression "dVar55 + dVar55 + dVar56" (binary_expression "dVar55 + dVar55" (identifier "dVar55") (+ "+") (identifier "dVar55")) (+ "+") (identifier "dVar56")) () ")"))) () ")")) (/ "/") (parenthesized_expression "(((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56))" (( "(") (binary_expression "((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)\n                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56)" (parenthesized_expression "((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)" (( "(") (binary_expression "(*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57" (binary_expression "(*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +\n                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53)" (parenthesized_expression "(*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59)" (( "(") (binary_expression "*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59" (pointer_expression "*(double *)((int)adStack_b08 + iVar26)" (* "*") (cast_expression "(double *)((int)adStack_b08 + iVar26)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)adStack_b08 + iVar26)" (( "(") (binary_expression "(int)adStack_b08 + iVar26" (cast_expression "(int)adStack_b08" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "adStack_b08")) (+ "+") (identifier "iVar26")) () ")")))) (- "-") (binary_expression "dVar59 * dVar59" (identifier "dVar59") (* "*") (identifier "dVar59"))) () ")")) (+ "+") (parenthesized_expression "(*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53)" (( "(") (binary_expression "*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53" (pointer_expression "*(double *)((int)adStack_4f0 + iVar26)" (* "*") (cast_expression "(double *)((int)adStack_4f0 + iVar26)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)adStack_4f0 + iVar26)" (( "(") (binary_expression "(int)adStack_4f0 + iVar26" (cast_expression "(int)adStack_4f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "adStack_4f0")) (+ "+") (identifier "iVar26")) () ")")))) (- "-") (binary_expression "dVar53 * dVar53" (identifier "dVar53") (* "*") (identifier "dVar53"))) () ")"))) (+ "+") (identifier "dVar57")) () ")")) (* "*") (parenthesized_expression "(dVar59 * dVar59 + dVar53 * dVar53 + dVar56)" (( "(") (binary_expression "dVar59 * dVar59 + dVar53 * dVar53 + dVar56" (binary_expression "dVar59 * dVar59 + dVar53 * dVar53" (binary_expression "dVar59 * dVar59" (identifier "dVar59") (* "*") (identifier "dVar59")) (+ "+") (binary_expression "dVar53 * dVar53" (identifier "dVar53") (* "*") (identifier "dVar53"))) (+ "+") (identifier "dVar56")) () ")"))) () ")")))) (; ";")) (expression_statement "*pdVar8 = *pdVar8 + dVar53;" (assignment_expression "*pdVar8 = *pdVar8 + dVar53" (pointer_expression "*pdVar8" (* "*") (identifier "pdVar8")) (= "=") (binary_expression "*pdVar8 + dVar53" (pointer_expression "*pdVar8" (* "*") (identifier "pdVar8")) (+ "+") (identifier "dVar53"))) (; ";")) (expression_statement "dStack_d18 = dStack_d18 + dVar53;" (assignment_expression "dStack_d18 = dStack_d18 + dVar53" (identifier "dStack_d18") (= "=") (binary_expression "dStack_d18 + dVar53" (identifier "dStack_d18") (+ "+") (identifier "dVar53"))) (; ";")) (} "}"))) (expression_statement "iVar26 = iVar26 + 8;" (assignment_expression "iVar26 = iVar26 + 8" (identifier "iVar26") (= "=") (binary_expression "iVar26 + 8" (identifier "iVar26") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "piVar9 = piVar9 + 3;" (assignment_expression "piVar9 = piVar9 + 3" (identifier "piVar9") (= "=") (binary_expression "piVar9 + 3" (identifier "piVar9") (+ "+") (number_literal "3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar26 != iVar2 << 3)" (( "(") (binary_expression "iVar26 != iVar2 << 3" (identifier "iVar26") (!= "!=") (binary_expression "iVar2 << 3" (identifier "iVar2") (<< "<<") (number_literal "3"))) () ")")) (; ";")) (} "}"))) (expression_statement "pfStack_f50 = pfStack_f50 + iVar2;" (assignment_expression "pfStack_f50 = pfStack_f50 + iVar2" (identifier "pfStack_f50") (= "=") (binary_expression "pfStack_f50 + iVar2" (identifier "pfStack_f50") (+ "+") (identifier "iVar2"))) (; ";")) (expression_statement "pdStack_f4c = (double *)((int)pdStack_f4c + 1);" (assignment_expression "pdStack_f4c = (double *)((int)pdStack_f4c + 1)" (identifier "pdStack_f4c") (= "=") (cast_expression "(double *)((int)pdStack_f4c + 1)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pdStack_f4c + 1)" (( "(") (binary_expression "(int)pdStack_f4c + 1" (cast_expression "(int)pdStack_f4c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdStack_f4c")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iStack_f54 = iStack_f54 + iVar62;" (assignment_expression "iStack_f54 = iStack_f54 + iVar62" (identifier "iStack_f54") (= "=") (binary_expression "iStack_f54 + iVar62" (identifier "iStack_f54") (+ "+") (identifier "iVar62"))) (; ";")) (expression_statement "pcVar49 = *(code **)(puVar45 + 0x336490);" (assignment_expression "pcVar49 = *(code **)(puVar45 + 0x336490)" (identifier "pcVar49") (= "=") (pointer_expression "*(code **)(puVar45 + 0x336490)" (* "*") (cast_expression "(code **)(puVar45 + 0x336490)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar45 + 0x336490)" (( "(") (binary_expression "puVar45 + 0x336490" (identifier "puVar45") (+ "+") (number_literal "0x336490")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pdVar20 != pdStack_f4c)" (( "(") (binary_expression "pdVar20 != pdStack_f4c" (identifier "pdVar20") (!= "!=") (identifier "pdStack_f4c")) () ")")) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));" (call_expression "(**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4))" (parenthesized_expression "(**(code **)(puVar45 + 0x3364f0))" (( "(") (pointer_expression "**(code **)(puVar45 + 0x3364f0)" (* "*") (pointer_expression "*(code **)(puVar45 + 0x3364f0)" (* "*") (cast_expression "(code **)(puVar45 + 0x3364f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar45 + 0x3364f0)" (( "(") (binary_expression "puVar45 + 0x3364f0" (identifier "puVar45") (+ "+") (number_literal "0x3364f0")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(puVar45 + 0x3360c4))" (( "(") (pointer_expression "*(undefined4 *)(puVar45 + 0x3360c4)" (* "*") (cast_expression "(undefined4 *)(puVar45 + 0x3360c4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar45 + 0x3360c4)" (( "(") (binary_expression "puVar45 + 0x3360c4" (identifier "puVar45") (+ "+") (number_literal "0x3360c4")) () ")")))) () ")"))) (; ";")) (expression_statement "pdVar8 = adStack_f18;" (assignment_expression "pdVar8 = adStack_f18" (identifier "pdVar8") (= "=") (identifier "adStack_f18")) (; ";")) (expression_statement "pdVar32 = pdVar11;" (assignment_expression "pdVar32 = pdVar11" (identifier "pdVar32") (= "=") (identifier "pdVar11")) (; ";")) (do_statement "do {\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          } while (adStack_d10 != pdVar29);" (do "do") (compound_statement "{\n            pdVar29 = pdVar8 + 1;\n            *pdVar32 = *pdVar32 + *pdVar8;\n            pdVar8 = pdVar29;\n            pdVar32 = pdVar32 + 1;\n          }" ({ "{") (expression_statement "pdVar29 = pdVar8 + 1;" (assignment_expression "pdVar29 = pdVar8 + 1" (identifier "pdVar29") (= "=") (binary_expression "pdVar8 + 1" (identifier "pdVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pdVar32 = *pdVar32 + *pdVar8;" (assignment_expression "*pdVar32 = *pdVar32 + *pdVar8" (pointer_expression "*pdVar32" (* "*") (identifier "pdVar32")) (= "=") (binary_expression "*pdVar32 + *pdVar8" (pointer_expression "*pdVar32" (* "*") (identifier "pdVar32")) (+ "+") (pointer_expression "*pdVar8" (* "*") (identifier "pdVar8")))) (; ";")) (expression_statement "pdVar8 = pdVar29;" (assignment_expression "pdVar8 = pdVar29" (identifier "pdVar8") (= "=") (identifier "pdVar29")) (; ";")) (expression_statement "pdVar32 = pdVar32 + 1;" (assignment_expression "pdVar32 = pdVar32 + 1" (identifier "pdVar32") (= "=") (binary_expression "pdVar32 + 1" (identifier "pdVar32") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(adStack_d10 != pdVar29)" (( "(") (binary_expression "adStack_d10 != pdVar29" (identifier "adStack_d10") (!= "!=") (identifier "pdVar29")) () ")")) (; ";")) (expression_statement "pdVar8 = *(double **)(puVar45 + 0x3360c4);" (assignment_expression "pdVar8 = *(double **)(puVar45 + 0x3360c4)" (identifier "pdVar8") (= "=") (pointer_expression "*(double **)(puVar45 + 0x3360c4)" (* "*") (cast_expression "(double **)(puVar45 + 0x3360c4)" (( "(") (type_descriptor "double **" (primitive_type "double") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar45 + 0x3360c4)" (( "(") (binary_expression "puVar45 + 0x3360c4" (identifier "puVar45") (+ "+") (number_literal "0x3360c4")) () ")"))))) (; ";")) (expression_statement "(**(code **)(puVar45 + 0x336168))();" (call_expression "(**(code **)(puVar45 + 0x336168))()" (parenthesized_expression "(**(code **)(puVar45 + 0x336168))" (( "(") (pointer_expression "**(code **)(puVar45 + 0x336168)" (* "*") (pointer_expression "*(code **)(puVar45 + 0x336168)" (* "*") (cast_expression "(code **)(puVar45 + 0x336168)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar45 + 0x336168)" (( "(") (binary_expression "puVar45 + 0x336168" (identifier "puVar45") (+ "+") (number_literal "0x336168")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (} "}"))) (expression_statement "pdStack_f48 = (double *)((int)pdStack_f48 + 1);" (assignment_expression "pdStack_f48 = (double *)((int)pdStack_f48 + 1)" (identifier "pdStack_f48") (= "=") (cast_expression "(double *)((int)pdStack_f48 + 1)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pdStack_f48 + 1)" (( "(") (binary_expression "(int)pdStack_f48 + 1" (cast_expression "(int)pdStack_f48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdStack_f48")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pdVar4 != pdStack_f48)" (( "(") (binary_expression "pdVar4 != pdStack_f48" (identifier "pdVar4") (!= "!=") (identifier "pdStack_f48")) () ")")) (; ";")) (} "}"))) (if_statement "if (iStack_2e4 == *piVar34) {\n    return;\n  }" (if "if") (parenthesized_expression "(iStack_2e4 == *piVar34)" (( "(") (binary_expression "iStack_2e4 == *piVar34" (identifier "iStack_2e4") (== "==") (pointer_expression "*piVar34" (* "*") (identifier "piVar34"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pcVar49 = *(code **)(puVar45 + 0x335e20);" (assignment_expression "pcVar49 = *(code **)(puVar45 + 0x335e20)" (identifier "pcVar49") (= "=") (pointer_expression "*(code **)(puVar45 + 0x335e20)" (* "*") (cast_expression "(code **)(puVar45 + 0x335e20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar45 + 0x335e20)" (( "(") (binary_expression "puVar45 + 0x335e20" (identifier "puVar45") (+ "+") (number_literal "0x335e20")) () ")"))))) (; ";")) (expression_statement "(*pcVar49)();" (call_expression "(*pcVar49)()" (parenthesized_expression "(*pcVar49)" (( "(") (pointer_expression "*pcVar49" (* "*") (identifier "pcVar49")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar3 = (**(code **)(pcVar49 + 0x336064))();" (assignment_expression "iVar3 = (**(code **)(pcVar49 + 0x336064))()" (identifier "iVar3") (= "=") (call_expression "(**(code **)(pcVar49 + 0x336064))()" (parenthesized_expression "(**(code **)(pcVar49 + 0x336064))" (( "(") (pointer_expression "**(code **)(pcVar49 + 0x336064)" (* "*") (pointer_expression "*(code **)(pcVar49 + 0x336064)" (* "*") (cast_expression "(code **)(pcVar49 + 0x336064)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar49 + 0x336064)" (( "(") (binary_expression "pcVar49 + 0x336064" (identifier "pcVar49") (+ "+") (number_literal "0x336064")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar2 = (**(code **)(pcVar49 + 0x335c60))();" (assignment_expression "iVar2 = (**(code **)(pcVar49 + 0x335c60))()" (identifier "iVar2") (= "=") (call_expression "(**(code **)(pcVar49 + 0x335c60))()" (parenthesized_expression "(**(code **)(pcVar49 + 0x335c60))" (( "(") (pointer_expression "**(code **)(pcVar49 + 0x335c60)" (* "*") (pointer_expression "*(code **)(pcVar49 + 0x335c60)" (* "*") (cast_expression "(code **)(pcVar49 + 0x335c60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar49 + 0x335c60)" (( "(") (binary_expression "pcVar49 + 0x335c60" (identifier "pcVar49") (+ "+") (number_literal "0x335c60")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n    trap(7);\n  }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    trap(7);\n  }" ({ "{") (expression_statement "trap(7);" (call_expression "trap(7)" (identifier "trap") (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar62 = *(int *)((int)pdVar8 + 0x34) / iVar3;" (assignment_expression "iVar62 = *(int *)((int)pdVar8 + 0x34) / iVar3" (identifier "iVar62") (= "=") (binary_expression "*(int *)((int)pdVar8 + 0x34) / iVar3" (pointer_expression "*(int *)((int)pdVar8 + 0x34)" (* "*") (cast_expression "(int *)((int)pdVar8 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pdVar8 + 0x34)" (( "(") (binary_expression "(int)pdVar8 + 0x34" (cast_expression "(int)pdVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar8")) (+ "+") (number_literal "0x34")) () ")")))) (/ "/") (identifier "iVar3"))) (; ";")) (expression_statement "iVar3 = *(int *)((int)pdVar8 + 0x34) % iVar3;" (assignment_expression "iVar3 = *(int *)((int)pdVar8 + 0x34) % iVar3" (identifier "iVar3") (= "=") (binary_expression "*(int *)((int)pdVar8 + 0x34) % iVar3" (pointer_expression "*(int *)((int)pdVar8 + 0x34)" (* "*") (cast_expression "(int *)((int)pdVar8 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pdVar8 + 0x34)" (( "(") (binary_expression "(int)pdVar8 + 0x34" (cast_expression "(int)pdVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar8")) (+ "+") (number_literal "0x34")) () ")")))) (% "%") (identifier "iVar3"))) (; ";")) (if_statement "if (iVar2 < iVar3) {\n    iVar62 = iVar62 + 1;\n    iVar3 = 0;\n  }" (if "if") (parenthesized_expression "(iVar2 < iVar3)" (( "(") (binary_expression "iVar2 < iVar3" (identifier "iVar2") (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n    iVar62 = iVar62 + 1;\n    iVar3 = 0;\n  }" ({ "{") (expression_statement "iVar62 = iVar62 + 1;" (assignment_expression "iVar62 = iVar62 + 1" (identifier "iVar62") (= "=") (binary_expression "iVar62 + 1" (identifier "iVar62") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "iVar3 = iVar62 * iVar2 + iVar3;" (assignment_expression "iVar3 = iVar62 * iVar2 + iVar3" (identifier "iVar3") (= "=") (binary_expression "iVar62 * iVar2 + iVar3" (binary_expression "iVar62 * iVar2" (identifier "iVar62") (* "*") (identifier "iVar2")) (+ "+") (identifier "iVar3"))) (; ";")) (expression_statement "iVar62 = iVar62 + iVar3;" (assignment_expression "iVar62 = iVar62 + iVar3" (identifier "iVar62") (= "=") (binary_expression "iVar62 + iVar3" (identifier "iVar62") (+ "+") (identifier "iVar3"))) (; ";")) (expression_statement "iVar2 = *(int *)(pcVar49 + 0x335038);" (assignment_expression "iVar2 = *(int *)(pcVar49 + 0x335038)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(pcVar49 + 0x335038)" (* "*") (cast_expression "(int *)(pcVar49 + 0x335038)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar49 + 0x335038)" (( "(") (binary_expression "pcVar49 + 0x335038" (identifier "pcVar49") (+ "+") (number_literal "0x335038")) () ")"))))) (; ";")) (if_statement "if (iVar3 < iVar62) {\n    iVar26 = *(int *)(pcVar49 + 0x335038);\n    iVar46 = *(int *)(pcVar49 + 0x335038);\n    uVar61 = (ulonglong)*(uint *)(iVar2 + 0x1a50);\n    uVar14 = *(undefined4 *)((int)pdVar8 + 0x1c);\n    dVar56 = *pdVar8;\n    iVar40 = *(int *)(pdVar8 + 4);\n    dVar57 = *(double *)(iVar26 + 0x1438);\n    iVar42 = *(int *)((int)pdVar8 + 0xc);\n    dVar60 = *(double *)(iVar46 + 0x1440);\n    iVar36 = *(int *)(pdVar8 + 1);\n    iVar13 = *(int *)(pdVar8 + 6);\n    uVar48 = *(undefined4 *)(pdVar8 + 2);\n    uVar15 = *(undefined4 *)(pdVar8 + 3);\n    uVar16 = *(undefined4 *)((int)pdVar8 + 0x14);\n    do {\n      if (*(int *)(pdVar8 + 7) != 0) {\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    } while (iVar62 != iVar3);\n  }" (if "if") (parenthesized_expression "(iVar3 < iVar62)" (( "(") (binary_expression "iVar3 < iVar62" (identifier "iVar3") (< "<") (identifier "iVar62")) () ")")) (compound_statement "{\n    iVar26 = *(int *)(pcVar49 + 0x335038);\n    iVar46 = *(int *)(pcVar49 + 0x335038);\n    uVar61 = (ulonglong)*(uint *)(iVar2 + 0x1a50);\n    uVar14 = *(undefined4 *)((int)pdVar8 + 0x1c);\n    dVar56 = *pdVar8;\n    iVar40 = *(int *)(pdVar8 + 4);\n    dVar57 = *(double *)(iVar26 + 0x1438);\n    iVar42 = *(int *)((int)pdVar8 + 0xc);\n    dVar60 = *(double *)(iVar46 + 0x1440);\n    iVar36 = *(int *)(pdVar8 + 1);\n    iVar13 = *(int *)(pdVar8 + 6);\n    uVar48 = *(undefined4 *)(pdVar8 + 2);\n    uVar15 = *(undefined4 *)(pdVar8 + 3);\n    uVar16 = *(undefined4 *)((int)pdVar8 + 0x14);\n    do {\n      if (*(int *)(pdVar8 + 7) != 0) {\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    } while (iVar62 != iVar3);\n  }" ({ "{") (expression_statement "iVar26 = *(int *)(pcVar49 + 0x335038);" (assignment_expression "iVar26 = *(int *)(pcVar49 + 0x335038)" (identifier "iVar26") (= "=") (pointer_expression "*(int *)(pcVar49 + 0x335038)" (* "*") (cast_expression "(int *)(pcVar49 + 0x335038)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar49 + 0x335038)" (( "(") (binary_expression "pcVar49 + 0x335038" (identifier "pcVar49") (+ "+") (number_literal "0x335038")) () ")"))))) (; ";")) (expression_statement "iVar46 = *(int *)(pcVar49 + 0x335038);" (assignment_expression "iVar46 = *(int *)(pcVar49 + 0x335038)" (identifier "iVar46") (= "=") (pointer_expression "*(int *)(pcVar49 + 0x335038)" (* "*") (cast_expression "(int *)(pcVar49 + 0x335038)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar49 + 0x335038)" (( "(") (binary_expression "pcVar49 + 0x335038" (identifier "pcVar49") (+ "+") (number_literal "0x335038")) () ")"))))) (; ";")) (expression_statement "uVar61 = (ulonglong)*(uint *)(iVar2 + 0x1a50);" (assignment_expression "uVar61 = (ulonglong)*(uint *)(iVar2 + 0x1a50)" (identifier "uVar61") (= "=") (binary_expression "(ulonglong)*(uint *)(iVar2 + 0x1a50)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (* "*") (cast_expression "(uint *)(iVar2 + 0x1a50)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1a50)" (( "(") (binary_expression "iVar2 + 0x1a50" (identifier "iVar2") (+ "+") (number_literal "0x1a50")) () ")"))))) (; ";")) (expression_statement "uVar14 = *(undefined4 *)((int)pdVar8 + 0x1c);" (assignment_expression "uVar14 = *(undefined4 *)((int)pdVar8 + 0x1c)" (identifier "uVar14") (= "=") (pointer_expression "*(undefined4 *)((int)pdVar8 + 0x1c)" (* "*") (cast_expression "(undefined4 *)((int)pdVar8 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pdVar8 + 0x1c)" (( "(") (binary_expression "(int)pdVar8 + 0x1c" (cast_expression "(int)pdVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar8")) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "dVar56 = *pdVar8;" (assignment_expression "dVar56 = *pdVar8" (identifier "dVar56") (= "=") (pointer_expression "*pdVar8" (* "*") (identifier "pdVar8"))) (; ";")) (expression_statement "iVar40 = *(int *)(pdVar8 + 4);" (assignment_expression "iVar40 = *(int *)(pdVar8 + 4)" (identifier "iVar40") (= "=") (pointer_expression "*(int *)(pdVar8 + 4)" (* "*") (cast_expression "(int *)(pdVar8 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pdVar8 + 4)" (( "(") (binary_expression "pdVar8 + 4" (identifier "pdVar8") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "dVar57 = *(double *)(iVar26 + 0x1438);" (assignment_expression "dVar57 = *(double *)(iVar26 + 0x1438)" (identifier "dVar57") (= "=") (pointer_expression "*(double *)(iVar26 + 0x1438)" (* "*") (cast_expression "(double *)(iVar26 + 0x1438)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x1438)" (( "(") (binary_expression "iVar26 + 0x1438" (identifier "iVar26") (+ "+") (number_literal "0x1438")) () ")"))))) (; ";")) (expression_statement "iVar42 = *(int *)((int)pdVar8 + 0xc);" (assignment_expression "iVar42 = *(int *)((int)pdVar8 + 0xc)" (identifier "iVar42") (= "=") (pointer_expression "*(int *)((int)pdVar8 + 0xc)" (* "*") (cast_expression "(int *)((int)pdVar8 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pdVar8 + 0xc)" (( "(") (binary_expression "(int)pdVar8 + 0xc" (cast_expression "(int)pdVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar8")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "dVar60 = *(double *)(iVar46 + 0x1440);" (assignment_expression "dVar60 = *(double *)(iVar46 + 0x1440)" (identifier "dVar60") (= "=") (pointer_expression "*(double *)(iVar46 + 0x1440)" (* "*") (cast_expression "(double *)(iVar46 + 0x1440)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar46 + 0x1440)" (( "(") (binary_expression "iVar46 + 0x1440" (identifier "iVar46") (+ "+") (number_literal "0x1440")) () ")"))))) (; ";")) (expression_statement "iVar36 = *(int *)(pdVar8 + 1);" (assignment_expression "iVar36 = *(int *)(pdVar8 + 1)" (identifier "iVar36") (= "=") (pointer_expression "*(int *)(pdVar8 + 1)" (* "*") (cast_expression "(int *)(pdVar8 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pdVar8 + 1)" (( "(") (binary_expression "pdVar8 + 1" (identifier "pdVar8") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "iVar13 = *(int *)(pdVar8 + 6);" (assignment_expression "iVar13 = *(int *)(pdVar8 + 6)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(pdVar8 + 6)" (* "*") (cast_expression "(int *)(pdVar8 + 6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pdVar8 + 6)" (( "(") (binary_expression "pdVar8 + 6" (identifier "pdVar8") (+ "+") (number_literal "6")) () ")"))))) (; ";")) (expression_statement "uVar48 = *(undefined4 *)(pdVar8 + 2);" (assignment_expression "uVar48 = *(undefined4 *)(pdVar8 + 2)" (identifier "uVar48") (= "=") (pointer_expression "*(undefined4 *)(pdVar8 + 2)" (* "*") (cast_expression "(undefined4 *)(pdVar8 + 2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pdVar8 + 2)" (( "(") (binary_expression "pdVar8 + 2" (identifier "pdVar8") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "uVar15 = *(undefined4 *)(pdVar8 + 3);" (assignment_expression "uVar15 = *(undefined4 *)(pdVar8 + 3)" (identifier "uVar15") (= "=") (pointer_expression "*(undefined4 *)(pdVar8 + 3)" (* "*") (cast_expression "(undefined4 *)(pdVar8 + 3)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pdVar8 + 3)" (( "(") (binary_expression "pdVar8 + 3" (identifier "pdVar8") (+ "+") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "uVar16 = *(undefined4 *)((int)pdVar8 + 0x14);" (assignment_expression "uVar16 = *(undefined4 *)((int)pdVar8 + 0x14)" (identifier "uVar16") (= "=") (pointer_expression "*(undefined4 *)((int)pdVar8 + 0x14)" (* "*") (cast_expression "(undefined4 *)((int)pdVar8 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pdVar8 + 0x14)" (( "(") (binary_expression "(int)pdVar8 + 0x14" (cast_expression "(int)pdVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar8")) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (do_statement "do {\n      if (*(int *)(pdVar8 + 7) != 0) {\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    } while (iVar62 != iVar3);" (do "do") (compound_statement "{\n      if (*(int *)(pdVar8 + 7) != 0) {\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }\nLAB_00073d80:\n      iVar3 = iVar3 + 1;\n    }" ({ "{") (if_statement "if (*(int *)(pdVar8 + 7) != 0) {\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }" (if "if") (parenthesized_expression "(*(int *)(pdVar8 + 7) != 0)" (( "(") (binary_expression "*(int *)(pdVar8 + 7) != 0" (pointer_expression "*(int *)(pdVar8 + 7)" (* "*") (cast_expression "(int *)(pdVar8 + 7)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pdVar8 + 7)" (( "(") (binary_expression "pdVar8 + 7" (identifier "pdVar8") (+ "+") (number_literal "7")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);\n        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);\n        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);\n        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }\n        *(undefined4 *)(pdVar8 + 7) = 0;\n      }" ({ "{") (expression_statement "iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);" (assignment_expression "iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48)" (identifier "iVar23") (= "=") (call_expression "(**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48)" (parenthesized_expression "(**(code **)(pcVar49 + 0x335db4))" (( "(") (pointer_expression "**(code **)(pcVar49 + 0x335db4)" (* "*") (pointer_expression "*(code **)(pcVar49 + 0x335db4)" (* "*") (cast_expression "(code **)(pcVar49 + 0x335db4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar49 + 0x335db4)" (( "(") (binary_expression "pcVar49 + 0x335db4" (identifier "pcVar49") (+ "+") (number_literal "0x335db4")) () ")"))))) () ")")) (argument_list "(uVar15,0,iVar3,iVar13,1,uVar48)" (( "(") (identifier "uVar15") (, ",") (number_literal "0") (, ",") (identifier "iVar3") (, ",") (identifier "iVar13") (, ",") (number_literal "1") (, ",") (identifier "uVar48") () ")")))) (; ";")) (expression_statement "iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);" (assignment_expression "iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48)" (identifier "iVar17") (= "=") (call_expression "(**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48)" (parenthesized_expression "(**(code **)(pcVar49 + 0x335db4))" (( "(") (pointer_expression "**(code **)(pcVar49 + 0x335db4)" (* "*") (pointer_expression "*(code **)(pcVar49 + 0x335db4)" (* "*") (cast_expression "(code **)(pcVar49 + 0x335db4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar49 + 0x335db4)" (( "(") (binary_expression "pcVar49 + 0x335db4" (identifier "pcVar49") (+ "+") (number_literal "0x335db4")) () ")"))))) () ")")) (argument_list "(uVar14,0,iVar3,iVar13,1,uVar48)" (( "(") (identifier "uVar14") (, ",") (number_literal "0") (, ",") (identifier "iVar3") (, ",") (identifier "iVar13") (, ",") (number_literal "1") (, ",") (identifier "uVar48") () ")")))) (; ";")) (expression_statement "iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);" (assignment_expression "iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48)" (identifier "iVar18") (= "=") (call_expression "(**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48)" (parenthesized_expression "(**(code **)(pcVar49 + 0x3353a8))" (( "(") (pointer_expression "**(code **)(pcVar49 + 0x3353a8)" (* "*") (pointer_expression "*(code **)(pcVar49 + 0x3353a8)" (* "*") (cast_expression "(code **)(pcVar49 + 0x3353a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar49 + 0x3353a8)" (( "(") (binary_expression "pcVar49 + 0x3353a8" (identifier "pcVar49") (+ "+") (number_literal "0x3353a8")) () ")"))))) () ")")) (argument_list "(uVar16,0,iVar3,iVar13,1,uVar48)" (( "(") (identifier "uVar16") (, ",") (number_literal "0") (, ",") (identifier "iVar3") (, ",") (identifier "iVar13") (, ",") (number_literal "1") (, ",") (identifier "uVar48") () ")")))) (; ";")) (if_statement "if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }" (if "if") (parenthesized_expression "(((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0))" (( "(") (binary_expression "((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)" (parenthesized_expression "((iVar23 != 0) && (iVar17 != 0))" (( "(") (binary_expression "(iVar23 != 0) && (iVar17 != 0)" (parenthesized_expression "(iVar23 != 0)" (( "(") (binary_expression "iVar23 != 0" (identifier "iVar23") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar17 != 0)" (( "(") (binary_expression "iVar17 != 0" (identifier "iVar17") (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }\nLAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);\n          if (iVar23 != 0) goto LAB_00073d80;\n        }" ({ "{") (if_statement "if (0 < iVar13) {\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }" (if "if") (parenthesized_expression "(0 < iVar13)" (( "(") (binary_expression "0 < iVar13" (number_literal "0") (< "<") (identifier "iVar13")) () ")")) (compound_statement "{\n            iVar37 = 0;\n            piVar34 = *(int **)(iVar36 + 0x2d0);\n            iVar39 = *(int *)((int)pdVar8 + 0x2c);\n            fVar6 = *(float *)(iVar2 + 0x1a50);\n            iVar44 = piVar34[0x13];\n            iVar47 = *(int *)((int)pdVar8 + 0x24);\n            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);\n            iVar41 = *(int *)(pdVar8 + 5);\n            dVar53 = *(double *)(iVar26 + 0x1438);\n            dVar55 = *(double *)(iVar46 + 0x1440);\n            do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);\n          }" ({ "{") (expression_statement "iVar37 = 0;" (assignment_expression "iVar37 = 0" (identifier "iVar37") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar34 = *(int **)(iVar36 + 0x2d0);" (assignment_expression "piVar34 = *(int **)(iVar36 + 0x2d0)" (identifier "piVar34") (= "=") (pointer_expression "*(int **)(iVar36 + 0x2d0)" (* "*") (cast_expression "(int **)(iVar36 + 0x2d0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar36 + 0x2d0)" (( "(") (binary_expression "iVar36 + 0x2d0" (identifier "iVar36") (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (expression_statement "iVar39 = *(int *)((int)pdVar8 + 0x2c);" (assignment_expression "iVar39 = *(int *)((int)pdVar8 + 0x2c)" (identifier "iVar39") (= "=") (pointer_expression "*(int *)((int)pdVar8 + 0x2c)" (* "*") (cast_expression "(int *)((int)pdVar8 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pdVar8 + 0x2c)" (( "(") (binary_expression "(int)pdVar8 + 0x2c" (cast_expression "(int)pdVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar8")) (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "fVar6 = *(float *)(iVar2 + 0x1a50);" (assignment_expression "fVar6 = *(float *)(iVar2 + 0x1a50)" (identifier "fVar6") (= "=") (pointer_expression "*(float *)(iVar2 + 0x1a50)" (* "*") (cast_expression "(float *)(iVar2 + 0x1a50)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1a50)" (( "(") (binary_expression "iVar2 + 0x1a50" (identifier "iVar2") (+ "+") (number_literal "0x1a50")) () ")"))))) (; ";")) (expression_statement "iVar44 = piVar34[0x13];" (assignment_expression "iVar44 = piVar34[0x13]" (identifier "iVar44") (= "=") (subscript_expression "piVar34[0x13]" (identifier "piVar34") ([ "[") (number_literal "0x13") (] "]"))) (; ";")) (expression_statement "iVar47 = *(int *)((int)pdVar8 + 0x24);" (assignment_expression "iVar47 = *(int *)((int)pdVar8 + 0x24)" (identifier "iVar47") (= "=") (pointer_expression "*(int *)((int)pdVar8 + 0x24)" (* "*") (cast_expression "(int *)((int)pdVar8 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pdVar8 + 0x24)" (( "(") (binary_expression "(int)pdVar8 + 0x24" (cast_expression "(int)pdVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdVar8")) (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);" (assignment_expression "fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708)" (identifier "fVar5") (= "=") (pointer_expression "*(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708)" (* "*") (cast_expression "(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar49 + 0x335038) + 0x3708)" (( "(") (binary_expression "*(int *)(pcVar49 + 0x335038) + 0x3708" (pointer_expression "*(int *)(pcVar49 + 0x335038)" (* "*") (cast_expression "(int *)(pcVar49 + 0x335038)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar49 + 0x335038)" (( "(") (binary_expression "pcVar49 + 0x335038" (identifier "pcVar49") (+ "+") (number_literal "0x335038")) () ")")))) (+ "+") (number_literal "0x3708")) () ")"))))) (; ";")) (expression_statement "iVar41 = *(int *)(pdVar8 + 5);" (assignment_expression "iVar41 = *(int *)(pdVar8 + 5)" (identifier "iVar41") (= "=") (pointer_expression "*(int *)(pdVar8 + 5)" (* "*") (cast_expression "(int *)(pdVar8 + 5)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pdVar8 + 5)" (( "(") (binary_expression "pdVar8 + 5" (identifier "pdVar8") (+ "+") (number_literal "5")) () ")"))))) (; ";")) (expression_statement "dVar53 = *(double *)(iVar26 + 0x1438);" (assignment_expression "dVar53 = *(double *)(iVar26 + 0x1438)" (identifier "dVar53") (= "=") (pointer_expression "*(double *)(iVar26 + 0x1438)" (* "*") (cast_expression "(double *)(iVar26 + 0x1438)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x1438)" (( "(") (binary_expression "iVar26 + 0x1438" (identifier "iVar26") (+ "+") (number_literal "0x1438")) () ")"))))) (; ";")) (expression_statement "dVar55 = *(double *)(iVar46 + 0x1440);" (assignment_expression "dVar55 = *(double *)(iVar46 + 0x1440)" (identifier "dVar55") (= "=") (pointer_expression "*(double *)(iVar46 + 0x1440)" (* "*") (cast_expression "(double *)(iVar46 + 0x1440)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar46 + 0x1440)" (( "(") (binary_expression "iVar46 + 0x1440" (identifier "iVar46") (+ "+") (number_literal "0x1440")) () ")"))))) (; ";")) (do_statement "do {\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            } while (iVar37 != iVar13);" (do "do") (compound_statement "{\n              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }\n              dVar58 = dVar53;\n              if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }\n              dVar59 = dVar57;\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }\n              iVar24 = *(int *)(iVar36 + 0x2c0);\n              iVar22 = 0;\n              piVar9 = piVar34;\n              if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }\n              iVar19 = *(int *)(iVar40 + 0x2d0);\n              dVar59 = *(double *)(iVar41 + 0x30);\n              dVar58 = *(double *)(iVar41 + 0x38);\n              iVar30 = *(int *)(iVar19 + 0x14);\n              iVar22 = *(int *)(iVar19 + 0x20);\n              iVar25 = *(int *)(iVar19 + 0x28);\n              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);\n              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n              if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }\n              if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }\nLAB_00073d38:\n              iVar37 = iVar37 + 1;\n              iVar23 = iVar23 + iVar24 * 4;\n              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n            }" ({ "{") (while_statement "while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }" (while "while") (parenthesized_expression "(((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5)))))" (( "(") (parenthesized_expression "((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))" (( "(") (binary_expression "(iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||\n                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5)))" (parenthesized_expression "(iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5))" (( "(") (binary_expression "iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)" (binary_expression "iVar44 != 0" (identifier "iVar44") (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)" (( "(") (binary_expression "*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5" (pointer_expression "*(float *)(iVar23 + piVar34[0x14] * 4)" (* "*") (cast_expression "(float *)(iVar23 + piVar34[0x14] * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + piVar34[0x14] * 4)" (( "(") (binary_expression "iVar23 + piVar34[0x14] * 4" (identifier "iVar23") (+ "+") (binary_expression "piVar34[0x14] * 4" (subscript_expression "piVar34[0x14]" (identifier "piVar34") ([ "[") (number_literal "0x14") (] "]")) (* "*") (number_literal "4"))) () ")")))) (<= "<=") (identifier "fVar5")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5)))" (( "(") (parenthesized_expression "(iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))" (( "(") (comma_expression "iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5)" (assignment_expression "iVar19 = *(int *)(iVar42 + 0x2d0)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(iVar42 + 0x2d0)" (* "*") (cast_expression "(int *)(iVar42 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar42 + 0x2d0)" (( "(") (binary_expression "iVar42 + 0x2d0" (identifier "iVar42") (+ "+") (number_literal "0x2d0")) () ")"))))) (, ",") (binary_expression "*(int *)(iVar19 + 0x4c) != 0 &&\n                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5)" (binary_expression "*(int *)(iVar19 + 0x4c) != 0" (pointer_expression "*(int *)(iVar19 + 0x4c)" (* "*") (cast_expression "(int *)(iVar19 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x4c)" (( "(") (binary_expression "iVar19 + 0x4c" (identifier "iVar19") (+ "+") (number_literal "0x4c")) () ")")))) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5)" (( "(") (binary_expression "*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5" (pointer_expression "*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4)" (* "*") (cast_expression "(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + *(int *)(iVar19 + 0x50) * 4)" (( "(") (binary_expression "iVar17 + *(int *)(iVar19 + 0x50) * 4" (identifier "iVar17") (+ "+") (binary_expression "*(int *)(iVar19 + 0x50) * 4" (pointer_expression "*(int *)(iVar19 + 0x50)" (* "*") (cast_expression "(int *)(iVar19 + 0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x50)" (( "(") (binary_expression "iVar19 + 0x50" (identifier "iVar19") (+ "+") (number_literal "0x50")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (<= "<=") (identifier "fVar5")) () ")")))) () ")")) () ")"))) () ")")) () ")")) (compound_statement "{\n                iVar19 = *(int *)(iVar40 + 0x2d0);\n                dVar59 = *(double *)(iVar39 + 0x30);\n                dVar58 = *(double *)(iVar39 + 0x38);\n                iVar24 = *(int *)(iVar19 + 0x14);\n                iVar22 = *(int *)(iVar19 + 0x20);\n                iVar30 = *(int *)(iVar19 + 0x28);\n                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);\n                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;\n                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }\n                if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }\n                iVar37 = iVar37 + 1;\n                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;\n                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;\n                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;\n                if (iVar37 == iVar13) goto LAB_00073d60;\n              }" ({ "{") (expression_statement "iVar19 = *(int *)(iVar40 + 0x2d0);" (assignment_expression "iVar19 = *(int *)(iVar40 + 0x2d0)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(iVar40 + 0x2d0)" (* "*") (cast_expression "(int *)(iVar40 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar40 + 0x2d0)" (( "(") (binary_expression "iVar40 + 0x2d0" (identifier "iVar40") (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (expression_statement "dVar59 = *(double *)(iVar39 + 0x30);" (assignment_expression "dVar59 = *(double *)(iVar39 + 0x30)" (identifier "dVar59") (= "=") (pointer_expression "*(double *)(iVar39 + 0x30)" (* "*") (cast_expression "(double *)(iVar39 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 0x30)" (( "(") (binary_expression "iVar39 + 0x30" (identifier "iVar39") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "dVar58 = *(double *)(iVar39 + 0x38);" (assignment_expression "dVar58 = *(double *)(iVar39 + 0x38)" (identifier "dVar58") (= "=") (pointer_expression "*(double *)(iVar39 + 0x38)" (* "*") (cast_expression "(double *)(iVar39 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 0x38)" (( "(") (binary_expression "iVar39 + 0x38" (identifier "iVar39") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "iVar24 = *(int *)(iVar19 + 0x14);" (assignment_expression "iVar24 = *(int *)(iVar19 + 0x14)" (identifier "iVar24") (= "=") (pointer_expression "*(int *)(iVar19 + 0x14)" (* "*") (cast_expression "(int *)(iVar19 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x14)" (( "(") (binary_expression "iVar19 + 0x14" (identifier "iVar19") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar22 = *(int *)(iVar19 + 0x20);" (assignment_expression "iVar22 = *(int *)(iVar19 + 0x20)" (identifier "iVar22") (= "=") (pointer_expression "*(int *)(iVar19 + 0x20)" (* "*") (cast_expression "(int *)(iVar19 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x20)" (( "(") (binary_expression "iVar19 + 0x20" (identifier "iVar19") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "iVar30 = *(int *)(iVar19 + 0x28);" (assignment_expression "iVar30 = *(int *)(iVar19 + 0x28)" (identifier "iVar30") (= "=") (pointer_expression "*(int *)(iVar19 + 0x28)" (* "*") (cast_expression "(int *)(iVar19 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x28)" (( "(") (binary_expression "iVar19 + 0x28" (identifier "iVar19") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);" (assignment_expression "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28)" (pointer_expression "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4)" (* "*") (cast_expression "(float *)(iVar18 + *(int *)(iVar19 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + *(int *)(iVar19 + 8) * 4)" (( "(") (binary_expression "iVar18 + *(int *)(iVar19 + 8) * 4" (identifier "iVar18") (+ "+") (binary_expression "*(int *)(iVar19 + 8) * 4" (pointer_expression "*(int *)(iVar19 + 8)" (* "*") (cast_expression "(int *)(iVar19 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 8)" (( "(") (binary_expression "iVar19 + 8" (identifier "iVar19") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)*(double *)(iVar39 + 0x28)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar39 + 0x28)" (* "*") (cast_expression "(double *)(iVar39 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 0x28)" (( "(") (binary_expression "iVar39 + 0x28" (identifier "iVar39") (+ "+") (number_literal "0x28")) () ")")))))) (; ";")) (expression_statement "*(float *)(iVar18 + iVar24 * 4) = (float)dVar59;" (assignment_expression "*(float *)(iVar18 + iVar24 * 4) = (float)dVar59" (pointer_expression "*(float *)(iVar18 + iVar24 * 4)" (* "*") (cast_expression "(float *)(iVar18 + iVar24 * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + iVar24 * 4)" (( "(") (binary_expression "iVar18 + iVar24 * 4" (identifier "iVar18") (+ "+") (binary_expression "iVar24 * 4" (identifier "iVar24") (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)dVar59" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dVar59"))) (; ";")) (expression_statement "*(float *)(iVar18 + iVar22 * 4) = (float)dVar58;" (assignment_expression "*(float *)(iVar18 + iVar22 * 4) = (float)dVar58" (pointer_expression "*(float *)(iVar18 + iVar22 * 4)" (* "*") (cast_expression "(float *)(iVar18 + iVar22 * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + iVar22 * 4)" (( "(") (binary_expression "iVar18 + iVar22 * 4" (identifier "iVar18") (+ "+") (binary_expression "iVar22 * 4" (identifier "iVar22") (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)dVar58" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dVar58"))) (; ";")) (if_statement "if (iVar30 != 0) {\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }" (if "if") (parenthesized_expression "(iVar30 != 0)" (( "(") (binary_expression "iVar30 != 0" (identifier "iVar30") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);\n                }" ({ "{") (expression_statement "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40);" (assignment_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                       (float)*(double *)(iVar39 + 0x40)" (pointer_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" (* "*") (cast_expression "(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" (( "(") (binary_expression "iVar18 + *(int *)(iVar19 + 0x2c) * 4" (identifier "iVar18") (+ "+") (binary_expression "*(int *)(iVar19 + 0x2c) * 4" (pointer_expression "*(int *)(iVar19 + 0x2c)" (* "*") (cast_expression "(int *)(iVar19 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x2c)" (( "(") (binary_expression "iVar19 + 0x2c" (identifier "iVar19") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)*(double *)(iVar39 + 0x40)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar39 + 0x40)" (* "*") (cast_expression "(double *)(iVar39 + 0x40)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 0x40)" (( "(") (binary_expression "iVar39 + 0x40" (identifier "iVar39") (+ "+") (number_literal "0x40")) () ")")))))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar19 + 0x34) != 0) {\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }" (if "if") (parenthesized_expression "(*(int *)(iVar19 + 0x34) != 0)" (( "(") (binary_expression "*(int *)(iVar19 + 0x34) != 0" (pointer_expression "*(int *)(iVar19 + 0x34)" (* "*") (cast_expression "(int *)(iVar19 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x34)" (( "(") (binary_expression "iVar19 + 0x34" (identifier "iVar19") (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  fVar38 = fVar6;\n                  if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }\n                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n                }" ({ "{") (expression_statement "fVar38 = fVar6;" (assignment_expression "fVar38 = fVar6" (identifier "fVar38") (= "=") (identifier "fVar6")) (; ";")) (if_statement "if (*(int *)(iVar39 + 8) != 0) {\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }" (if "if") (parenthesized_expression "(*(int *)(iVar39 + 8) != 0)" (( "(") (binary_expression "*(int *)(iVar39 + 8) != 0" (pointer_expression "*(int *)(iVar39 + 8)" (* "*") (cast_expression "(int *)(iVar39 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 8)" (( "(") (binary_expression "iVar39 + 8" (identifier "iVar39") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    fVar38 = (float)*(double *)(iVar39 + 0x48);\n                  }" ({ "{") (expression_statement "fVar38 = (float)*(double *)(iVar39 + 0x48);" (assignment_expression "fVar38 = (float)*(double *)(iVar39 + 0x48)" (identifier "fVar38") (= "=") (cast_expression "(float)*(double *)(iVar39 + 0x48)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar39 + 0x48)" (* "*") (cast_expression "(double *)(iVar39 + 0x48)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar39 + 0x48)" (( "(") (binary_expression "iVar39 + 0x48" (identifier "iVar39") (+ "+") (number_literal "0x48")) () ")")))))) (; ";")) (} "}"))) (expression_statement "*(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;" (assignment_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38" (pointer_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4)" (* "*") (cast_expression "(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + *(int *)(iVar19 + 0x38) * 4)" (( "(") (binary_expression "iVar18 + *(int *)(iVar19 + 0x38) * 4" (identifier "iVar18") (+ "+") (binary_expression "*(int *)(iVar19 + 0x38) * 4" (pointer_expression "*(int *)(iVar19 + 0x38)" (* "*") (cast_expression "(int *)(iVar19 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x38)" (( "(") (binary_expression "iVar19 + 0x38" (identifier "iVar19") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "fVar38")) (; ";")) (} "}"))) (expression_statement "iVar37 = iVar37 + 1;" (assignment_expression "iVar37 = iVar37 + 1" (identifier "iVar37") (= "=") (binary_expression "iVar37 + 1" (identifier "iVar37") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;" (assignment_expression "iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4" (identifier "iVar23") (= "=") (binary_expression "iVar23 + *(int *)(iVar36 + 0x2c0) * 4" (identifier "iVar23") (+ "+") (binary_expression "*(int *)(iVar36 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar36 + 0x2c0)" (* "*") (cast_expression "(int *)(iVar36 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar36 + 0x2c0)" (( "(") (binary_expression "iVar36 + 0x2c0" (identifier "iVar36") (+ "+") (number_literal "0x2c0")) () ")")))) (* "*") (number_literal "4")))) (; ";")) (expression_statement "iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;" (assignment_expression "iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4" (identifier "iVar17") (= "=") (binary_expression "iVar17 + *(int *)(iVar42 + 0x2c0) * 4" (identifier "iVar17") (+ "+") (binary_expression "*(int *)(iVar42 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar42 + 0x2c0)" (* "*") (cast_expression "(int *)(iVar42 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar42 + 0x2c0)" (( "(") (binary_expression "iVar42 + 0x2c0" (identifier "iVar42") (+ "+") (number_literal "0x2c0")) () ")")))) (* "*") (number_literal "4")))) (; ";")) (expression_statement "iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;" (assignment_expression "iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4" (identifier "iVar18") (= "=") (binary_expression "iVar18 + *(int *)(iVar40 + 0x2c0) * 4" (identifier "iVar18") (+ "+") (binary_expression "*(int *)(iVar40 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar40 + 0x2c0)" (* "*") (cast_expression "(int *)(iVar40 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar40 + 0x2c0)" (( "(") (binary_expression "iVar40 + 0x2c0" (identifier "iVar40") (+ "+") (number_literal "0x2c0")) () ")")))) (* "*") (number_literal "4")))) (; ";")) (if_statement "if (iVar37 == iVar13) goto LAB_00073d60;" (if "if") (parenthesized_expression "(iVar37 == iVar13)" (( "(") (binary_expression "iVar37 == iVar13" (identifier "iVar37") (== "==") (identifier "iVar13")) () ")")) (goto_statement "goto LAB_00073d60;" (goto "goto") (statement_identifier "LAB_00073d60") (; ";"))) (} "}"))) (expression_statement "dVar58 = dVar53;" (assignment_expression "dVar58 = dVar53" (identifier "dVar58") (= "=") (identifier "dVar53")) (; ";")) (if_statement "if (piVar34[0xd] != 0) {\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }" (if "if") (parenthesized_expression "(piVar34[0xd] != 0)" (( "(") (binary_expression "piVar34[0xd] != 0" (subscript_expression "piVar34[0xd]" (identifier "piVar34") ([ "[") (number_literal "0xd") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;\n              }" ({ "{") (expression_statement "dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;" (assignment_expression "dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55" (identifier "dVar58") (= "=") (binary_expression "(double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55" (cast_expression "(double)*(float *)(iVar23 + piVar34[0xe] * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar23 + piVar34[0xe] * 4)" (* "*") (cast_expression "(float *)(iVar23 + piVar34[0xe] * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + piVar34[0xe] * 4)" (( "(") (binary_expression "iVar23 + piVar34[0xe] * 4" (identifier "iVar23") (+ "+") (binary_expression "piVar34[0xe] * 4" (subscript_expression "piVar34[0xe]" (identifier "piVar34") ([ "[") (number_literal "0xe") (] "]")) (* "*") (number_literal "4"))) () ")"))))) (* "*") (identifier "dVar55"))) (; ";")) (} "}"))) (expression_statement "dVar59 = dVar57;" (assignment_expression "dVar59 = dVar57" (identifier "dVar59") (= "=") (identifier "dVar57")) (; ";")) (if_statement "if (*(int *)(iVar19 + 0x34) != 0) {\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }" (if "if") (parenthesized_expression "(*(int *)(iVar19 + 0x34) != 0)" (( "(") (binary_expression "*(int *)(iVar19 + 0x34) != 0" (pointer_expression "*(int *)(iVar19 + 0x34)" (* "*") (cast_expression "(int *)(iVar19 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x34)" (( "(") (binary_expression "iVar19 + 0x34" (identifier "iVar19") (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;\n              }" ({ "{") (expression_statement "dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;" (assignment_expression "dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60" (identifier "dVar59") (= "=") (binary_expression "(double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60" (cast_expression "(double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4)" (* "*") (cast_expression "(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + *(int *)(iVar19 + 0x38) * 4)" (( "(") (binary_expression "iVar17 + *(int *)(iVar19 + 0x38) * 4" (identifier "iVar17") (+ "+") (binary_expression "*(int *)(iVar19 + 0x38) * 4" (pointer_expression "*(int *)(iVar19 + 0x38)" (* "*") (cast_expression "(int *)(iVar19 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x38)" (( "(") (binary_expression "iVar19 + 0x38" (identifier "iVar19") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "4"))) () ")"))))) (* "*") (identifier "dVar60"))) (; ";")) (} "}"))) (expression_statement "iVar24 = *(int *)(iVar36 + 0x2c0);" (assignment_expression "iVar24 = *(int *)(iVar36 + 0x2c0)" (identifier "iVar24") (= "=") (pointer_expression "*(int *)(iVar36 + 0x2c0)" (* "*") (cast_expression "(int *)(iVar36 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar36 + 0x2c0)" (( "(") (binary_expression "iVar36 + 0x2c0" (identifier "iVar36") (+ "+") (number_literal "0x2c0")) () ")"))))) (; ";")) (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" (identifier "iVar22") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9 = piVar34;" (assignment_expression "piVar9 = piVar34" (identifier "piVar9") (= "=") (identifier "piVar34")) (; ";")) (if_statement "if (0 < iVar24) {\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }" (if "if") (parenthesized_expression "(0 < iVar24)" (( "(") (binary_expression "0 < iVar24" (number_literal "0") (< "<") (identifier "iVar24")) () ")")) (compound_statement "{\n                do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);\n              }" ({ "{") (do_statement "do {\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                } while (iVar24 != iVar22);" (do "do") (compound_statement "{\n                  iVar25 = *piVar9;\n                  iVar30 = iVar19 + iVar25 * 0xc;\n                  if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }\n                  iVar22 = iVar22 + 1;\n                  piVar9 = piVar9 + 3;\n                }" ({ "{") (expression_statement "iVar25 = *piVar9;" (assignment_expression "iVar25 = *piVar9" (identifier "iVar25") (= "=") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) (; ";")) (expression_statement "iVar30 = iVar19 + iVar25 * 0xc;" (assignment_expression "iVar30 = iVar19 + iVar25 * 0xc" (identifier "iVar30") (= "=") (binary_expression "iVar19 + iVar25 * 0xc" (identifier "iVar19") (+ "+") (binary_expression "iVar25 * 0xc" (identifier "iVar25") (* "*") (number_literal "0xc")))) (; ";")) (if_statement "if (((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }" (if "if") (parenthesized_expression "(((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0))" (( "(") (binary_expression "((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)" (parenthesized_expression "((piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0))" (( "(") (binary_expression "(piVar34[iVar25 * 3 + 1] != 0) &&\n                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)" (parenthesized_expression "(piVar34[iVar25 * 3 + 1] != 0)" (( "(") (binary_expression "piVar34[iVar25 * 3 + 1] != 0" (subscript_expression "piVar34[iVar25 * 3 + 1]" (identifier "piVar34") ([ "[") (binary_expression "iVar25 * 3 + 1" (binary_expression "iVar25 * 3" (identifier "iVar25") (* "*") (number_literal "3")) (+ "+") (number_literal "1")) (] "]")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)" (( "(") (comma_expression "uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0" (assignment_expression "uVar28 = *(uint *)(iVar30 + 4)" (identifier "uVar28") (= "=") (pointer_expression "*(uint *)(iVar30 + 4)" (* "*") (cast_expression "(uint *)(iVar30 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar30 + 4)" (( "(") (binary_expression "iVar30 + 4" (identifier "iVar30") (+ "+") (number_literal "4")) () ")"))))) (, ",") (binary_expression "uVar28 != 0" (identifier "uVar28") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((uVar28 & 2) != 0)" (( "(") (binary_expression "(uVar28 & 2) != 0" (parenthesized_expression "(uVar28 & 2)" (( "(") (binary_expression "uVar28 & 2" (identifier "uVar28") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);\n                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);\n                    if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }\n                  }" ({ "{") (expression_statement "dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);" (assignment_expression "dVar52 = (double)*(float *)(iVar23 + iVar22 * 4)" (identifier "dVar52") (= "=") (cast_expression "(double)*(float *)(iVar23 + iVar22 * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar23 + iVar22 * 4)" (* "*") (cast_expression "(float *)(iVar23 + iVar22 * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + iVar22 * 4)" (( "(") (binary_expression "iVar23 + iVar22 * 4" (identifier "iVar23") (+ "+") (binary_expression "iVar22 * 4" (identifier "iVar22") (* "*") (number_literal "4"))) () ")")))))) (; ";")) (expression_statement "dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);" (assignment_expression "dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4)" (identifier "dVar51") (= "=") (cast_expression "(double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4)" (* "*") (cast_expression "(float *)(iVar17 + *(int *)(iVar30 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + *(int *)(iVar30 + 8) * 4)" (( "(") (binary_expression "iVar17 + *(int *)(iVar30 + 8) * 4" (identifier "iVar17") (+ "+") (binary_expression "*(int *)(iVar30 + 8) * 4" (pointer_expression "*(int *)(iVar30 + 8)" (* "*") (cast_expression "(int *)(iVar30 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar30 + 8)" (( "(") (binary_expression "iVar30 + 8" (identifier "iVar30") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))))) (; ";")) (if_statement "if (iVar25 == 4) {\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }\n                    else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }" (if "if") (parenthesized_expression "(iVar25 == 4)" (( "(") (binary_expression "iVar25 == 4" (identifier "iVar25") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n                      dVar52 = dVar52 - dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }" ({ "{") (expression_statement "dVar52 = dVar52 - dVar51;" (assignment_expression "dVar52 = dVar52 - dVar51" (identifier "dVar52") (= "=") (binary_expression "dVar52 - dVar51" (identifier "dVar52") (- "-") (identifier "dVar51"))) (; ";")) (expression_statement "dVar52 = dVar52 * dVar52;" (assignment_expression "dVar52 = dVar52 * dVar52" (identifier "dVar52") (= "=") (binary_expression "dVar52 * dVar52" (identifier "dVar52") (* "*") (identifier "dVar52"))) (; ";")) (} "}")) (else_clause "else {\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }" (else "else") (compound_statement "{\n                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;\n                      dVar52 = dVar52 * dVar52;\n                    }" ({ "{") (expression_statement "dVar52 = dVar58 * dVar52 - dVar59 * dVar51;" (assignment_expression "dVar52 = dVar58 * dVar52 - dVar59 * dVar51" (identifier "dVar52") (= "=") (binary_expression "dVar58 * dVar52 - dVar59 * dVar51" (binary_expression "dVar58 * dVar52" (identifier "dVar58") (* "*") (identifier "dVar52")) (- "-") (binary_expression "dVar59 * dVar51" (identifier "dVar59") (* "*") (identifier "dVar51")))) (; ";")) (expression_statement "dVar52 = dVar52 * dVar52;" (assignment_expression "dVar52 = dVar52 * dVar52" (identifier "dVar52") (= "=") (binary_expression "dVar52 * dVar52" (identifier "dVar52") (* "*") (identifier "dVar52"))) (; ";")) (} "}")))) (if_statement "if (dVar56 <= dVar52) {\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }" (if "if") (parenthesized_expression "(dVar56 <= dVar52)" (( "(") (binary_expression "dVar56 <= dVar52" (identifier "dVar56") (<= "<=") (identifier "dVar52")) () ")")) (compound_statement "{\n                      iVar19 = *(int *)(iVar40 + 0x2d0);\n                      dVar59 = *(double *)(iVar47 + 0x30);\n                      dVar58 = *(double *)(iVar47 + 0x38);\n                      iVar30 = *(int *)(iVar19 + 0x14);\n                      iVar22 = *(int *)(iVar19 + 0x20);\n                      iVar25 = *(int *)(iVar19 + 0x28);\n                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);\n                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;\n                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;\n                      if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }\n                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;\n                      fVar38 = fVar6;\n                      if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }\n                      goto LAB_00073d28;\n                    }" ({ "{") (expression_statement "iVar19 = *(int *)(iVar40 + 0x2d0);" (assignment_expression "iVar19 = *(int *)(iVar40 + 0x2d0)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(iVar40 + 0x2d0)" (* "*") (cast_expression "(int *)(iVar40 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar40 + 0x2d0)" (( "(") (binary_expression "iVar40 + 0x2d0" (identifier "iVar40") (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (expression_statement "dVar59 = *(double *)(iVar47 + 0x30);" (assignment_expression "dVar59 = *(double *)(iVar47 + 0x30)" (identifier "dVar59") (= "=") (pointer_expression "*(double *)(iVar47 + 0x30)" (* "*") (cast_expression "(double *)(iVar47 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar47 + 0x30)" (( "(") (binary_expression "iVar47 + 0x30" (identifier "iVar47") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "dVar58 = *(double *)(iVar47 + 0x38);" (assignment_expression "dVar58 = *(double *)(iVar47 + 0x38)" (identifier "dVar58") (= "=") (pointer_expression "*(double *)(iVar47 + 0x38)" (* "*") (cast_expression "(double *)(iVar47 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar47 + 0x38)" (( "(") (binary_expression "iVar47 + 0x38" (identifier "iVar47") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "iVar30 = *(int *)(iVar19 + 0x14);" (assignment_expression "iVar30 = *(int *)(iVar19 + 0x14)" (identifier "iVar30") (= "=") (pointer_expression "*(int *)(iVar19 + 0x14)" (* "*") (cast_expression "(int *)(iVar19 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x14)" (( "(") (binary_expression "iVar19 + 0x14" (identifier "iVar19") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar22 = *(int *)(iVar19 + 0x20);" (assignment_expression "iVar22 = *(int *)(iVar19 + 0x20)" (identifier "iVar22") (= "=") (pointer_expression "*(int *)(iVar19 + 0x20)" (* "*") (cast_expression "(int *)(iVar19 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x20)" (( "(") (binary_expression "iVar19 + 0x20" (identifier "iVar19") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "iVar25 = *(int *)(iVar19 + 0x28);" (assignment_expression "iVar25 = *(int *)(iVar19 + 0x28)" (identifier "iVar25") (= "=") (pointer_expression "*(int *)(iVar19 + 0x28)" (* "*") (cast_expression "(int *)(iVar19 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x28)" (( "(") (binary_expression "iVar19 + 0x28" (identifier "iVar19") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28);" (assignment_expression "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =\n                           (float)*(double *)(iVar47 + 0x28)" (pointer_expression "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4)" (* "*") (cast_expression "(float *)(iVar18 + *(int *)(iVar19 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + *(int *)(iVar19 + 8) * 4)" (( "(") (binary_expression "iVar18 + *(int *)(iVar19 + 8) * 4" (identifier "iVar18") (+ "+") (binary_expression "*(int *)(iVar19 + 8) * 4" (pointer_expression "*(int *)(iVar19 + 8)" (* "*") (cast_expression "(int *)(iVar19 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 8)" (( "(") (binary_expression "iVar19 + 8" (identifier "iVar19") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)*(double *)(iVar47 + 0x28)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar47 + 0x28)" (* "*") (cast_expression "(double *)(iVar47 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar47 + 0x28)" (( "(") (binary_expression "iVar47 + 0x28" (identifier "iVar47") (+ "+") (number_literal "0x28")) () ")")))))) (; ";")) (expression_statement "*(float *)(iVar18 + iVar30 * 4) = (float)dVar59;" (assignment_expression "*(float *)(iVar18 + iVar30 * 4) = (float)dVar59" (pointer_expression "*(float *)(iVar18 + iVar30 * 4)" (* "*") (cast_expression "(float *)(iVar18 + iVar30 * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + iVar30 * 4)" (( "(") (binary_expression "iVar18 + iVar30 * 4" (identifier "iVar18") (+ "+") (binary_expression "iVar30 * 4" (identifier "iVar30") (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)dVar59" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dVar59"))) (; ";")) (expression_statement "*(float *)(iVar18 + iVar22 * 4) = (float)dVar58;" (assignment_expression "*(float *)(iVar18 + iVar22 * 4) = (float)dVar58" (pointer_expression "*(float *)(iVar18 + iVar22 * 4)" (* "*") (cast_expression "(float *)(iVar18 + iVar22 * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + iVar22 * 4)" (( "(") (binary_expression "iVar18 + iVar22 * 4" (identifier "iVar18") (+ "+") (binary_expression "iVar22 * 4" (identifier "iVar22") (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)dVar58" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dVar58"))) (; ";")) (if_statement "if (iVar25 != 0) {\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }" (if "if") (parenthesized_expression "(iVar25 != 0)" (( "(") (binary_expression "iVar25 != 0" (identifier "iVar25") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);\n                      }" ({ "{") (expression_statement "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40);" (assignment_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =\n                             (float)*(double *)(iVar47 + 0x40)" (pointer_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" (* "*") (cast_expression "(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" (( "(") (binary_expression "iVar18 + *(int *)(iVar19 + 0x2c) * 4" (identifier "iVar18") (+ "+") (binary_expression "*(int *)(iVar19 + 0x2c) * 4" (pointer_expression "*(int *)(iVar19 + 0x2c)" (* "*") (cast_expression "(int *)(iVar19 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x2c)" (( "(") (binary_expression "iVar19 + 0x2c" (identifier "iVar19") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)*(double *)(iVar47 + 0x40)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar47 + 0x40)" (* "*") (cast_expression "(double *)(iVar47 + 0x40)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar47 + 0x40)" (( "(") (binary_expression "iVar47 + 0x40" (identifier "iVar47") (+ "+") (number_literal "0x40")) () ")")))))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;" (if "if") (parenthesized_expression "(*(int *)(iVar19 + 0x34) == 0)" (( "(") (binary_expression "*(int *)(iVar19 + 0x34) == 0" (pointer_expression "*(int *)(iVar19 + 0x34)" (* "*") (cast_expression "(int *)(iVar19 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x34)" (( "(") (binary_expression "iVar19 + 0x34" (identifier "iVar19") (+ "+") (number_literal "0x34")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00073d38;" (goto "goto") (statement_identifier "LAB_00073d38") (; ";"))) (expression_statement "fVar38 = fVar6;" (assignment_expression "fVar38 = fVar6" (identifier "fVar38") (= "=") (identifier "fVar6")) (; ";")) (if_statement "if (*(int *)(iVar47 + 8) != 0) {\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }" (if "if") (parenthesized_expression "(*(int *)(iVar47 + 8) != 0)" (( "(") (binary_expression "*(int *)(iVar47 + 8) != 0" (pointer_expression "*(int *)(iVar47 + 8)" (* "*") (cast_expression "(int *)(iVar47 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar47 + 8)" (( "(") (binary_expression "iVar47 + 8" (identifier "iVar47") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                        fVar38 = (float)*(double *)(iVar47 + 0x48);\n                      }" ({ "{") (expression_statement "fVar38 = (float)*(double *)(iVar47 + 0x48);" (assignment_expression "fVar38 = (float)*(double *)(iVar47 + 0x48)" (identifier "fVar38") (= "=") (cast_expression "(float)*(double *)(iVar47 + 0x48)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar47 + 0x48)" (* "*") (cast_expression "(double *)(iVar47 + 0x48)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar47 + 0x48)" (( "(") (binary_expression "iVar47 + 0x48" (identifier "iVar47") (+ "+") (number_literal "0x48")) () ")")))))) (; ";")) (} "}"))) (goto_statement "goto LAB_00073d28;" (goto "goto") (statement_identifier "LAB_00073d28") (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar22 = iVar22 + 1;" (assignment_expression "iVar22 = iVar22 + 1" (identifier "iVar22") (= "=") (binary_expression "iVar22 + 1" (identifier "iVar22") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar9 = piVar9 + 3;" (assignment_expression "piVar9 = piVar9 + 3" (identifier "piVar9") (= "=") (binary_expression "piVar9 + 3" (identifier "piVar9") (+ "+") (number_literal "3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar24 != iVar22)" (( "(") (binary_expression "iVar24 != iVar22" (identifier "iVar24") (!= "!=") (identifier "iVar22")) () ")")) (; ";")) (} "}"))) (expression_statement "iVar19 = *(int *)(iVar40 + 0x2d0);" (assignment_expression "iVar19 = *(int *)(iVar40 + 0x2d0)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(iVar40 + 0x2d0)" (* "*") (cast_expression "(int *)(iVar40 + 0x2d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar40 + 0x2d0)" (( "(") (binary_expression "iVar40 + 0x2d0" (identifier "iVar40") (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (expression_statement "dVar59 = *(double *)(iVar41 + 0x30);" (assignment_expression "dVar59 = *(double *)(iVar41 + 0x30)" (identifier "dVar59") (= "=") (pointer_expression "*(double *)(iVar41 + 0x30)" (* "*") (cast_expression "(double *)(iVar41 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar41 + 0x30)" (( "(") (binary_expression "iVar41 + 0x30" (identifier "iVar41") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "dVar58 = *(double *)(iVar41 + 0x38);" (assignment_expression "dVar58 = *(double *)(iVar41 + 0x38)" (identifier "dVar58") (= "=") (pointer_expression "*(double *)(iVar41 + 0x38)" (* "*") (cast_expression "(double *)(iVar41 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar41 + 0x38)" (( "(") (binary_expression "iVar41 + 0x38" (identifier "iVar41") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "iVar30 = *(int *)(iVar19 + 0x14);" (assignment_expression "iVar30 = *(int *)(iVar19 + 0x14)" (identifier "iVar30") (= "=") (pointer_expression "*(int *)(iVar19 + 0x14)" (* "*") (cast_expression "(int *)(iVar19 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x14)" (( "(") (binary_expression "iVar19 + 0x14" (identifier "iVar19") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar22 = *(int *)(iVar19 + 0x20);" (assignment_expression "iVar22 = *(int *)(iVar19 + 0x20)" (identifier "iVar22") (= "=") (pointer_expression "*(int *)(iVar19 + 0x20)" (* "*") (cast_expression "(int *)(iVar19 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x20)" (( "(") (binary_expression "iVar19 + 0x20" (identifier "iVar19") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "iVar25 = *(int *)(iVar19 + 0x28);" (assignment_expression "iVar25 = *(int *)(iVar19 + 0x28)" (identifier "iVar25") (= "=") (pointer_expression "*(int *)(iVar19 + 0x28)" (* "*") (cast_expression "(int *)(iVar19 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x28)" (( "(") (binary_expression "iVar19 + 0x28" (identifier "iVar19") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);" (assignment_expression "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28)" (pointer_expression "*(float *)(iVar18 + *(int *)(iVar19 + 8) * 4)" (* "*") (cast_expression "(float *)(iVar18 + *(int *)(iVar19 + 8) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + *(int *)(iVar19 + 8) * 4)" (( "(") (binary_expression "iVar18 + *(int *)(iVar19 + 8) * 4" (identifier "iVar18") (+ "+") (binary_expression "*(int *)(iVar19 + 8) * 4" (pointer_expression "*(int *)(iVar19 + 8)" (* "*") (cast_expression "(int *)(iVar19 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 8)" (( "(") (binary_expression "iVar19 + 8" (identifier "iVar19") (+ "+") (number_literal "8")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)*(double *)(iVar41 + 0x28)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar41 + 0x28)" (* "*") (cast_expression "(double *)(iVar41 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar41 + 0x28)" (( "(") (binary_expression "iVar41 + 0x28" (identifier "iVar41") (+ "+") (number_literal "0x28")) () ")")))))) (; ";")) (expression_statement "*(float *)(iVar18 + iVar30 * 4) = (float)dVar59;" (assignment_expression "*(float *)(iVar18 + iVar30 * 4) = (float)dVar59" (pointer_expression "*(float *)(iVar18 + iVar30 * 4)" (* "*") (cast_expression "(float *)(iVar18 + iVar30 * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + iVar30 * 4)" (( "(") (binary_expression "iVar18 + iVar30 * 4" (identifier "iVar18") (+ "+") (binary_expression "iVar30 * 4" (identifier "iVar30") (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)dVar59" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dVar59"))) (; ";")) (expression_statement "*(float *)(iVar18 + iVar22 * 4) = (float)dVar58;" (assignment_expression "*(float *)(iVar18 + iVar22 * 4) = (float)dVar58" (pointer_expression "*(float *)(iVar18 + iVar22 * 4)" (* "*") (cast_expression "(float *)(iVar18 + iVar22 * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + iVar22 * 4)" (( "(") (binary_expression "iVar18 + iVar22 * 4" (identifier "iVar18") (+ "+") (binary_expression "iVar22 * 4" (identifier "iVar22") (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)dVar58" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dVar58"))) (; ";")) (if_statement "if (iVar25 != 0) {\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }" (if "if") (parenthesized_expression "(iVar25 != 0)" (( "(") (binary_expression "iVar25 != 0" (identifier "iVar25") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;\n              }" ({ "{") (expression_statement "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)\n                ;" (assignment_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)" (pointer_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" (* "*") (cast_expression "(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + *(int *)(iVar19 + 0x2c) * 4)" (( "(") (binary_expression "iVar18 + *(int *)(iVar19 + 0x2c) * 4" (identifier "iVar18") (+ "+") (binary_expression "*(int *)(iVar19 + 0x2c) * 4" (pointer_expression "*(int *)(iVar19 + 0x2c)" (* "*") (cast_expression "(int *)(iVar19 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x2c)" (( "(") (binary_expression "iVar19 + 0x2c" (identifier "iVar19") (+ "+") (number_literal "0x2c")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(float)*(double *)(iVar41 + 0x40)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar41 + 0x40)" (* "*") (cast_expression "(double *)(iVar41 + 0x40)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar41 + 0x40)" (( "(") (binary_expression "iVar41 + 0x40" (identifier "iVar41") (+ "+") (number_literal "0x40")) () ")")))))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar19 + 0x34) != 0) {\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }" (if "if") (parenthesized_expression "(*(int *)(iVar19 + 0x34) != 0)" (( "(") (binary_expression "*(int *)(iVar19 + 0x34) != 0" (pointer_expression "*(int *)(iVar19 + 0x34)" (* "*") (cast_expression "(int *)(iVar19 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x34)" (( "(") (binary_expression "iVar19 + 0x34" (identifier "iVar19") (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }\nLAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;\n              }" ({ "{") (if_statement "if (*(int *)(iVar41 + 8) == 0) {\n                  fVar38 = (float)uVar61;\n                }\n                else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }" (if "if") (parenthesized_expression "(*(int *)(iVar41 + 8) == 0)" (( "(") (binary_expression "*(int *)(iVar41 + 8) == 0" (pointer_expression "*(int *)(iVar41 + 8)" (* "*") (cast_expression "(int *)(iVar41 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar41 + 8)" (( "(") (binary_expression "iVar41 + 8" (identifier "iVar41") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  fVar38 = (float)uVar61;\n                }" ({ "{") (expression_statement "fVar38 = (float)uVar61;" (assignment_expression "fVar38 = (float)uVar61" (identifier "fVar38") (= "=") (cast_expression "(float)uVar61" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "uVar61"))) (; ";")) (} "}")) (else_clause "else {\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }" (else "else") (compound_statement "{\n                  fVar38 = (float)*(double *)(iVar41 + 0x48);\n                }" ({ "{") (expression_statement "fVar38 = (float)*(double *)(iVar41 + 0x48);" (assignment_expression "fVar38 = (float)*(double *)(iVar41 + 0x48)" (identifier "fVar38") (= "=") (cast_expression "(float)*(double *)(iVar41 + 0x48)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar41 + 0x48)" (* "*") (cast_expression "(double *)(iVar41 + 0x48)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar41 + 0x48)" (( "(") (binary_expression "iVar41 + 0x48" (identifier "iVar41") (+ "+") (number_literal "0x48")) () ")")))))) (; ";")) (} "}")))) (labeled_statement "LAB_00073d28:\n                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;" (statement_identifier "LAB_00073d28") (: ":") (expression_statement "*(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;" (assignment_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38" (pointer_expression "*(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4)" (* "*") (cast_expression "(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + *(int *)(iVar19 + 0x38) * 4)" (( "(") (binary_expression "iVar18 + *(int *)(iVar19 + 0x38) * 4" (identifier "iVar18") (+ "+") (binary_expression "*(int *)(iVar19 + 0x38) * 4" (pointer_expression "*(int *)(iVar19 + 0x38)" (* "*") (cast_expression "(int *)(iVar19 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + 0x38)" (( "(") (binary_expression "iVar19 + 0x38" (identifier "iVar19") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "fVar38")) (; ";"))) (} "}"))) (labeled_statement "LAB_00073d38:\n              iVar37 = iVar37 + 1;" (statement_identifier "LAB_00073d38") (: ":") (expression_statement "iVar37 = iVar37 + 1;" (assignment_expression "iVar37 = iVar37 + 1" (identifier "iVar37") (= "=") (binary_expression "iVar37 + 1" (identifier "iVar37") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "iVar23 = iVar23 + iVar24 * 4;" (assignment_expression "iVar23 = iVar23 + iVar24 * 4" (identifier "iVar23") (= "=") (binary_expression "iVar23 + iVar24 * 4" (identifier "iVar23") (+ "+") (binary_expression "iVar24 * 4" (identifier "iVar24") (* "*") (number_literal "4")))) (; ";")) (expression_statement "iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;" (assignment_expression "iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4" (identifier "iVar17") (= "=") (binary_expression "iVar17 + *(int *)(iVar42 + 0x2c0) * 4" (identifier "iVar17") (+ "+") (binary_expression "*(int *)(iVar42 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar42 + 0x2c0)" (* "*") (cast_expression "(int *)(iVar42 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar42 + 0x2c0)" (( "(") (binary_expression "iVar42 + 0x2c0" (identifier "iVar42") (+ "+") (number_literal "0x2c0")) () ")")))) (* "*") (number_literal "4")))) (; ";")) (expression_statement "iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;" (assignment_expression "iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4" (identifier "iVar18") (= "=") (binary_expression "iVar18 + *(int *)(iVar40 + 0x2c0) * 4" (identifier "iVar18") (+ "+") (binary_expression "*(int *)(iVar40 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar40 + 0x2c0)" (* "*") (cast_expression "(int *)(iVar40 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar40 + 0x2c0)" (( "(") (binary_expression "iVar40 + 0x2c0" (identifier "iVar40") (+ "+") (number_literal "0x2c0")) () ")")))) (* "*") (number_literal "4")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar37 != iVar13)" (( "(") (binary_expression "iVar37 != iVar13" (identifier "iVar37") (!= "!=") (identifier "iVar13")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_00073d60:\n          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);" (statement_identifier "LAB_00073d60") (: ":") (expression_statement "iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);" (assignment_expression "iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48)" (identifier "iVar23") (= "=") (call_expression "(**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48)" (parenthesized_expression "(**(code **)(pcVar49 + 0x335c50))" (( "(") (pointer_expression "**(code **)(pcVar49 + 0x335c50)" (* "*") (pointer_expression "*(code **)(pcVar49 + 0x335c50)" (* "*") (cast_expression "(code **)(pcVar49 + 0x335c50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar49 + 0x335c50)" (( "(") (binary_expression "pcVar49 + 0x335c50" (identifier "pcVar49") (+ "+") (number_literal "0x335c50")) () ")"))))) () ")")) (argument_list "(uVar16,uVar48)" (( "(") (identifier "uVar16") (, ",") (identifier "uVar48") () ")")))) (; ";"))) (if_statement "if (iVar23 != 0) goto LAB_00073d80;" (if "if") (parenthesized_expression "(iVar23 != 0)" (( "(") (binary_expression "iVar23 != 0" (identifier "iVar23") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00073d80;" (goto "goto") (statement_identifier "LAB_00073d80") (; ";"))) (} "}"))) (expression_statement "*(undefined4 *)(pdVar8 + 7) = 0;" (assignment_expression "*(undefined4 *)(pdVar8 + 7) = 0" (pointer_expression "*(undefined4 *)(pdVar8 + 7)" (* "*") (cast_expression "(undefined4 *)(pdVar8 + 7)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pdVar8 + 7)" (( "(") (binary_expression "pdVar8 + 7" (identifier "pdVar8") (+ "+") (number_literal "7")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (labeled_statement "LAB_00073d80:\n      iVar3 = iVar3 + 1;" (statement_identifier "LAB_00073d80") (: ":") (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "(iVar62 != iVar3)" (( "(") (binary_expression "iVar62 != iVar3" (identifier "iVar62") (!= "!=") (identifier "iVar3")) () ")")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (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: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (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)))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (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)))))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (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: (identifier) right: (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)) 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: (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 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: (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))))) (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: (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: (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: (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))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (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))))) right: (number_literal)))) body: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) 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: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_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: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier)))))) (expression_statement (assignment_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: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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) (number_literal) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_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 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: (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: (subscript_expression argument: (identifier) index: (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: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))) right: (identifier))))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) right: (binary_expression left: (binary_expression left: (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))))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (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))))) right: (number_literal)))))) right: (identifier)))))))))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) 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: (binary_expression left: (pointer_expression argument: (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))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (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))))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_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: (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: (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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (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))))) right: (number_literal))))))) 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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (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))) (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: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (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)))))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (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))))) 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: (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) right: (identifier)))) right: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) right: (binary_expression left: (identifier) right: (identifier))))) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) consequence: (compound_statement (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: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_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)) 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: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (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))))) right: (number_literal)))))) condition: (parenthesized_expression (binary_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))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (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: (pointer_expression argument: (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))))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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))) (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: (pointer_expression argument: (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))) (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))) (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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)))))) 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: (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)))))) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (identifier) right: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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 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: (pointer_expression argument: (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: (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))))) 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 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: (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: (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: (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: (pointer_expression argument: (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: (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: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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))))) right: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (identifier) (unary_expression argument: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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))))) right: (number_literal)))) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (pointer_expression argument: (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))))) right: (number_literal))) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (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)))))) (pointer_expression argument: (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))))) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (identifier) (unary_expression argument: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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))))) right: (number_literal)))) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (pointer_expression argument: (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))))) right: (number_literal))) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (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)))))) (pointer_expression argument: (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))))) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (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))))) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (identifier) (number_literal) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (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: (pointer_expression argument: (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: (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))))))) (do_statement body: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (identifier) (number_literal) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (identifier) (number_literal) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (identifier) (number_literal) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (identifier) (number_literal) (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: (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: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (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)) 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_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))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (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)) 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: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (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)))))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (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: (identifier))))) right: (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: (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: (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: (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: (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: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (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))))) right: (number_literal))))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (identifier)) right: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (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))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (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: (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: (binary_expression left: (identifier) right: (identifier))))) 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: (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: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (identifier)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_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: (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: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (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: (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (number_literal)))))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (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: (pointer_expression argument: (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: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (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: (identifier))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (identifier))))) right: (binary_expression left: (identifier) right: (identifier)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (identifier))))) right: (binary_expression left: (identifier) right: (identifier))))) right: (identifier))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))) right: (identifier)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (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: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (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)))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (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))) (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: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (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: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list)))))))) (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))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement))) (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (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))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (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))))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (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)) value: (parenthesized_expression (binary_expression left: (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: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (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: (pointer_expression argument: (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: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (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: (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: (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: (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: (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)) 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)) 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)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (number_literal) (identifier))))) (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: (number_literal))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_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 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: (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: (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: (subscript_expression argument: (identifier) index: (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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))))) 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: (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: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))) right: (identifier))))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (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)))))) right: (binary_expression left: (binary_expression left: (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))))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (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))))) right: (number_literal)))))) right: (identifier)))))))))) body: (compound_statement (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: (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: (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: (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: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (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))))) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (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))))) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (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))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (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))))) right: (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: (binary_expression left: (identifier) right: (binary_expression left: (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))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (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))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (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))))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (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))))) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (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))))) right: (number_literal))))))) 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (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: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (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)))))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_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)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (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))))) 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: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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)) 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: (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: (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: (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: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (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))))) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (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))))) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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))))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (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))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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)))))))))) (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))))) condition: (parenthesized_expression (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)) 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: (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: (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: (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: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (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))))) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (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))))) right: (number_literal)))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (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)) value: (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))))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (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))))) right: (number_literal)))))) right: (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: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (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))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (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))))) right: (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (return_statement))))

void MASKED(double *param_1)

{
  undefined *puVar1;
  int iVar2;
  int iVar3;
  double *pdVar4;
  float fVar5;
  float fVar6;
  double *pdVar7;
  double *pdVar8;
  int *piVar9;
  double *pdVar10;
  double *pdVar11;
  float fVar12;
  int iVar13;
  undefined4 uVar14;
  undefined4 uVar15;
  undefined4 uVar16;
  int iVar17;
  int iVar18;
  int iVar19;
  double *pdVar20;
  float *pfVar21;
  int iVar22;
  int iVar23;
  int iVar24;
  int iVar25;
  int iVar26;
  int *piVar27;
  uint uVar28;
  double *pdVar29;
  int iVar30;
  double *pdVar31;
  double *pdVar32;
  double *pdVar33;
  int *piVar34;
  double *pdVar35;
  int iVar36;
  int iVar37;
  float fVar38;
  int iVar39;
  int iVar40;
  int iVar41;
  int iVar42;
  double *unaff_s0;
  float unaff_s1;
  double *unaff_s2;
  int unaff_s5;
  float unaff_s6;
  float unaff_s7;
  float *pfVar43;
  int iVar44;
  undefined *puVar45;
  int iVar46;
  int iVar47;
  undefined4 uVar48;
  code *pcVar49;
  float *pfVar50;
  double dVar51;
  double dVar52;
  double dVar53;
  float fVar54;
  double dVar55;
  double dVar56;
  double dVar57;
  double dVar58;
  double dVar59;
  double in_f20_21;
  double in_f22_23;
  double in_f24_25;
  double dVar60;
  ulonglong uVar61;
  int iVar62;
  int iStack_f80;
  double *pdStack_f7c;
  int iStack_f78;
  int iStack_f54;
  float *pfStack_f50;
  double *pdStack_f4c;
  double *pdStack_f48;
  double adStack_f18 [64];
  double dStack_d18;
  double adStack_d10 [65];
  double adStack_b08 [65];
  double adStack_900 [65];
  double adStack_6f8 [65];
  double adStack_4f0 [65];
  int iStack_2e4;
  double *pdStack_2e0;
  float fStack_2dc;
  double *pdStack_2d8;
  int iStack_2d4;
  double *pdStack_2d0;
  int iStack_2cc;
  float fStack_2c8;
  float fStack_2c4;
  int iStack_2c0;
  code *pcStack_2bc;
  double dStack_2b8;
  double dStack_2b0;
  double dStack_2a8;
  undefined4 local_290;
  float local_28c;
  double local_250 [65];
  undefined8 uStack_48;
  
  puVar1 = PTR___stack_chk_guard_003a9230;
  uStack_48._4_4_ = *(int *)PTR___stack_chk_guard_003a9230;
  pdVar10 = param_1;
  iVar2 = (*(code *)PTR_omp_get_num_threads_003a990c)();
  iVar3 = (*(code *)PTR_omp_get_thread_num_003a9508)();
  puVar45 = PTR_LAB_003a88e0;
  if (iVar2 == 0) {
    trap(7);
  }
  iVar62 = (int)*(float *)((int)param_1 + 0x1c) / iVar2;
  iVar2 = (int)*(float *)((int)param_1 + 0x1c) % iVar2;
  if (iVar3 < iVar2) {
    iVar62 = iVar62 + 1;
    iVar2 = 0;
  }
  iVar2 = iVar62 * iVar3 + iVar2;
  iVar62 = iVar62 + iVar2;
  pdVar8 = param_1;
  if (iVar2 < iVar62) {
    unaff_s7 = *(float *)((int)param_1 + 4);
    in_f20_21 = *(double *)(PTR_LAB_003a88e0 + 0x1440);
    pdVar4 = *(double **)((int)param_1 + 0x14);
    in_f24_25 = *(double *)(PTR_LAB_003a88e0 + 0x1438);
    unaff_s1 = *(float *)param_1;
    fVar5 = *(float *)(param_1 + 2);
    unaff_s6 = *(float *)(param_1 + 3);
    fVar6 = *(float *)((int)param_1 + 0xc);
    pdVar7 = *(double **)(param_1 + 1);
    unaff_s5 = iVar2;
    in_f22_23 = in_f20_21;
    do {
      while (unaff_s2 = param_1, *(float *)(param_1 + 4) == 0.0) {
LAB_00073194:
        unaff_s5 = unaff_s5 + 1;
        if (iVar62 == unaff_s5) goto LAB_000731a4;
      }
      unaff_s0 = (double *)0x1;
      local_290 = 1;
      local_28c = fVar6;
      pdVar8 = (double *)
               (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(fVar5,0,unaff_s5,unaff_s6);
      local_290 = 1;
      pdVar10 = pdVar4;
      local_28c = fVar6;
      iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_003a965c)(pdVar4,0,unaff_s5,unaff_s6);
      if ((pdVar8 != (double *)0x0) && (iVar2 != 0)) {
        unaff_s0 = local_250;
        (*(code *)PTR_memset_003a96d4)(unaff_s0,0,0x208);
        if (0 < (int)unaff_s6) {
          fVar38 = 0.0;
          piVar34 = *(int **)((int)unaff_s1 + 0x2d0);
          dVar56 = *(double *)(puVar45 + 0x1440);
          iVar3 = piVar34[0x13];
          fVar54 = *(float *)(PTR_LAB_003a88e0 + 0x3708);
          dVar57 = *(double *)(puVar45 + 0x1438);
          do {
            while (((iVar3 != 0 && (*(float *)((int)pdVar8 + piVar34[0x14] * 4) <= fVar54)) ||
                   ((iVar26 = *(int *)((int)unaff_s7 + 0x2d0), *(int *)(iVar26 + 0x4c) != 0 &&
                    (*(float *)(iVar2 + *(int *)(iVar26 + 0x50) * 4) <= fVar54))))) {
              fVar38 = (float)((int)fVar38 + 1);
              pdVar8 = (double *)((int)pdVar8 + *(int *)((int)unaff_s1 + 0x2c0) * 4);
              iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;
              if (fVar38 == unaff_s6) goto LAB_00073140;
            }
            if (piVar34[0xd] == 0) {
              iVar46 = *(int *)(iVar26 + 0x34);
              dVar60 = dVar57;
            }
            else {
              iVar46 = *(int *)(iVar26 + 0x34);
              dVar60 = (double)*(float *)((int)pdVar8 + piVar34[0xe] * 4) * dVar56;
            }
            dVar53 = in_f24_25;
            if (iVar46 != 0) {
              dVar53 = (double)*(float *)(iVar2 + *(int *)(iVar26 + 0x38) * 4) * dVar56;
            }
            iVar46 = *(int *)((int)unaff_s1 + 0x2c0);
            if (0 < iVar46) {
              piVar9 = piVar34;
              pdVar10 = unaff_s0;
              pdVar11 = pdVar8;
              do {
                iVar42 = *piVar9;
                iVar40 = iVar26 + iVar42 * 0xc;
                if (((piVar34[iVar42 * 3 + 1] != 0) && (uVar28 = *(uint *)(iVar40 + 4), uVar28 != 0)
                    ) && ((uVar28 & 2) != 0)) {
                  dVar55 = (double)*(float *)(iVar2 + *(int *)(iVar40 + 8) * 4);
                  if (iVar42 == 4) {
                    dVar55 = ABS((double)*(float *)pdVar11 - dVar55) * in_f22_23;
                  }
                  else {
                    dVar55 = ABS(dVar60 * (double)*(float *)pdVar11 - dVar53 * dVar55) * in_f20_21;
                  }
                  if (*pdVar10 < dVar55) {
                    *pdVar10 = dVar55;
                  }
                  if (local_250[0x40] < dVar55) {
                    local_250[0x40] = dVar55;
                  }
                }
                piVar9 = piVar9 + 3;
                pdVar10 = pdVar10 + 1;
                pdVar11 = (double *)((int)pdVar11 + 4);
              } while (piVar9 != piVar34 + iVar46 * 3);
            }
            fVar38 = (float)((int)fVar38 + 1);
            pdVar8 = (double *)((int)pdVar8 + iVar46 * 4);
            iVar2 = iVar2 + *(int *)((int)unaff_s7 + 0x2c0) * 4;
          } while (fVar38 != unaff_s6);
        }
LAB_00073140:
        (*(code *)PTR_GOMP_critical_name_start_003a9734)
                  (PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644);
        pdVar10 = pdVar7;
        do {
          if (*pdVar10 < *unaff_s0) {
            *pdVar10 = *unaff_s0;
          }
          unaff_s0 = unaff_s0 + 1;
          pdVar10 = pdVar10 + 1;
        } while ((double *)&uStack_48 != unaff_s0);
        pdVar10 = (double *)PTR__gomp_critical_user_MagickCore_GetPeakAbsoluteError_003a9644;
        (*(code *)PTR_GOMP_critical_name_end_003a93ac)();
        goto LAB_00073194;
      }
      unaff_s5 = unaff_s5 + 1;
      *(float *)(param_1 + 4) = 0.0;
    } while (iVar62 != unaff_s5);
  }
LAB_000731a4:
  if (uStack_48._4_4_ == *(int *)puVar1) {
    return;
  }
  pcVar49 = FUN_00073244;
  puVar45 = PTR___stack_chk_fail_003a9064;
  (*(code *)PTR___stack_chk_fail_003a9064)();
  piVar34 = *(int **)(puVar45 + 0x335fec);
  iStack_2e4 = *piVar34;
  pdStack_2e0 = unaff_s0;
  fStack_2dc = unaff_s1;
  pdStack_2d8 = unaff_s2;
  iStack_2d4 = iVar2;
  pdStack_2d0 = pdVar8;
  iStack_2cc = unaff_s5;
  fStack_2c8 = unaff_s6;
  fStack_2c4 = unaff_s7;
  iStack_2c0 = iVar62;
  pcStack_2bc = pcVar49;
  dStack_2b8 = in_f20_21;
  dStack_2b0 = in_f22_23;
  dStack_2a8 = in_f24_25;
  iVar3 = (**(code **)(puVar45 + 0x3366c8))();
  iVar2 = (**(code **)(puVar45 + 0x3362c4))();
  if (iVar3 == 0) {
    trap(7);
  }
  iVar62 = (int)*(float *)(pdVar10 + 6) / iVar3;
  pdVar8 = (double *)((int)*(float *)(pdVar10 + 6) % iVar3);
  if (iVar2 < (int)pdVar8) {
    iVar62 = iVar62 + 1;
    pdVar8 = (double *)0x0;
  }
  pdStack_f48 = (double *)(iVar62 * iVar2 + (int)pdVar8);
  pdVar4 = (double *)(iVar62 + (int)pdStack_f48);
  if ((int)pdStack_f48 < (int)pdVar4) {
    dVar57 = pdVar10[1];
    fVar5 = *(float *)(pdVar10 + 5);
    pdVar20 = *(double **)((int)pdVar10 + 0x2c);
    dVar56 = *pdVar10;
    dVar60 = *(double *)(*(int *)(puVar45 + 0x33569c) + 0x1440);
    pdVar7 = *(double **)((int)pdVar10 + 0x24);
    fVar6 = *(float *)(pdVar10 + 4);
    fVar38 = *(float *)((int)pdVar10 + 0x1c);
    pdVar11 = *(double **)(pdVar10 + 3);
    fVar54 = *(float *)((int)pdVar10 + 0x14);
    fVar12 = *(float *)(pdVar10 + 2);
    pdVar8 = pdVar20;
    do {
      if (*(float *)((int)pdVar10 + 0x34) != 0.0) {
        pfStack_f50 = (float *)(**(code **)(puVar45 + 0x336418))
                                         (fVar6,-(*(int *)((int)fVar5 + 4) / 2),
                                          (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,
                                          (int)pdVar20 + *(int *)((int)fVar5 + 4),
                                          *(int *)((int)fVar5 + 8),fVar38);
        pdVar8 = pdVar7;
        iStack_f54 = (**(code **)(puVar45 + 0x336418))
                               (pdVar7,-(*(int *)((int)fVar5 + 4) / 2),
                                (int)pdStack_f48 - *(int *)((int)fVar5 + 8) / 2,
                                (int)pdVar20 + *(int *)((int)fVar5 + 4),*(int *)((int)fVar5 + 8),
                                fVar38);
        if ((pfStack_f50 == (float *)0x0) || (iStack_f54 == 0)) {
          *(float *)((int)pdVar10 + 0x34) = 0.0;
        }
        else {
          (**(code **)(puVar45 + 0x336490))(adStack_f18,0,0x208);
          if (0 < (int)pdVar20) {
            pdStack_f4c = (double *)0x0;
            iVar2 = *(int *)((int)fVar12 + 0x2c0);
            iVar3 = *(int *)((int)fVar54 + 0x2c0);
            iVar62 = iVar3 * 4;
            pcVar49 = *(code **)(puVar45 + 0x336490);
            do {
              (*pcVar49)(adStack_d10,0,0x208);
              (**(code **)(puVar45 + 0x336490))(adStack_900,0,0x208);
              (**(code **)(puVar45 + 0x336490))(adStack_b08,0,0x208);
              (**(code **)(puVar45 + 0x336490))(adStack_6f8,0,0x208);
              (**(code **)(puVar45 + 0x336490))(adStack_4f0,0,0x208);
              iVar26 = *(int *)((int)fVar5 + 8);
              pdStack_f7c = *(double **)((int)fVar5 + 0x14);
              if (0 < iVar26) {
                iVar46 = *(int *)((int)fVar5 + 4);
                iStack_f78 = 0;
                iStack_f80 = iStack_f54;
                pfVar50 = pfStack_f50;
                do {
                  if (0 < iVar46) {
                    iVar42 = 0;
                    pdVar8 = pdStack_f7c;
                    iVar40 = iStack_f80;
                    pfVar43 = pfVar50;
                    do {
                      if (0 < iVar2) {
                        iVar36 = *(int *)((int)fVar54 + 0x2d0);
                        piVar27 = *(int **)((int)fVar12 + 0x2d0);
                        iVar13 = 0;
                        piVar9 = piVar27;
                        pfVar21 = pfVar43;
                        do {
                          iVar23 = iVar36 + *piVar9 * 0xc;
                          if (((piVar27[*piVar9 * 3 + 1] != 0) &&
                              (uVar28 = *(uint *)(iVar23 + 4), uVar28 != 0)) &&
                             (pdVar32 = (double *)((int)adStack_b08 + iVar13), (uVar28 & 2) != 0)) {
                            pdVar29 = (double *)((int)adStack_4f0 + iVar13);
                            pdVar31 = (double *)((int)adStack_900 + iVar13);
                            pdVar33 = (double *)((int)adStack_d10 + iVar13);
                            pdVar35 = (double *)((int)adStack_6f8 + iVar13);
                            dVar55 = (double)*(float *)(iVar40 + *(int *)(iVar23 + 8) * 4) * dVar60;
                            dVar58 = (double)*pfVar21 * dVar60 * *pdVar8;
                            dVar53 = *pdVar8 * dVar55;
                            *pdVar32 = (double)*pfVar21 * dVar60 * dVar58 + *pdVar32;
                            *pdVar31 = dVar58 * dVar55 + *pdVar31;
                            *pdVar29 = dVar55 * dVar53 + *pdVar29;
                            *pdVar33 = *pdVar33 + dVar58;
                            *pdVar35 = *pdVar35 + dVar53;
                          }
                          iVar13 = iVar13 + 8;
                          piVar9 = piVar9 + 3;
                          pfVar21 = pfVar21 + 1;
                        } while (iVar2 << 3 != iVar13);
                      }
                      iVar42 = iVar42 + 1;
                      pdVar8 = pdVar8 + 1;
                      pfVar43 = pfVar43 + iVar2;
                      iVar40 = iVar40 + iVar62;
                    } while (iVar42 != iVar46);
                    pdStack_f7c = pdStack_f7c + iVar46;
                    pfVar50 = (float *)((int)pfVar50 + iVar46 * iVar2 * 4);
                    iStack_f80 = iStack_f80 + iVar46 * iVar62;
                  }
                  pfVar50 = (float *)((int)pfVar50 + iVar2 * (int)pdVar20 * 4);
                  iStack_f78 = iStack_f78 + 1;
                  iStack_f80 = iStack_f80 + (int)pdVar20 * 4 * iVar3;
                } while (iStack_f78 != iVar26);
              }
              if (0 < iVar2) {
                piVar27 = *(int **)((int)fVar12 + 0x2d0);
                iVar26 = 0;
                iVar46 = *(int *)((int)fVar54 + 0x2d0);
                piVar9 = piVar27;
                do {
                  if (((piVar27[*piVar9 * 3 + 1] != 0) &&
                      (uVar28 = *(uint *)(iVar46 + *piVar9 * 0xc + 4), uVar28 != 0)) &&
                     ((uVar28 & 2) != 0)) {
                    dVar59 = *(double *)((int)adStack_d10 + iVar26);
                    dVar53 = *(double *)((int)adStack_6f8 + iVar26);
                    pdVar8 = (double *)((int)adStack_f18 + iVar26);
                    dVar55 = dVar59 * dVar53;
                    dVar58 = *(double *)((int)adStack_900 + iVar26) - dVar55;
                    dVar53 = ((dVar58 + dVar58 + dVar57) * (dVar55 + dVar55 + dVar56)) /
                             (((*(double *)((int)adStack_b08 + iVar26) - dVar59 * dVar59) +
                               (*(double *)((int)adStack_4f0 + iVar26) - dVar53 * dVar53) + dVar57)
                             * (dVar59 * dVar59 + dVar53 * dVar53 + dVar56));
                    *pdVar8 = *pdVar8 + dVar53;
                    dStack_d18 = dStack_d18 + dVar53;
                  }
                  iVar26 = iVar26 + 8;
                  piVar9 = piVar9 + 3;
                } while (iVar26 != iVar2 << 3);
              }
              pfStack_f50 = pfStack_f50 + iVar2;
              pdStack_f4c = (double *)((int)pdStack_f4c + 1);
              iStack_f54 = iStack_f54 + iVar62;
              pcVar49 = *(code **)(puVar45 + 0x336490);
            } while (pdVar20 != pdStack_f4c);
          }
          (**(code **)(puVar45 + 0x3364f0))(*(undefined4 *)(puVar45 + 0x3360c4));
          pdVar8 = adStack_f18;
          pdVar32 = pdVar11;
          do {
            pdVar29 = pdVar8 + 1;
            *pdVar32 = *pdVar32 + *pdVar8;
            pdVar8 = pdVar29;
            pdVar32 = pdVar32 + 1;
          } while (adStack_d10 != pdVar29);
          pdVar8 = *(double **)(puVar45 + 0x3360c4);
          (**(code **)(puVar45 + 0x336168))();
        }
      }
      pdStack_f48 = (double *)((int)pdStack_f48 + 1);
    } while (pdVar4 != pdStack_f48);
  }
  if (iStack_2e4 == *piVar34) {
    return;
  }
  pcVar49 = *(code **)(puVar45 + 0x335e20);
  (*pcVar49)();
  iVar3 = (**(code **)(pcVar49 + 0x336064))();
  iVar2 = (**(code **)(pcVar49 + 0x335c60))();
  if (iVar3 == 0) {
    trap(7);
  }
  iVar62 = *(int *)((int)pdVar8 + 0x34) / iVar3;
  iVar3 = *(int *)((int)pdVar8 + 0x34) % iVar3;
  if (iVar2 < iVar3) {
    iVar62 = iVar62 + 1;
    iVar3 = 0;
  }
  iVar3 = iVar62 * iVar2 + iVar3;
  iVar62 = iVar62 + iVar3;
  iVar2 = *(int *)(pcVar49 + 0x335038);
  if (iVar3 < iVar62) {
    iVar26 = *(int *)(pcVar49 + 0x335038);
    iVar46 = *(int *)(pcVar49 + 0x335038);
    uVar61 = (ulonglong)*(uint *)(iVar2 + 0x1a50);
    uVar14 = *(undefined4 *)((int)pdVar8 + 0x1c);
    dVar56 = *pdVar8;
    iVar40 = *(int *)(pdVar8 + 4);
    dVar57 = *(double *)(iVar26 + 0x1438);
    iVar42 = *(int *)((int)pdVar8 + 0xc);
    dVar60 = *(double *)(iVar46 + 0x1440);
    iVar36 = *(int *)(pdVar8 + 1);
    iVar13 = *(int *)(pdVar8 + 6);
    uVar48 = *(undefined4 *)(pdVar8 + 2);
    uVar15 = *(undefined4 *)(pdVar8 + 3);
    uVar16 = *(undefined4 *)((int)pdVar8 + 0x14);
    do {
      if (*(int *)(pdVar8 + 7) != 0) {
        iVar23 = (**(code **)(pcVar49 + 0x335db4))(uVar15,0,iVar3,iVar13,1,uVar48);
        iVar17 = (**(code **)(pcVar49 + 0x335db4))(uVar14,0,iVar3,iVar13,1,uVar48);
        iVar18 = (**(code **)(pcVar49 + 0x3353a8))(uVar16,0,iVar3,iVar13,1,uVar48);
        if (((iVar23 != 0) && (iVar17 != 0)) && (iVar18 != 0)) {
          if (0 < iVar13) {
            iVar37 = 0;
            piVar34 = *(int **)(iVar36 + 0x2d0);
            iVar39 = *(int *)((int)pdVar8 + 0x2c);
            fVar6 = *(float *)(iVar2 + 0x1a50);
            iVar44 = piVar34[0x13];
            iVar47 = *(int *)((int)pdVar8 + 0x24);
            fVar5 = *(float *)(*(int *)(pcVar49 + 0x335038) + 0x3708);
            iVar41 = *(int *)(pdVar8 + 5);
            dVar53 = *(double *)(iVar26 + 0x1438);
            dVar55 = *(double *)(iVar46 + 0x1440);
            do {
              while (((iVar44 != 0 && (*(float *)(iVar23 + piVar34[0x14] * 4) <= fVar5)) ||
                     ((iVar19 = *(int *)(iVar42 + 0x2d0), *(int *)(iVar19 + 0x4c) != 0 &&
                      (*(float *)(iVar17 + *(int *)(iVar19 + 0x50) * 4) <= fVar5))))) {
                iVar19 = *(int *)(iVar40 + 0x2d0);
                dVar59 = *(double *)(iVar39 + 0x30);
                dVar58 = *(double *)(iVar39 + 0x38);
                iVar24 = *(int *)(iVar19 + 0x14);
                iVar22 = *(int *)(iVar19 + 0x20);
                iVar30 = *(int *)(iVar19 + 0x28);
                *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar39 + 0x28);
                *(float *)(iVar18 + iVar24 * 4) = (float)dVar59;
                *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;
                if (iVar30 != 0) {
                  *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =
                       (float)*(double *)(iVar39 + 0x40);
                }
                if (*(int *)(iVar19 + 0x34) != 0) {
                  fVar38 = fVar6;
                  if (*(int *)(iVar39 + 8) != 0) {
                    fVar38 = (float)*(double *)(iVar39 + 0x48);
                  }
                  *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;
                }
                iVar37 = iVar37 + 1;
                iVar23 = iVar23 + *(int *)(iVar36 + 0x2c0) * 4;
                iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;
                iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;
                if (iVar37 == iVar13) goto LAB_00073d60;
              }
              dVar58 = dVar53;
              if (piVar34[0xd] != 0) {
                dVar58 = (double)*(float *)(iVar23 + piVar34[0xe] * 4) * dVar55;
              }
              dVar59 = dVar57;
              if (*(int *)(iVar19 + 0x34) != 0) {
                dVar59 = (double)*(float *)(iVar17 + *(int *)(iVar19 + 0x38) * 4) * dVar60;
              }
              iVar24 = *(int *)(iVar36 + 0x2c0);
              iVar22 = 0;
              piVar9 = piVar34;
              if (0 < iVar24) {
                do {
                  iVar25 = *piVar9;
                  iVar30 = iVar19 + iVar25 * 0xc;
                  if (((piVar34[iVar25 * 3 + 1] != 0) &&
                      (uVar28 = *(uint *)(iVar30 + 4), uVar28 != 0)) && ((uVar28 & 2) != 0)) {
                    dVar52 = (double)*(float *)(iVar23 + iVar22 * 4);
                    dVar51 = (double)*(float *)(iVar17 + *(int *)(iVar30 + 8) * 4);
                    if (iVar25 == 4) {
                      dVar52 = dVar52 - dVar51;
                      dVar52 = dVar52 * dVar52;
                    }
                    else {
                      dVar52 = dVar58 * dVar52 - dVar59 * dVar51;
                      dVar52 = dVar52 * dVar52;
                    }
                    if (dVar56 <= dVar52) {
                      iVar19 = *(int *)(iVar40 + 0x2d0);
                      dVar59 = *(double *)(iVar47 + 0x30);
                      dVar58 = *(double *)(iVar47 + 0x38);
                      iVar30 = *(int *)(iVar19 + 0x14);
                      iVar22 = *(int *)(iVar19 + 0x20);
                      iVar25 = *(int *)(iVar19 + 0x28);
                      *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) =
                           (float)*(double *)(iVar47 + 0x28);
                      *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;
                      *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;
                      if (iVar25 != 0) {
                        *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) =
                             (float)*(double *)(iVar47 + 0x40);
                      }
                      if (*(int *)(iVar19 + 0x34) == 0) goto LAB_00073d38;
                      fVar38 = fVar6;
                      if (*(int *)(iVar47 + 8) != 0) {
                        fVar38 = (float)*(double *)(iVar47 + 0x48);
                      }
                      goto LAB_00073d28;
                    }
                  }
                  iVar22 = iVar22 + 1;
                  piVar9 = piVar9 + 3;
                } while (iVar24 != iVar22);
              }
              iVar19 = *(int *)(iVar40 + 0x2d0);
              dVar59 = *(double *)(iVar41 + 0x30);
              dVar58 = *(double *)(iVar41 + 0x38);
              iVar30 = *(int *)(iVar19 + 0x14);
              iVar22 = *(int *)(iVar19 + 0x20);
              iVar25 = *(int *)(iVar19 + 0x28);
              *(float *)(iVar18 + *(int *)(iVar19 + 8) * 4) = (float)*(double *)(iVar41 + 0x28);
              *(float *)(iVar18 + iVar30 * 4) = (float)dVar59;
              *(float *)(iVar18 + iVar22 * 4) = (float)dVar58;
              if (iVar25 != 0) {
                *(float *)(iVar18 + *(int *)(iVar19 + 0x2c) * 4) = (float)*(double *)(iVar41 + 0x40)
                ;
              }
              if (*(int *)(iVar19 + 0x34) != 0) {
                if (*(int *)(iVar41 + 8) == 0) {
                  fVar38 = (float)uVar61;
                }
                else {
                  fVar38 = (float)*(double *)(iVar41 + 0x48);
                }
LAB_00073d28:
                *(float *)(iVar18 + *(int *)(iVar19 + 0x38) * 4) = fVar38;
              }
LAB_00073d38:
              iVar37 = iVar37 + 1;
              iVar23 = iVar23 + iVar24 * 4;
              iVar17 = iVar17 + *(int *)(iVar42 + 0x2c0) * 4;
              iVar18 = iVar18 + *(int *)(iVar40 + 0x2c0) * 4;
            } while (iVar37 != iVar13);
          }
LAB_00073d60:
          iVar23 = (**(code **)(pcVar49 + 0x335c50))(uVar16,uVar48);
          if (iVar23 != 0) goto LAB_00073d80;
        }
        *(undefined4 *)(pdVar8 + 7) = 0;
      }
LAB_00073d80:
      iVar3 = iVar3 + 1;
    } while (iVar62 != iVar3);
  }
  return;
}

