
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* DWARF original prototype: void GetImageFeatures._omp_fn.3(anon_struct_44_11_6a408822 * param_0)
    */

void __thiscall GetImageFeatures__omp_fn_3(anon_struct_44_11_6a408822 *this)

{
  double dVar1;
  double dVar2;
  uint uVar3;
  ChannelStatistics **ppCVar4;
  Image *pIVar5;
  ColorspaceType CVar6;
  PixelTrait PVar7;
  double dVar8;
  double dVar9;
  int iVar10;
  int iVar11;
  int iVar12;
  ChannelStatistics *pCVar13;
  ChannelStatistics *pCVar14;
  ChannelStatistics *pCVar15;
  PixelTrait PVar16;
  double *pdVar17;
  MagickRealType *pMVar18;
  double dVar19;
  uint local_74;
  ChannelStatistics **local_6c;
  MagickRealType *local_64;
  MagickRealType *local_60;
  int local_58;
  uint local_50;
  MagickRealType *local_4c;
  MagickRealType *local_3c;
  int local_38;
  MagickRealType *local_34;
  MagickRealType *local_2c;
  MagickRealType *local_28;
  MagickRealType *local_24;
  
  iVar10 = omp_get_num_threads();
  iVar11 = omp_get_thread_num();
  iVar12 = (int)(4 / (longlong)iVar10);
  local_38 = (int)(4 % (longlong)iVar10);
  if (iVar11 < local_38) {
    iVar12 = iVar12 + 1;
    local_38 = 0;
  }
  local_38 = iVar11 * iVar12 + local_38;
  iVar12 = iVar12 + local_38;
  if (local_38 < iVar12) {
    uVar3 = this->number_grays;
    ppCVar4 = this->cooccurrence;
    pIVar5 = this->image;
    pdVar17 = this->channel_features->angular_second_moment + local_38;
    local_34 = &this->density_x->direction[local_38].red;
    local_24 = &this->sum->direction[local_38].red;
    local_28 = &this->density_y->direction[local_38].red;
    local_2c = &this->density_xy[2].direction[local_38].red;
    do {
      if ((int)uVar3 < 1) {
        pCVar13 = this->mean;
        pCVar15 = this->sum_squares;
      }
      else {
        local_50 = 0;
        CVar6 = pIVar5->colorspace;
        PVar7 = pIVar5->alpha_trait;
        local_3c = local_2c;
        local_4c = local_28;
        local_60 = local_24;
        do {
          local_58 = 0;
          local_74 = local_50;
          local_64 = local_3c;
          pMVar18 = local_34;
          local_6c = ppCVar4;
          do {
            pCVar13 = *local_6c + local_50;
            dVar1 = pCVar13->direction[local_38].red;
            *pdVar17 = dVar1 * dVar1 + *pdVar17;
            dVar19 = pCVar13->direction[local_38].green;
            pdVar17[0x38] = dVar19 * dVar19 + pdVar17[0x38];
            dVar19 = pCVar13->direction[local_38].blue;
            pdVar17[0x70] = dVar19 * dVar19 + pdVar17[0x70];
            if (CVar6 == CMYKColorspace) {
              dVar19 = pCVar13->direction[local_38].black;
              pdVar17[0xa8] = dVar19 * dVar19 + pdVar17[0xa8];
            }
            if (PVar7 != UndefinedPixelTrait) {
              dVar19 = pCVar13->direction[local_38].alpha;
              pdVar17[0xe0] = dVar19 * dVar19 + pdVar17[0xe0];
            }
            *local_60 = dVar1 + *local_60;
            local_60[1] = local_60[1] + pCVar13->direction[local_38].green;
            local_60[2] = local_60[2] + pCVar13->direction[local_38].blue;
            if (CVar6 == CMYKColorspace) {
              local_60[3] = local_60[3] + pCVar13->direction[local_38].black;
            }
            if (PVar7 != UndefinedPixelTrait) {
              local_60[4] = local_60[4] + pCVar13->direction[local_38].alpha;
            }
            dVar1 = (double)local_58;
            pCVar15 = this->correlation;
            pCVar15->direction[local_38].red =
                 pCVar13->direction[local_38].red * dVar1 + pCVar15->direction[local_38].red;
            pCVar15->direction[local_38].green =
                 pCVar13->direction[local_38].green * dVar1 + pCVar15->direction[local_38].green;
            pCVar15->direction[local_38].blue =
                 pCVar13->direction[local_38].blue * dVar1 + pCVar15->direction[local_38].blue;
            if (CVar6 == CMYKColorspace) {
              pCVar15->direction[local_38].black =
                   pCVar13->direction[local_38].black * dVar1 + pCVar15->direction[local_38].black;
            }
            if (PVar7 != UndefinedPixelTrait) {
              pCVar15->direction[local_38].alpha =
                   dVar1 * pCVar13->direction[local_38].alpha + pCVar15->direction[local_38].alpha;
            }
            dVar1 = pCVar13->direction[local_38].red;
            dVar19 = (double)(int)(local_74 * local_74 + 1);
            pdVar17[0x10] = dVar1 / dVar19 + pdVar17[0x10];
            pdVar17[0x48] = pCVar13->direction[local_38].green / dVar19 + pdVar17[0x48];
            pdVar17[0x80] = pCVar13->direction[local_38].blue / dVar19 + pdVar17[0x80];
            if (CVar6 == CMYKColorspace) {
              pdVar17[0xb8] = pCVar13->direction[local_38].black / dVar19 + pdVar17[0xb8];
            }
            if (PVar7 != UndefinedPixelTrait) {
              pdVar17[0xf0] = pCVar13->direction[local_38].alpha / dVar19 + pdVar17[0xf0];
            }
            *local_64 = dVar1 + *local_64;
            local_64[1] = local_64[1] + pCVar13->direction[local_38].green;
            local_64[2] = local_64[2] + pCVar13->direction[local_38].blue;
            if (CVar6 == CMYKColorspace) {
              local_64[3] = local_64[3] + pCVar13->direction[local_38].black;
            }
            if (PVar7 != UndefinedPixelTrait) {
              local_64[4] = local_64[4] + pCVar13->direction[local_38].alpha;
            }
            dVar1 = pCVar13->direction[local_38].red;
            dVar19 = ABS(dVar1);
            if (DAT_002ea690 <= dVar19) {
              dVar19 = log10(dVar19);
              pCVar13 = *local_6c + local_50;
            }
            else {
              dVar19 = (double)DAT_002f4200;
            }
            pdVar17[0x20] = pdVar17[0x20] - dVar19 * dVar1;
            dVar1 = pCVar13->direction[local_38].green;
            dVar19 = ABS(dVar1);
            if (DAT_002ea690 <= dVar19) {
              dVar19 = log10(dVar19);
              pCVar13 = *local_6c + local_50;
            }
            else {
              dVar19 = (double)DAT_002f4200;
            }
            pdVar17[0x58] = pdVar17[0x58] - dVar19 * dVar1;
            dVar1 = pCVar13->direction[local_38].blue;
            dVar19 = ABS(dVar1);
            if (DAT_002ea690 <= dVar19) {
              dVar19 = log10(dVar19);
              pCVar13 = *local_6c + local_50;
            }
            else {
              dVar19 = (double)DAT_002f4200;
            }
            CVar6 = pIVar5->colorspace;
            pdVar17[0x90] = pdVar17[0x90] - dVar19 * dVar1;
            if (CVar6 == CMYKColorspace) {
              dVar1 = pCVar13->direction[local_38].black;
              dVar19 = ABS(dVar1);
              if (DAT_002ea690 <= dVar19) {
                dVar19 = log10(dVar19);
                pCVar13 = *local_6c + local_50;
              }
              else {
                dVar19 = (double)DAT_002f4200;
              }
              pdVar17[200] = pdVar17[200] - dVar19 * dVar1;
            }
            PVar16 = pIVar5->alpha_trait;
            if (PVar16 != UndefinedPixelTrait) {
              dVar1 = pCVar13->direction[local_38].alpha;
              dVar19 = ABS(dVar1);
              if (DAT_002ea690 <= dVar19) {
                dVar19 = log10(dVar19);
                pCVar13 = *local_6c + local_50;
                PVar16 = pIVar5->alpha_trait;
              }
              else {
                dVar19 = (double)DAT_002f4200;
              }
              pdVar17[0x100] = pdVar17[0x100] - dVar19 * dVar1;
            }
            *pMVar18 = *pMVar18 + pCVar13->direction[local_38].red;
            pMVar18[1] = pMVar18[1] + pCVar13->direction[local_38].green;
            pMVar18[2] = pMVar18[2] + pCVar13->direction[local_38].blue;
            if (PVar16 != UndefinedPixelTrait) {
              pMVar18[4] = pMVar18[4] + pCVar13->direction[local_38].alpha;
            }
            if (pIVar5->colorspace == CMYKColorspace) {
              pMVar18[3] = pMVar18[3] + pCVar13->direction[local_38].black;
              *local_4c = *local_4c + pCVar13->direction[local_38].red;
              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;
              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;
              local_4c[3] = local_4c[3] + pCVar13->direction[local_38].black;
            }
            else {
              *local_4c = *local_4c + pCVar13->direction[local_38].red;
              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;
              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;
            }
            if (PVar16 == UndefinedPixelTrait) {
              PVar7 = UndefinedPixelTrait;
              CVar6 = pIVar5->colorspace;
            }
            else {
              CVar6 = pIVar5->colorspace;
              local_4c[4] = local_4c[4] + pCVar13->direction[local_38].alpha;
              PVar7 = PVar16;
            }
            local_74 = local_74 - 1;
            pMVar18 = pMVar18 + 0x28;
            local_6c = local_6c + 1;
            local_64 = local_64 + 0x28;
            local_58 = local_58 + local_50;
          } while (local_50 - uVar3 != local_74);
          dVar1 = (double)(int)local_50;
          pCVar13 = this->mean;
          pCVar15 = this->sum_squares;
          pCVar13->direction[local_38].red = *local_60 * dVar1 + pCVar13->direction[local_38].red;
          dVar19 = (double)(int)(local_50 * local_50);
          pCVar15->direction[local_38].red = *local_60 * dVar19 + pCVar15->direction[local_38].red;
          pCVar13->direction[local_38].green =
               local_60[1] * dVar1 + pCVar13->direction[local_38].green;
          pCVar15->direction[local_38].green =
               local_60[1] * dVar19 + pCVar15->direction[local_38].green;
          pCVar13->direction[local_38].blue =
               local_60[2] * dVar1 + pCVar13->direction[local_38].blue;
          pCVar15->direction[local_38].blue =
               local_60[2] * dVar19 + pCVar15->direction[local_38].blue;
          if (CVar6 == CMYKColorspace) {
            pCVar13->direction[local_38].black =
                 local_60[3] * dVar1 + pCVar13->direction[local_38].black;
            pCVar15->direction[local_38].black =
                 local_60[3] * dVar19 + pCVar15->direction[local_38].black;
          }
          if (PVar16 != UndefinedPixelTrait) {
            pCVar13->direction[local_38].alpha =
                 dVar1 * local_60[4] + pCVar13->direction[local_38].alpha;
            pCVar15->direction[local_38].alpha =
                 dVar19 * local_60[4] + pCVar15->direction[local_38].alpha;
          }
          local_50 = local_50 + 1;
          local_60 = local_60 + 0x28;
          local_4c = local_4c + 0x28;
          local_3c = local_3c + 0x28;
        } while (local_50 != uVar3);
      }
      pCVar14 = this->correlation;
      dVar1 = pCVar13->direction[local_38].red;
      dVar1 = dVar1 * dVar1;
      dVar19 = pCVar14->direction[local_38].red;
      dVar8 = pCVar15->direction[local_38].red - dVar1;
      dVar2 = SQRT(dVar8);
      if (dVar8 < 0.0) {
        sqrt(dVar8);
        pCVar13 = this->mean;
        pCVar15 = this->sum_squares;
        dVar2 = pCVar13->direction[local_38].red;
        dVar9 = pCVar15->direction[local_38].red - dVar2 * dVar2;
        dVar2 = SQRT(dVar9);
        if (0.0 <= dVar9) {
          pCVar14 = this->correlation;
        }
        else {
          sqrt(dVar9);
          pCVar13 = this->mean;
          pCVar14 = this->correlation;
          pCVar15 = this->sum_squares;
        }
      }
      pdVar17[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));
      dVar1 = pCVar13->direction[local_38].green;
      dVar1 = dVar1 * dVar1;
      dVar19 = pCVar14->direction[local_38].green;
      dVar8 = pCVar15->direction[local_38].green - dVar1;
      dVar2 = SQRT(dVar8);
      if (dVar8 < 0.0) {
        sqrt(dVar8);
        pCVar13 = this->mean;
        pCVar15 = this->sum_squares;
        dVar2 = pCVar13->direction[local_38].green;
        dVar9 = pCVar15->direction[local_38].green - dVar2 * dVar2;
        dVar2 = SQRT(dVar9);
        if (0.0 <= dVar9) {
          pCVar14 = this->correlation;
        }
        else {
          sqrt(dVar9);
          pCVar13 = this->mean;
          pCVar14 = this->correlation;
          pCVar15 = this->sum_squares;
        }
      }
      pdVar17[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));
      dVar1 = pCVar13->direction[local_38].blue;
      dVar1 = dVar1 * dVar1;
      dVar19 = pCVar14->direction[local_38].blue;
      dVar8 = pCVar15->direction[local_38].blue - dVar1;
      dVar2 = SQRT(dVar8);
      if (dVar8 < 0.0) {
        sqrt(dVar8);
        dVar2 = this->mean->direction[local_38].blue;
        dVar9 = this->sum_squares->direction[local_38].blue - dVar2 * dVar2;
        dVar2 = SQRT(dVar9);
        if (dVar9 < 0.0) {
          sqrt(dVar9);
        }
      }
      CVar6 = pIVar5->colorspace;
      pdVar17[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));
      if (CVar6 == CMYKColorspace) {
        dVar1 = this->mean->direction[local_38].black;
        dVar1 = dVar1 * dVar1;
        dVar19 = this->correlation->direction[local_38].black;
        dVar8 = this->sum_squares->direction[local_38].black - dVar1;
        dVar2 = SQRT(dVar8);
        if (dVar8 < 0.0) {
          sqrt(dVar8);
          dVar2 = this->mean->direction[local_38].black;
          dVar9 = this->sum_squares->direction[local_38].black - dVar2 * dVar2;
          dVar2 = SQRT(dVar9);
          if (dVar9 < 0.0) {
            sqrt(dVar9);
          }
        }
        pdVar17[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));
      }
      if (pIVar5->alpha_trait != UndefinedPixelTrait) {
        dVar1 = this->mean->direction[local_38].alpha;
        dVar1 = dVar1 * dVar1;
        dVar19 = this->correlation->direction[local_38].alpha;
        dVar8 = this->sum_squares->direction[local_38].alpha - dVar1;
        dVar2 = SQRT(dVar8);
        if (dVar8 < 0.0) {
          sqrt(dVar8);
          dVar2 = this->mean->direction[local_38].alpha;
          dVar9 = this->sum_squares->direction[local_38].alpha - dVar2 * dVar2;
          dVar2 = SQRT(dVar9);
          if (dVar9 < 0.0) {
            sqrt(dVar9);
          }
        }
        pdVar17[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));
      }
      local_38 = local_38 + 1;
      pdVar17 = pdVar17 + 1;
      local_34 = local_34 + 10;
      local_24 = local_24 + 10;
      local_28 = local_28 + 10;
      local_2c = local_2c + 10;
    } while (iVar12 != local_38);
  }
  return;
}



/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

void FUN_000d0220(int *param_1)

{
  double dVar1;
  double dVar2;
  int *piVar3;
  int iVar4;
  double dVar5;
  double dVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  int iVar12;
  int iVar13;
  int iVar14;
  int iVar15;
  double *pdVar16;
  double *pdVar17;
  int iVar18;
  double dVar19;
  int local_74;
  int *local_6c;
  double *local_64;
  double *local_60;
  int local_58;
  int local_50;
  double *local_4c;
  double *local_3c;
  int local_38;
  double *local_34;
  double *local_2c;
  double *local_28;
  double *local_24;
  
  iVar7 = omp_get_num_threads();
  iVar8 = omp_get_thread_num();
  iVar9 = (int)(4 / (longlong)iVar7);
  local_38 = (int)(4 % (longlong)iVar7);
  if (iVar8 < local_38) {
    iVar9 = iVar9 + 1;
    local_38 = 0;
  }
  local_38 = iVar8 * iVar9 + local_38;
  iVar9 = iVar9 + local_38;
  if (local_38 < iVar9) {
    iVar8 = param_1[10];
    piVar3 = (int *)param_1[2];
    iVar4 = *param_1;
    pdVar16 = (double *)(param_1[1] + local_38 * 8);
    iVar7 = local_38 * 0x50 + 0x20;
    local_34 = (double *)(param_1[4] + iVar7);
    local_24 = (double *)(param_1[8] + iVar7);
    local_28 = (double *)(iVar7 + param_1[6]);
    local_2c = (double *)(param_1[5] + 0x2a0 + local_38 * 0x50);
    do {
      if (iVar8 < 1) {
        iVar7 = param_1[7];
        iVar14 = param_1[9];
      }
      else {
        local_50 = 0;
        iVar12 = *(int *)(iVar4 + 4);
        iVar18 = *(int *)(iVar4 + 0x294);
        local_3c = local_2c;
        local_4c = local_28;
        local_60 = local_24;
        iVar10 = local_38 * 0x50;
        do {
          local_58 = 0;
          local_74 = local_50;
          iVar7 = local_50 * 0x140;
          local_64 = local_3c;
          pdVar17 = local_34;
          local_6c = piVar3;
          do {
            iVar11 = iVar7 + *local_6c;
            iVar14 = iVar11 + iVar10;
            dVar1 = *(double *)(iVar14 + 0x20);
            *pdVar16 = dVar1 * dVar1 + *pdVar16;
            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];
            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];
            if (iVar12 == 2) {
              pdVar16[0xa8] =
                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];
            }
            if (iVar18 != 0) {
              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);
              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];
            }
            iVar14 = iVar11 + iVar10;
            *local_60 = dVar1 + *local_60;
            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);
            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);
            if (iVar12 == 2) {
              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);
            }
            if (iVar18 != 0) {
              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);
            }
            dVar1 = (double)local_58;
            iVar15 = param_1[3];
            iVar14 = iVar11 + iVar10;
            iVar13 = iVar15 + iVar10;
            *(double *)(iVar13 + 0x20) =
                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);
            *(double *)(iVar13 + 0x28) =
                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);
            *(double *)(iVar13 + 0x30) =
                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);
            if (iVar12 == 2) {
              *(double *)(iVar13 + 0x38) =
                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);
            }
            if (iVar18 != 0) {
              iVar15 = iVar15 + iVar10;
              *(double *)(iVar15 + 0x40) =
                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);
            }
            iVar14 = iVar11 + iVar10;
            dVar1 = *(double *)(iVar14 + 0x20);
            dVar19 = (double)(local_74 * local_74 + 1);
            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];
            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];
            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];
            if (iVar12 == 2) {
              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];
            }
            if (iVar18 != 0) {
              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];
            }
            iVar14 = iVar11 + iVar10;
            *local_64 = dVar1 + *local_64;
            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);
            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);
            if (iVar12 == 2) {
              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);
            }
            if (iVar18 != 0) {
              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);
            }
            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);
            dVar19 = ABS(dVar1);
            if (DAT_002ea690 <= dVar19) {
              dVar19 = log10(dVar19);
              iVar11 = iVar7 + *local_6c;
            }
            else {
              dVar19 = (double)DAT_002f4200;
            }
            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;
            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);
            dVar19 = ABS(dVar1);
            if (DAT_002ea690 <= dVar19) {
              dVar19 = log10(dVar19);
              iVar11 = iVar7 + *local_6c;
            }
            else {
              dVar19 = (double)DAT_002f4200;
            }
            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;
            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);
            dVar19 = ABS(dVar1);
            if (DAT_002ea690 <= dVar19) {
              dVar19 = log10(dVar19);
              iVar11 = iVar7 + *local_6c;
            }
            else {
              dVar19 = (double)DAT_002f4200;
            }
            iVar14 = *(int *)(iVar4 + 4);
            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;
            if (iVar14 == 2) {
              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);
              dVar19 = ABS(dVar1);
              if (DAT_002ea690 <= dVar19) {
                dVar19 = log10(dVar19);
                iVar11 = iVar7 + *local_6c;
              }
              else {
                dVar19 = (double)DAT_002f4200;
              }
              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;
            }
            iVar15 = *(int *)(iVar4 + 0x294);
            if (iVar15 != 0) {
              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);
              dVar19 = ABS(dVar1);
              if (DAT_002ea690 <= dVar19) {
                dVar19 = log10(dVar19);
                iVar11 = iVar7 + *local_6c;
                iVar15 = *(int *)(iVar4 + 0x294);
              }
              else {
                dVar19 = (double)DAT_002f4200;
              }
              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;
            }
            iVar14 = iVar11 + iVar10;
            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);
            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);
            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);
            if (iVar15 != 0) {
              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);
            }
            if (*(int *)(iVar4 + 4) == 2) {
              iVar14 = iVar11 + iVar10;
              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);
              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);
              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);
              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);
              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);
            }
            else {
              iVar14 = iVar11 + iVar10;
              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);
              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);
              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);
            }
            if (iVar15 == 0) {
              iVar18 = 0;
              iVar12 = *(int *)(iVar4 + 4);
            }
            else {
              iVar12 = *(int *)(iVar4 + 4);
              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);
              iVar18 = iVar15;
            }
            local_74 = local_74 + -1;
            pdVar17 = pdVar17 + 0x28;
            local_6c = local_6c + 1;
            local_64 = local_64 + 0x28;
            local_58 = local_58 + local_50;
          } while (local_50 - iVar8 != local_74);
          dVar1 = (double)local_50;
          iVar7 = param_1[7];
          iVar14 = param_1[9];
          iVar11 = iVar7 + iVar10;
          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);
          dVar19 = (double)(local_50 * local_50);
          iVar13 = iVar14 + iVar10;
          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);
          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);
          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);
          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);
          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);
          if (iVar12 == 2) {
            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);
            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);
          }
          if (iVar15 != 0) {
            *(double *)(iVar7 + iVar10 + 0x40) =
                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);
            *(double *)(iVar14 + iVar10 + 0x40) =
                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);
          }
          local_50 = local_50 + 1;
          local_60 = local_60 + 0x28;
          local_4c = local_4c + 0x28;
          local_3c = local_3c + 0x28;
        } while (local_50 != iVar8);
      }
      iVar12 = param_1[3];
      iVar18 = local_38 * 0x50;
      dVar1 = *(double *)(iVar7 + 0x20 + iVar18);
      dVar1 = dVar1 * dVar1;
      dVar19 = *(double *)(iVar12 + 0x20 + iVar18);
      dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;
      dVar2 = SQRT(dVar5);
      if (dVar5 < 0.0) {
        sqrt(dVar5);
        iVar7 = param_1[7];
        iVar14 = param_1[9];
        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);
        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;
        dVar2 = SQRT(dVar6);
        if (0.0 <= dVar6) {
          iVar12 = param_1[3];
        }
        else {
          sqrt(dVar6);
          iVar7 = param_1[7];
          iVar12 = param_1[3];
          iVar14 = param_1[9];
        }
      }
      iVar18 = local_38 * 0x50;
      pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));
      dVar1 = *(double *)(iVar7 + 0x28 + iVar18);
      dVar1 = dVar1 * dVar1;
      dVar19 = *(double *)(iVar12 + 0x28 + iVar18);
      dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;
      dVar2 = SQRT(dVar5);
      if (dVar5 < 0.0) {
        sqrt(dVar5);
        iVar7 = param_1[7];
        iVar14 = param_1[9];
        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);
        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;
        dVar2 = SQRT(dVar6);
        if (0.0 <= dVar6) {
          iVar12 = param_1[3];
        }
        else {
          sqrt(dVar6);
          iVar7 = param_1[7];
          iVar12 = param_1[3];
          iVar14 = param_1[9];
        }
      }
      iVar18 = local_38 * 0x50;
      pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));
      dVar1 = *(double *)(iVar7 + 0x30 + iVar18);
      dVar1 = dVar1 * dVar1;
      dVar19 = *(double *)(iVar12 + 0x30 + iVar18);
      dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;
      dVar2 = SQRT(dVar5);
      if (dVar5 < 0.0) {
        sqrt(dVar5);
        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);
        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;
        dVar2 = SQRT(dVar6);
        if (dVar6 < 0.0) {
          sqrt(dVar6);
        }
      }
      iVar7 = *(int *)(iVar4 + 4);
      pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));
      if (iVar7 == 2) {
        iVar7 = local_38 * 0x50;
        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);
        dVar1 = dVar1 * dVar1;
        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);
        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;
        dVar2 = SQRT(dVar5);
        if (dVar5 < 0.0) {
          sqrt(dVar5);
          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);
          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;
          dVar2 = SQRT(dVar6);
          if (dVar6 < 0.0) {
            sqrt(dVar6);
          }
        }
        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));
      }
      if (*(int *)(iVar4 + 0x294) != 0) {
        iVar7 = local_38 * 0x50;
        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);
        dVar1 = dVar1 * dVar1;
        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);
        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;
        dVar2 = SQRT(dVar5);
        if (dVar5 < 0.0) {
          sqrt(dVar5);
          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);
          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;
          dVar2 = SQRT(dVar6);
          if (dVar6 < 0.0) {
            sqrt(dVar6);
          }
        }
        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));
      }
      local_38 = local_38 + 1;
      pdVar16 = pdVar16 + 1;
      local_34 = local_34 + 10;
      local_24 = local_24 + 10;
      local_28 = local_28 + 10;
      local_2c = local_2c + 10;
    } while (iVar9 != local_38);
  }
  return;
}


CALL 0x0003e478
ADD EAX,0x34dddb
PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x7c
MOV EBX,EAX
MOV dword ptr [ESP + 0x10],EAX
CALL 0x00030850
MOV ESI,EAX
CALL 0x000317c0
MOV ECX,EAX
MOV EAX,0x4
CDQ
IDIV ESI
CMP ECX,EDX
JGE 0x000d0256
ADD EAX,0x1
XOR EDX,EDX
IMUL ECX,EAX
LEA ESI,[ECX + EDX*0x1]
ADD EAX,ESI
MOV dword ptr [ESP + 0x54],ESI
CMP ESI,EAX
MOV dword ptr [ESP + 0x6c],EAX
JGE 0x000d0a6c
MOV EAX,dword ptr [ESP + 0x90]
MOV EDI,dword ptr [ESP + 0x90]
MOV EAX,dword ptr [EAX + 0x28]
MOV dword ptr [ESP + 0x4c],EAX
MOV EAX,dword ptr [ESP + 0x90]
MOV EAX,dword ptr [EAX + 0x8]
MOV dword ptr [ESP + 0x5c],EAX
MOV EAX,dword ptr [ESP + 0x90]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x14],EAX
MOV EAX,dword ptr [ESP + 0x90]
MOV EAX,dword ptr [EAX + 0x4]
LEA EDX,[EAX + ESI*0x8]
LEA EAX,[ESI + ESI*0x4]
MOV ESI,dword ptr [EDI + 0x10]
MOV EBP,EDX
SHL EAX,0x4
LEA ECX,[EAX + 0x20]
ADD ESI,ECX
MOV dword ptr [ESP + 0x58],ESI
MOV ESI,dword ptr [EDI + 0x20]
ADD ESI,ECX
ADD ECX,dword ptr [EDI + 0x18]
MOV dword ptr [ESP + 0x68],ESI
MOV dword ptr [ESP + 0x64],ECX
MOV ECX,dword ptr [EDI + 0x14]
LEA EAX,[ECX + EAX*0x1 + 0x2a0]
MOV dword ptr [ESP + 0x60],EAX
MOV EDI,dword ptr [ESP + 0x4c]
TEST EDI,EDI
JLE 0x000d0b65
MOV EAX,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x3c],0x0
MOV ESI,dword ptr [EAX + 0x4]
MOV EBX,dword ptr [EAX + 0x294]
MOV EAX,dword ptr [ESP + 0x60]
MOV dword ptr [ESP],ESI
MOV dword ptr [ESP + 0x8],EBX
MOV dword ptr [ESP + 0x50],EAX
MOV EAX,dword ptr [ESP + 0x64]
MOV dword ptr [ESP + 0x40],EAX
MOV EAX,dword ptr [ESP + 0x68]
MOV dword ptr [ESP + 0x2c],EAX
MOV EAX,dword ptr [ESP + 0x54]
LEA EAX,[EAX + EAX*0x4]
SHL EAX,0x4
MOV ESI,EAX
LEA ESI,[ESI]
MOV EDI,dword ptr [ESP + 0x3c]
MOV dword ptr [ESP + 0x34],0x0
LEA EAX,[EDI + EDI*0x4]
MOV dword ptr [ESP + 0x18],EDI
SHL EAX,0x6
MOV dword ptr [ESP + 0x30],EAX
MOV EAX,dword ptr [ESP + 0x5c]
MOV dword ptr [ESP + 0x20],EAX
MOV EAX,EDI
SUB EAX,dword ptr [ESP + 0x4c]
MOV EDI,dword ptr [ESP + 0x58]
MOV dword ptr [ESP + 0x48],EAX
MOV EAX,dword ptr [ESP + 0x50]
MOV dword ptr [ESP + 0x28],EAX
MOV EAX,ESI
MOV ESI,EDI
MOV EDI,EAX
JMP 0x000d03b0
MOV EAX,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x8],0x0
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [ESP],EAX
SUB dword ptr [ESP + 0x18],0x1
ADD ESI,0x140
MOV EDX,dword ptr [ESP + 0x3c]
ADD dword ptr [ESP + 0x20],0x4
ADD dword ptr [ESP + 0x28],0x140
MOV EAX,dword ptr [ESP + 0x18]
ADD dword ptr [ESP + 0x34],EDX
CMP dword ptr [ESP + 0x48],EAX
JZ 0x000d0858
MOV ECX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [ESP + 0x30]
ADD EAX,dword ptr [ECX]
CMP dword ptr [ESP],0x2
LEA EDX,[EAX + EDI*0x1]
FLD qword ptr [EDX + 0x20]
LEA ECX,[EDX + 0x30]
FLD ST0
FMUL ST1
FADD qword ptr [EBP]
FSTP qword ptr [EBP]
FLD qword ptr [EDX + 0x28]
FMUL ST0
FADD qword ptr [EBP + 0x1c0]
FSTP qword ptr [EBP + 0x1c0]
FLD qword ptr [EDX + 0x30]
FMUL ST0
FADD qword ptr [EBP + 0x380]
FSTP qword ptr [EBP + 0x380]
JNZ 0x000d0406
FLD qword ptr [ECX + 0x8]
FMUL ST0
FADD qword ptr [EBP + 0x540]
FSTP qword ptr [EBP + 0x540]
MOV ECX,dword ptr [ESP + 0x8]
TEST ECX,ECX
JZ 0x000d0420
FLD qword ptr [EAX + EDI*0x1 + 0x40]
FMUL ST0
FADD qword ptr [EBP + 0x700]
FSTP qword ptr [EBP + 0x700]
MOV EBX,dword ptr [ESP + 0x2c]
LEA EDX,[EAX + EDI*0x1]
CMP dword ptr [ESP],0x2
LEA ECX,[EDX + 0x30]
FADD qword ptr [EBX]
FSTP qword ptr [EBX]
FLD qword ptr [EBX + 0x8]
FADD qword ptr [EDX + 0x28]
FSTP qword ptr [EBX + 0x8]
FLD qword ptr [EBX + 0x10]
FADD qword ptr [EDX + 0x30]
FSTP qword ptr [EBX + 0x10]
JNZ 0x000d044f
FLD qword ptr [EBX + 0x18]
FADD qword ptr [ECX + 0x8]
FSTP qword ptr [EBX + 0x18]
MOV EDX,dword ptr [ESP + 0x8]
TEST EDX,EDX
JZ 0x000d0465
MOV EDX,dword ptr [ESP + 0x2c]
FLD qword ptr [EDX + 0x20]
FADD qword ptr [EAX + EDI*0x1 + 0x40]
FSTP qword ptr [EDX + 0x20]
MOV ECX,dword ptr [ESP + 0x90]
FILD dword ptr [ESP + 0x34]
MOV EDX,dword ptr [ECX + 0xc]
LEA ECX,[EAX + EDI*0x1]
FLD qword ptr [ECX + 0x20]
FMUL ST1
MOV dword ptr [ESP + 0x38],EDX
ADD EDX,EDI
CMP dword ptr [ESP],0x2
FADD qword ptr [EDX + 0x20]
LEA EBX,[EDX + 0x30]
MOV dword ptr [ESP + 0x44],EBX
LEA EBX,[ECX + 0x30]
FSTP qword ptr [EDX + 0x20]
FLD qword ptr [ECX + 0x28]
FMUL ST1
FADD qword ptr [EDX + 0x28]
FSTP qword ptr [EDX + 0x28]
FLD qword ptr [ECX + 0x30]
FMUL ST1
FADD qword ptr [EDX + 0x30]
FSTP qword ptr [EDX + 0x30]
JNZ 0x000d04bc
MOV ECX,dword ptr [ESP + 0x44]
FLD qword ptr [EBX + 0x8]
FMUL ST1
FADD qword ptr [ECX + 0x8]
FSTP qword ptr [ECX + 0x8]
MOV EBX,dword ptr [ESP + 0x8]
TEST EBX,EBX
JZ 0x000d04e0
MOV EBX,dword ptr [ESP + 0x38]
FMUL qword ptr [EAX + EDI*0x1 + 0x40]
ADD EBX,EDI
FADD qword ptr [EBX + 0x40]
FSTP qword ptr [EBX + 0x40]
JMP 0x000d04e2
FSTP ST0
MOV EBX,dword ptr [ESP + 0x18]
LEA EDX,[EAX + EDI*0x1]
FLD qword ptr [EDX + 0x20]
MOV ECX,EBX
IMUL ECX,EBX
ADD ECX,0x1
CMP dword ptr [ESP],0x2
MOV dword ptr [ESP + 0x38],ECX
FILD dword ptr [ESP + 0x38]
FLD ST1
FDIV ST0,ST1
LEA ECX,[EDX + 0x30]
FADD qword ptr [EBP + 0x80]
FSTP qword ptr [EBP + 0x80]
FLD qword ptr [EDX + 0x28]
FDIV ST0,ST1
FADD qword ptr [EBP + 0x240]
FSTP qword ptr [EBP + 0x240]
FLD qword ptr [EDX + 0x30]
FDIV ST0,ST1
FADD qword ptr [EBP + 0x400]
FSTP qword ptr [EBP + 0x400]
JNZ 0x000d0548
FLD qword ptr [ECX + 0x8]
FDIV ST0,ST1
FADD qword ptr [EBP + 0x5c0]
FSTP qword ptr [EBP + 0x5c0]
MOV ECX,dword ptr [ESP + 0x8]
TEST ECX,ECX
JZ 0x000d0568
FDIVR qword ptr [EAX + EDI*0x1 + 0x40]
FADD qword ptr [EBP + 0x780]
FSTP qword ptr [EBP + 0x780]
JMP 0x000d056a
FSTP ST0
MOV EBX,dword ptr [ESP + 0x28]
LEA EDX,[EAX + EDI*0x1]
CMP dword ptr [ESP],0x2
LEA ECX,[EDX + 0x30]
FADD qword ptr [EBX]
FSTP qword ptr [EBX]
FLD qword ptr [EBX + 0x8]
FADD qword ptr [EDX + 0x28]
FSTP qword ptr [EBX + 0x8]
FLD qword ptr [EBX + 0x10]
FADD qword ptr [EDX + 0x30]
FSTP qword ptr [EBX + 0x10]
JNZ 0x000d0599
FLD qword ptr [EBX + 0x18]
FADD qword ptr [ECX + 0x8]
FSTP qword ptr [EBX + 0x18]
MOV EDX,dword ptr [ESP + 0x8]
TEST EDX,EDX
JZ 0x000d05af
MOV ECX,dword ptr [ESP + 0x28]
FLD qword ptr [ECX + 0x20]
FADD qword ptr [EAX + EDI*0x1 + 0x40]
FSTP qword ptr [ECX + 0x20]
MOV ECX,dword ptr [ESP + 0x10]
FLD qword ptr [EAX + EDI*0x1 + 0x20]
FLD ST0
FABS
FLD qword ptr [ECX + 0xffecc690]
FUCOMIP ST0,ST1
JBE 0x000d07f0
FSTP ST0
FLD dword ptr [ECX + 0xffed6200]
MOV EDX,ECX
FMULP
FSUBR qword ptr [EBP + 0x100]
FSTP qword ptr [EBP + 0x100]
FLD qword ptr [EAX + EDI*0x1 + 0x28]
FLD ST0
FABS
FLD qword ptr [EDX + 0xffecc690]
FUCOMIP ST0,ST1
JBE 0x000d07b8
FSTP ST0
MOV ECX,EDX
FLD dword ptr [EDX + 0xffed6200]
FMULP
FSUBR qword ptr [EBP + 0x2c0]
FSTP qword ptr [EBP + 0x2c0]
FLD qword ptr [EAX + EDI*0x1 + 0x30]
FLD ST0
FABS
FLD qword ptr [ECX + 0xffecc690]
FUCOMIP ST0,ST1
JBE 0x000d0788
FSTP ST0
FLD dword ptr [ECX + 0xffed6200]
FMULP
MOV EDX,dword ptr [ESP + 0x14]
FSUBR qword ptr [EBP + 0x480]
CMP dword ptr [EDX + 0x4],0x2
FSTP qword ptr [EBP + 0x480]
JZ 0x000d0750
MOV ECX,dword ptr [ESP + 0x14]
MOV EBX,dword ptr [ECX + 0x294]
TEST EBX,EBX
JZ 0x000d0687
MOV ECX,dword ptr [ESP + 0x10]
FLD qword ptr [EAX + EDI*0x1 + 0x40]
FLD ST0
FABS
FLD qword ptr [ECX + 0xffecc690]
FUCOMIP ST0,ST1
JBE 0x000d0820
FSTP ST0
FLD dword ptr [ECX + 0xffed6200]
FMULP
FSUBR qword ptr [EBP + 0x800]
FSTP qword ptr [EBP + 0x800]
LEA EDX,[EAX + EDI*0x1]
FLD qword ptr [ESI]
FADD qword ptr [EDX + 0x20]
FSTP qword ptr [ESI]
FLD qword ptr [ESI + 0x8]
FADD qword ptr [EDX + 0x28]
FSTP qword ptr [ESI + 0x8]
FLD qword ptr [ESI + 0x10]
FADD qword ptr [EDX + 0x30]
FSTP qword ptr [ESI + 0x10]
TEST EBX,EBX
JZ 0x000d06b0
FLD qword ptr [ESI + 0x20]
FADD qword ptr [EDX + 0x40]
FSTP qword ptr [ESI + 0x20]
MOV EDX,dword ptr [ESP + 0x14]
CMP dword ptr [EDX + 0x4],0x2
JZ 0x000d0708
MOV ECX,dword ptr [ESP + 0x40]
LEA EDX,[EAX + EDI*0x1]
FLD qword ptr [ECX]
FADD qword ptr [EDX + 0x20]
FSTP qword ptr [ECX]
FLD qword ptr [ECX + 0x8]
FADD qword ptr [EDX + 0x28]
FSTP qword ptr [ECX + 0x8]
FLD qword ptr [ECX + 0x10]
FADD qword ptr [EDX + 0x30]
FSTP qword ptr [ECX + 0x10]
TEST EBX,EBX
JZ 0x000d0370
MOV EDX,dword ptr [ESP + 0x40]
MOV dword ptr [ESP + 0x8],EBX
FLD qword ptr [EDX + 0x20]
FADD qword ptr [EAX + EDI*0x1 + 0x40]
MOV EAX,dword ptr [ESP + 0x14]
MOV EAX,dword ptr [EAX + 0x4]
FSTP qword ptr [EDX + 0x20]
MOV dword ptr [ESP],EAX
JMP 0x000d0382
LEA EDX,[EAX + EDI*0x1]
FLD qword ptr [ESI + 0x18]
FADD qword ptr [EDX + 0x38]
LEA ECX,[EDX + 0x30]
MOV dword ptr [ESP],ECX
MOV ECX,dword ptr [ESP + 0x40]
FSTP qword ptr [ESI + 0x18]
FLD qword ptr [ECX]
FADD qword ptr [EDX + 0x20]
FSTP qword ptr [ECX]
FLD qword ptr [ECX + 0x8]
FADD qword ptr [EDX + 0x28]
FSTP qword ptr [ECX + 0x8]
FLD qword ptr [ECX + 0x10]
FADD qword ptr [EDX + 0x30]
MOV EDX,ECX
FSTP qword ptr [ECX + 0x10]
FLD qword ptr [ECX + 0x18]
MOV ECX,dword ptr [ESP]
FADD qword ptr [ECX + 0x8]
FSTP qword ptr [EDX + 0x18]
JMP 0x000d06da
MOV EBX,dword ptr [ESP + 0x10]
FLD qword ptr [EAX + EDI*0x1 + 0x38]
FLD ST0
FABS
FLD qword ptr [EBX + 0xffecc690]
FUCOMIP ST0,ST1
JBE 0x000d0a78
FSTP ST0
FLD dword ptr [EBX + 0xffed6200]
FMULP
FSUBR qword ptr [EBP + 0x640]
FSTP qword ptr [EBP + 0x640]
JMP 0x000d0649
FXCH
FSTP qword ptr [ESP]
SUB ESP,0x10
MOV EBX,dword ptr [ESP + 0x20]
FSTP qword ptr [ESP]
CALL 0x00032740
MOV EBX,dword ptr [ESP + 0x30]
MOV EAX,dword ptr [ESP + 0x40]
ADD ESP,0x10
FLD qword ptr [ESP]
FXCH
ADD EAX,dword ptr [EBX]
JMP 0x000d062d
FXCH
FSTP qword ptr [ESP]
SUB ESP,0x10
MOV EBX,dword ptr [ESP + 0x20]
FSTP qword ptr [ESP]
CALL 0x00032740
MOV EDX,dword ptr [ESP + 0x30]
MOV EAX,dword ptr [ESP + 0x40]
ADD ESP,0x10
FLD qword ptr [ESP]
FXCH
MOV ECX,dword ptr [ESP + 0x10]
ADD EAX,dword ptr [EDX]
JMP 0x000d0601
FXCH
FSTP qword ptr [ESP]
SUB ESP,0x10
MOV EBX,dword ptr [ESP + 0x20]
FSTP qword ptr [ESP]
CALL 0x00032740
MOV EBX,dword ptr [ESP + 0x30]
MOV EAX,dword ptr [ESP + 0x40]
ADD ESP,0x10
FLD qword ptr [ESP]
FXCH
MOV EDX,dword ptr [ESP + 0x10]
ADD EAX,dword ptr [EBX]
JMP 0x000d05d3
FXCH
FSTP qword ptr [ESP]
SUB ESP,0x10
MOV EBX,dword ptr [ESP + 0x20]
FSTP qword ptr [ESP]
CALL 0x00032740
MOV ECX,dword ptr [ESP + 0x30]
MOV EDX,dword ptr [ESP + 0x24]
MOV EAX,dword ptr [ESP + 0x40]
ADD ESP,0x10
FLD qword ptr [ESP]
FXCH
ADD EAX,dword ptr [ECX]
MOV EBX,dword ptr [EDX + 0x294]
JMP 0x000d0679
MOV EAX,dword ptr [ESP + 0x90]
MOV dword ptr [ESP + 0x28],EBX
MOV ECX,EDX
MOV ESI,EDI
MOV EBX,dword ptr [ESP + 0x2c]
MOV dword ptr [ESP + 0x20],ECX
MOV EDI,dword ptr [ESP + 0x90]
FILD dword ptr [ESP + 0x20]
MOV EAX,dword ptr [EAX + 0x1c]
FLD qword ptr [EBX]
FMUL ST1
MOV EDI,dword ptr [EDI + 0x24]
LEA EDX,[EAX + ESI*0x1]
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,ECX
FADD qword ptr [EDX + 0x20]
IMUL EAX,ECX
CMP dword ptr [ESP],0x2
LEA ECX,[EDX + 0x30]
FSTP qword ptr [EDX + 0x20]
MOV dword ptr [ESP + 0x20],EAX
FILD dword ptr [ESP + 0x20]
LEA EAX,[EDI + ESI*0x1]
FLD qword ptr [EBX]
FMUL ST1
FADD qword ptr [EAX + 0x20]
FSTP qword ptr [EAX + 0x20]
FLD qword ptr [EBX + 0x8]
FMUL ST2
MOV EBX,dword ptr [ESP + 0x2c]
FADD qword ptr [EDX + 0x28]
FSTP qword ptr [EDX + 0x28]
FLD qword ptr [EBX + 0x8]
FMUL ST1
FADD qword ptr [EAX + 0x28]
FSTP qword ptr [EAX + 0x28]
FLD qword ptr [EBX + 0x10]
FMUL ST2
FADD qword ptr [EDX + 0x30]
FSTP qword ptr [EDX + 0x30]
FLD qword ptr [EBX + 0x10]
LEA EDX,[EAX + 0x30]
FMUL ST1
FADD qword ptr [EAX + 0x30]
FSTP qword ptr [EAX + 0x30]
JNZ 0x000d08fd
FLD qword ptr [EBX + 0x18]
FMUL ST2
FADD qword ptr [ECX + 0x8]
FSTP qword ptr [ECX + 0x8]
FLD qword ptr [EBX + 0x18]
FMUL ST1
FADD qword ptr [EDX + 0x8]
FSTP qword ptr [EDX + 0x8]
MOV EBX,dword ptr [ESP + 0x28]
TEST EBX,EBX
JZ 0x000d0930
FXCH
MOV EBX,dword ptr [ESP + 0x2c]
MOV EAX,dword ptr [ESP + 0x18]
FMUL qword ptr [EBX + 0x20]
ADD EAX,ESI
FADD qword ptr [EAX + 0x40]
FSTP qword ptr [EAX + 0x40]
LEA EAX,[EDI + ESI*0x1]
FMUL qword ptr [EBX + 0x20]
FADD qword ptr [EAX + 0x40]
FSTP qword ptr [EAX + 0x40]
JMP 0x000d0934
FSTP ST0
FSTP ST0
ADD dword ptr [ESP + 0x3c],0x1
ADD dword ptr [ESP + 0x2c],0x140
MOV EAX,dword ptr [ESP + 0x3c]
ADD dword ptr [ESP + 0x40],0x140
ADD dword ptr [ESP + 0x50],0x140
CMP EAX,dword ptr [ESP + 0x4c]
JNZ 0x000d0330
MOV EDX,EDI
MOV EAX,dword ptr [ESP + 0x90]
MOV ESI,dword ptr [ESP + 0x54]
MOV EDI,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [EAX + 0xc]
LEA ESI,[ESI + ESI*0x4]
SHL ESI,0x4
FLD qword ptr [EDI + ESI*0x1 + 0x20]
FMUL ST0
FLD qword ptr [EAX + ESI*0x1 + 0x20]
FSUB ST0,ST1
FXCH
FSUBR qword ptr [EDX + ESI*0x1 + 0x20]
FLD ST0
FSQRT
FLDZ
FUCOMI ST0,ST2
JA 0x000d0cb3
FSTP ST0
FSTP ST1
FLD ST0
FMULP
MOV ESI,dword ptr [ESP + 0x54]
MOV EDI,dword ptr [ESP + 0x18]
LEA ESI,[ESI + ESI*0x4]
FDIVP
SHL ESI,0x4
FSTP qword ptr [EBP + 0x40]
FLD qword ptr [EDI + ESI*0x1 + 0x28]
FMUL ST0
FLD qword ptr [EAX + ESI*0x1 + 0x28]
FSUB ST0,ST1
FXCH
FSUBR qword ptr [EDX + ESI*0x1 + 0x28]
FLD ST0
FSQRT
FLDZ
FUCOMI ST0,ST2
JA 0x000d0bfe
FSTP ST0
FSTP ST1
FLD ST0
FMULP
MOV ESI,dword ptr [ESP + 0x54]
MOV EDI,dword ptr [ESP + 0x18]
LEA ESI,[ESI + ESI*0x4]
FDIVP
SHL ESI,0x4
FSTP qword ptr [EBP + 0x200]
FLD qword ptr [EDI + ESI*0x1 + 0x30]
FMUL ST0
FLD qword ptr [EAX + ESI*0x1 + 0x30]
FSUB ST0,ST1
FXCH
FSUBR qword ptr [EDX + ESI*0x1 + 0x30]
FLD ST0
FSQRT
FLDZ
FUCOMI ST0,ST2
JA 0x000d0b84
FSTP ST0
FSTP ST1
FLD ST0
JMP 0x000d0a20
FSTP ST3
FXCH ST2
FXCH
FMULP
MOV EAX,dword ptr [ESP + 0x14]
CMP dword ptr [EAX + 0x4],0x2
FDIVP
FSTP qword ptr [EBP + 0x3c0]
JZ 0x000d0b07
MOV ESI,dword ptr [EAX + 0x294]
TEST ESI,ESI
JNZ 0x000d0aa8
ADD dword ptr [ESP + 0x54],0x1
ADD EBP,0x8
MOV EAX,dword ptr [ESP + 0x54]
ADD dword ptr [ESP + 0x58],0x50
ADD dword ptr [ESP + 0x68],0x50
ADD dword ptr [ESP + 0x64],0x50
ADD dword ptr [ESP + 0x60],0x50
CMP dword ptr [ESP + 0x6c],EAX
JNZ 0x000d02dd
ADD ESP,0x7c
POP EBX
POP ESI
POP EDI
POP EBP
RET
FXCH
FSTP qword ptr [ESP]
SUB ESP,0x10
MOV EBX,dword ptr [ESP + 0x20]
FSTP qword ptr [ESP]
CALL 0x00032740
MOV ECX,dword ptr [ESP + 0x30]
MOV EAX,dword ptr [ESP + 0x40]
ADD ESP,0x10
FLD qword ptr [ESP]
FXCH
ADD EAX,dword ptr [ECX]
JMP 0x000d0772
MOV EDI,dword ptr [ESP + 0x90]
MOV EAX,dword ptr [ESP + 0x54]
LEA ESI,[EAX + EAX*0x4]
MOV EAX,dword ptr [EDI + 0x1c]
SHL ESI,0x4
ADD EAX,ESI
FLD qword ptr [EAX + 0x40]
FMUL ST0
MOV EAX,dword ptr [EDI + 0xc]
ADD EAX,ESI
FLD qword ptr [EAX + 0x40]
MOV EAX,dword ptr [EDI + 0x24]
FSUB ST0,ST1
FXCH
ADD EAX,ESI
FSUBR qword ptr [EAX + 0x40]
FLD ST0
FSQRT
FLDZ
FUCOMI ST0,ST2
JA 0x000d0de2
FSTP ST0
FSTP ST1
FLD ST0
JMP 0x000d0af8
FSTP ST3
FXCH ST2
FXCH
NOP
LEA ESI,[ESI]
FMULP
FDIVP
FSTP qword ptr [EBP + 0x740]
JMP 0x000d0a42
MOV EDI,dword ptr [ESP + 0x90]
MOV EAX,dword ptr [ESP + 0x54]
LEA ESI,[EAX + EAX*0x4]
MOV EAX,dword ptr [EDI + 0x1c]
SHL ESI,0x4
ADD EAX,ESI
FLD qword ptr [EAX + 0x38]
FMUL ST0
MOV EAX,dword ptr [EDI + 0xc]
ADD EAX,ESI
FLD qword ptr [EAX + 0x38]
MOV EAX,dword ptr [EDI + 0x24]
FSUB ST0,ST1
FXCH
ADD EAX,ESI
FSUBR qword ptr [EAX + 0x38]
FLD ST0
FSQRT
FLDZ
FUCOMI ST0,ST2
JA 0x000d0d68
FSTP ST0
FSTP ST1
FLD ST0
JMP 0x000d0b52
FSTP ST3
FXCH ST2
FXCH
FMULP
MOV EAX,dword ptr [ESP + 0x14]
FDIVP
FSTP qword ptr [EBP + 0x580]
JMP 0x000d0a38
MOV EAX,dword ptr [ESP + 0x90]
MOV EAX,dword ptr [EAX + 0x1c]
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [ESP + 0x90]
MOV EAX,dword ptr [EAX + 0x24]
MOV EDX,EAX
JMP 0x000d0961
FSTP qword ptr [ESP + 0x18]
SUB ESP,0x10
FSTP qword ptr [ESP + 0x18]
FXCH
FSTP qword ptr [ESP + 0x10]
MOV EDI,dword ptr [ESP + 0x20]
FSTP qword ptr [ESP]
MOV EBX,EDI
CALL 0x000319a0
FSTP ST0
MOV EDX,dword ptr [ESP + 0xa0]
ADD ESP,0x10
MOV EAX,dword ptr [EDX + 0x1c]
ADD EAX,ESI
ADD ESI,dword ptr [EDX + 0x24]
FLD qword ptr [EAX + 0x30]
FMUL ST0
FSUBR qword ptr [ESI + 0x30]
FLD ST0
FSQRT
FLD qword ptr [ESP + 0x18]
FUCOMIP ST0,ST2
FLD qword ptr [ESP]
FLD qword ptr [ESP + 0x8]
JBE 0x000d0a1a
FSTP ST0
FSTP ST0
FSTP qword ptr [ESP + 0x18]
SUB ESP,0x10
FSTP qword ptr [ESP]
CALL 0x000319a0
FSTP ST0
ADD ESP,0x10
FLD qword ptr [ESP]
FLD qword ptr [ESP + 0x8]
FLD qword ptr [ESP + 0x18]
JMP 0x000d0a20
FSTP qword ptr [ESP + 0x20]
SUB ESP,0x10
FSTP qword ptr [ESP + 0x18]
FXCH
FSTP qword ptr [ESP + 0x10]
MOV EBX,dword ptr [ESP + 0x20]
FSTP qword ptr [ESP]
CALL 0x000319a0
FSTP ST0
MOV EDI,dword ptr [ESP + 0xa0]
MOV EAX,dword ptr [ESP + 0xa0]
MOV EDI,dword ptr [EDI + 0x1c]
MOV EAX,dword ptr [EAX + 0x24]
FLD qword ptr [EDI + ESI*0x1 + 0x28]
MOV dword ptr [ESP + 0x28],EDI
ADD ESP,0x10
FMUL ST0
MOV EDX,EAX
FSUBR qword ptr [EAX + ESI*0x1 + 0x28]
FLD ST0
FSQRT
FLD qword ptr [ESP + 0x20]
FUCOMIP ST0,ST2
FLD qword ptr [ESP]
FLD qword ptr [ESP + 0x8]
JBE 0x000d0e5c
FXCH ST2
FSTP qword ptr [ESP + 0x20]
FXCH
SUB ESP,0x10
FSTP qword ptr [ESP + 0x18]
FSTP qword ptr [ESP + 0x10]
MOV EBX,dword ptr [ESP + 0x20]
FSTP qword ptr [ESP]
CALL 0x000319a0
FSTP ST0
MOV ESI,dword ptr [ESP + 0xa0]
MOV EAX,dword ptr [ESP + 0xa0]
MOV ESI,dword ptr [ESI + 0x1c]
MOV EAX,dword ptr [EAX + 0xc]
MOV dword ptr [ESP + 0x28],ESI
MOV ESI,dword ptr [ESP + 0xa0]
ADD ESP,0x10
FLD qword ptr [ESP]
FLD qword ptr [ESP + 0x8]
FLD qword ptr [ESP + 0x20]
MOV ESI,dword ptr [ESI + 0x24]
MOV EDX,ESI
JMP 0x000d09da
FSTP qword ptr [ESP + 0x20]
SUB ESP,0x10
FSTP qword ptr [ESP + 0x18]
FXCH
FSTP qword ptr [ESP + 0x10]
MOV EBX,dword ptr [ESP + 0x20]
FSTP qword ptr [ESP]
CALL 0x000319a0
FSTP ST0
MOV EDI,dword ptr [ESP + 0xa0]
MOV EAX,dword ptr [ESP + 0xa0]
MOV EDI,dword ptr [EDI + 0x1c]
MOV EAX,dword ptr [EAX + 0x24]
FLD qword ptr [EDI + ESI*0x1 + 0x20]
MOV dword ptr [ESP + 0x28],EDI
ADD ESP,0x10
FMUL ST0
MOV EDX,EAX
FSUBR qword ptr [EAX + ESI*0x1 + 0x20]
FLD ST0
FSQRT
FLD qword ptr [ESP + 0x20]
FUCOMIP ST0,ST2
FLD qword ptr [ESP]
FLD qword ptr [ESP + 0x8]
JBE 0x000d0e75
FXCH ST2
FSTP qword ptr [ESP + 0x20]
FXCH
SUB ESP,0x10
FSTP qword ptr [ESP + 0x18]
FSTP qword ptr [ESP + 0x10]
MOV EBX,dword ptr [ESP + 0x20]
FSTP qword ptr [ESP]
CALL 0x000319a0
FSTP ST0
MOV ESI,dword ptr [ESP + 0xa0]
MOV EAX,dword ptr [ESP + 0xa0]
MOV ESI,dword ptr [ESI + 0x1c]
MOV EAX,dword ptr [EAX + 0xc]
MOV dword ptr [ESP + 0x28],ESI
MOV ESI,dword ptr [ESP + 0xa0]
ADD ESP,0x10
FLD qword ptr [ESP]
FLD qword ptr [ESP + 0x8]
FLD qword ptr [ESP + 0x20]
MOV ESI,dword ptr [ESI + 0x24]
MOV EDX,ESI
JMP 0x000d099f
FSTP qword ptr [ESP + 0x18]
SUB ESP,0x10
FSTP qword ptr [ESP + 0x18]
FXCH
FSTP qword ptr [ESP + 0x10]
MOV EDI,dword ptr [ESP + 0x20]
FSTP qword ptr [ESP]
MOV EBX,EDI
CALL 0x000319a0
FSTP ST0
MOV EDX,dword ptr [ESP + 0xa0]
ADD ESP,0x10
MOV EAX,dword ptr [EDX + 0x1c]
ADD EAX,ESI
ADD ESI,dword ptr [EDX + 0x24]
FLD qword ptr [EAX + 0x38]
FMUL ST0
FSUBR qword ptr [ESI + 0x38]
FLD ST0
FSQRT
FLD qword ptr [ESP + 0x18]
FUCOMIP ST0,ST2
FLD qword ptr [ESP]
FLD qword ptr [ESP + 0x8]
JBE 0x000d0b4c
FSTP ST0
FSTP ST0
FSTP qword ptr [ESP + 0x18]
SUB ESP,0x10
FSTP qword ptr [ESP]
CALL 0x000319a0
FSTP ST0
ADD ESP,0x10
FLD qword ptr [ESP]
FLD qword ptr [ESP + 0x8]
FLD qword ptr [ESP + 0x18]
JMP 0x000d0b52
FSTP qword ptr [ESP + 0x18]
SUB ESP,0x10
FSTP qword ptr [ESP + 0x18]
FXCH
FSTP qword ptr [ESP + 0x10]
MOV EDI,dword ptr [ESP + 0x20]
FSTP qword ptr [ESP]
MOV EBX,EDI
CALL 0x000319a0
FSTP ST0
MOV EDX,dword ptr [ESP + 0xa0]
ADD ESP,0x10
MOV EAX,dword ptr [EDX + 0x1c]
ADD EAX,ESI
ADD ESI,dword ptr [EDX + 0x24]
FLD qword ptr [EAX + 0x40]
FMUL ST0
FSUBR qword ptr [ESI + 0x40]
FLD ST0
FSQRT
FLD qword ptr [ESP + 0x18]
FUCOMIP ST0,ST2
FLD qword ptr [ESP]
FLD qword ptr [ESP + 0x8]
JBE 0x000d0aed
FSTP ST0
FSTP ST0
FSTP qword ptr [ESP + 0x18]
SUB ESP,0x10
FSTP qword ptr [ESP]
CALL 0x000319a0
FSTP ST0
ADD ESP,0x10
FLD qword ptr [ESP]
FLD qword ptr [ESP + 0x8]
FLD qword ptr [ESP + 0x18]
JMP 0x000d0af8
FSTP ST3
FXCH
FXCH ST2
FXCH
FXCH ST2
MOV EAX,dword ptr [ESP + 0x90]
MOV EAX,dword ptr [EAX + 0xc]
JMP 0x000d09da
FSTP ST3
FXCH
FXCH ST2
FXCH
FXCH ST2
MOV EAX,dword ptr [ESP + 0x90]
MOV EAX,dword ptr [EAX + 0xc]
JMP 0x000d099f
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_000d0220(int *param_1)\n\n{\n  double dVar1;\n  double dVar2;\n  int *piVar3;\n  int iVar4;\n  double dVar5;\n  double dVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  double *pdVar16;\n  double *pdVar17;\n  int iVar18;\n  double dVar19;\n  int local_74;\n  int *local_6c;\n  double *local_64;\n  double *local_60;\n  int local_58;\n  int local_50;\n  double *local_4c;\n  double *local_3c;\n  int local_38;\n  double *local_34;\n  double *local_2c;\n  double *local_28;\n  double *local_24;\n  \n  iVar7 = omp_get_num_threads();\n  iVar8 = omp_get_thread_num();\n  iVar9 = (int)(4 / (longlong)iVar7);\n  local_38 = (int)(4 % (longlong)iVar7);\n  if (iVar8 < local_38) {\n    iVar9 = iVar9 + 1;\n    local_38 = 0;\n  }\n  local_38 = iVar8 * iVar9 + local_38;\n  iVar9 = iVar9 + local_38;\n  if (local_38 < iVar9) {\n    iVar8 = param_1[10];\n    piVar3 = (int *)param_1[2];\n    iVar4 = *param_1;\n    pdVar16 = (double *)(param_1[1] + local_38 * 8);\n    iVar7 = local_38 * 0x50 + 0x20;\n    local_34 = (double *)(param_1[4] + iVar7);\n    local_24 = (double *)(param_1[8] + iVar7);\n    local_28 = (double *)(iVar7 + param_1[6]);\n    local_2c = (double *)(param_1[5] + 0x2a0 + local_38 * 0x50);\n    do {\n      if (iVar8 < 1) {\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }\n      else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }\n      iVar12 = param_1[3];\n      iVar18 = local_38 * 0x50;\n      dVar1 = *(double *)(iVar7 + 0x20 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x20 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x28 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x28 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x30 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x30 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }\n      iVar7 = *(int *)(iVar4 + 4);\n      pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      if (iVar7 == 2) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      if (*(int *)(iVar4 + 0x294) != 0) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      local_38 = local_38 + 1;\n      pdVar16 = pdVar16 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    } while (iVar9 != local_38);\n  }\n  return;\n}\n\n" comment (function_definition "void FUN_000d0220(int *param_1)\n\n{\n  double dVar1;\n  double dVar2;\n  int *piVar3;\n  int iVar4;\n  double dVar5;\n  double dVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  double *pdVar16;\n  double *pdVar17;\n  int iVar18;\n  double dVar19;\n  int local_74;\n  int *local_6c;\n  double *local_64;\n  double *local_60;\n  int local_58;\n  int local_50;\n  double *local_4c;\n  double *local_3c;\n  int local_38;\n  double *local_34;\n  double *local_2c;\n  double *local_28;\n  double *local_24;\n  \n  iVar7 = omp_get_num_threads();\n  iVar8 = omp_get_thread_num();\n  iVar9 = (int)(4 / (longlong)iVar7);\n  local_38 = (int)(4 % (longlong)iVar7);\n  if (iVar8 < local_38) {\n    iVar9 = iVar9 + 1;\n    local_38 = 0;\n  }\n  local_38 = iVar8 * iVar9 + local_38;\n  iVar9 = iVar9 + local_38;\n  if (local_38 < iVar9) {\n    iVar8 = param_1[10];\n    piVar3 = (int *)param_1[2];\n    iVar4 = *param_1;\n    pdVar16 = (double *)(param_1[1] + local_38 * 8);\n    iVar7 = local_38 * 0x50 + 0x20;\n    local_34 = (double *)(param_1[4] + iVar7);\n    local_24 = (double *)(param_1[8] + iVar7);\n    local_28 = (double *)(iVar7 + param_1[6]);\n    local_2c = (double *)(param_1[5] + 0x2a0 + local_38 * 0x50);\n    do {\n      if (iVar8 < 1) {\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }\n      else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }\n      iVar12 = param_1[3];\n      iVar18 = local_38 * 0x50;\n      dVar1 = *(double *)(iVar7 + 0x20 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x20 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x28 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x28 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x30 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x30 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }\n      iVar7 = *(int *)(iVar4 + 4);\n      pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      if (iVar7 == 2) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      if (*(int *)(iVar4 + 0x294) != 0) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      local_38 = local_38 + 1;\n      pdVar16 = pdVar16 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    } while (iVar9 != local_38);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_000d0220(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  double dVar1;\n  double dVar2;\n  int *piVar3;\n  int iVar4;\n  double dVar5;\n  double dVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  double *pdVar16;\n  double *pdVar17;\n  int iVar18;\n  double dVar19;\n  int local_74;\n  int *local_6c;\n  double *local_64;\n  double *local_60;\n  int local_58;\n  int local_50;\n  double *local_4c;\n  double *local_3c;\n  int local_38;\n  double *local_34;\n  double *local_2c;\n  double *local_28;\n  double *local_24;\n  \n  iVar7 = omp_get_num_threads();\n  iVar8 = omp_get_thread_num();\n  iVar9 = (int)(4 / (longlong)iVar7);\n  local_38 = (int)(4 % (longlong)iVar7);\n  if (iVar8 < local_38) {\n    iVar9 = iVar9 + 1;\n    local_38 = 0;\n  }\n  local_38 = iVar8 * iVar9 + local_38;\n  iVar9 = iVar9 + local_38;\n  if (local_38 < iVar9) {\n    iVar8 = param_1[10];\n    piVar3 = (int *)param_1[2];\n    iVar4 = *param_1;\n    pdVar16 = (double *)(param_1[1] + local_38 * 8);\n    iVar7 = local_38 * 0x50 + 0x20;\n    local_34 = (double *)(param_1[4] + iVar7);\n    local_24 = (double *)(param_1[8] + iVar7);\n    local_28 = (double *)(iVar7 + param_1[6]);\n    local_2c = (double *)(param_1[5] + 0x2a0 + local_38 * 0x50);\n    do {\n      if (iVar8 < 1) {\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }\n      else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }\n      iVar12 = param_1[3];\n      iVar18 = local_38 * 0x50;\n      dVar1 = *(double *)(iVar7 + 0x20 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x20 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x28 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x28 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x30 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x30 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }\n      iVar7 = *(int *)(iVar4 + 4);\n      pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      if (iVar7 == 2) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      if (*(int *)(iVar4 + 0x294) != 0) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      local_38 = local_38 + 1;\n      pdVar16 = pdVar16 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    } while (iVar9 != local_38);\n  }\n  return;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "double dVar2;" primitive_type identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "double dVar5;" primitive_type identifier ;) (declaration "double dVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "double *pdVar16;" primitive_type (pointer_declarator "*pdVar16" * identifier) ;) (declaration "double *pdVar17;" primitive_type (pointer_declarator "*pdVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "double dVar19;" primitive_type identifier ;) (declaration "int local_74;" primitive_type identifier ;) (declaration "int *local_6c;" primitive_type (pointer_declarator "*local_6c" * identifier) ;) (declaration "double *local_64;" primitive_type (pointer_declarator "*local_64" * identifier) ;) (declaration "double *local_60;" primitive_type (pointer_declarator "*local_60" * identifier) ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "double *local_4c;" primitive_type (pointer_declarator "*local_4c" * identifier) ;) (declaration "double *local_3c;" primitive_type (pointer_declarator "*local_3c" * identifier) ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "double *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (declaration "double *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (declaration "double *local_28;" primitive_type (pointer_declarator "*local_28" * identifier) ;) (declaration "double *local_24;" primitive_type (pointer_declarator "*local_24" * identifier) ;) (expression_statement "iVar7 = omp_get_num_threads();" (assignment_expression "iVar7 = omp_get_num_threads()" identifier = (call_expression "omp_get_num_threads()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar8 = omp_get_thread_num();" (assignment_expression "iVar8 = omp_get_thread_num()" identifier = (call_expression "omp_get_thread_num()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar9 = (int)(4 / (longlong)iVar7);" (assignment_expression "iVar9 = (int)(4 / (longlong)iVar7)" identifier = (cast_expression "(int)(4 / (longlong)iVar7)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(4 / (longlong)iVar7)" ( (binary_expression "4 / (longlong)iVar7" number_literal / (cast_expression "(longlong)iVar7" ( (type_descriptor "longlong" type_identifier) ) identifier)) )))) ;) (expression_statement "local_38 = (int)(4 % (longlong)iVar7);" (assignment_expression "local_38 = (int)(4 % (longlong)iVar7)" identifier = (cast_expression "(int)(4 % (longlong)iVar7)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(4 % (longlong)iVar7)" ( (binary_expression "4 % (longlong)iVar7" number_literal % (cast_expression "(longlong)iVar7" ( (type_descriptor "longlong" type_identifier) ) identifier)) )))) ;) (if_statement "if (iVar8 < local_38) {\n    iVar9 = iVar9 + 1;\n    local_38 = 0;\n  }" if (parenthesized_expression "(iVar8 < local_38)" ( (binary_expression "iVar8 < local_38" identifier < identifier) )) (compound_statement "{\n    iVar9 = iVar9 + 1;\n    local_38 = 0;\n  }" { (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) })) (expression_statement "local_38 = iVar8 * iVar9 + local_38;" (assignment_expression "local_38 = iVar8 * iVar9 + local_38" identifier = (binary_expression "iVar8 * iVar9 + local_38" (binary_expression "iVar8 * iVar9" identifier * identifier) + identifier)) ;) (expression_statement "iVar9 = iVar9 + local_38;" (assignment_expression "iVar9 = iVar9 + local_38" identifier = (binary_expression "iVar9 + local_38" identifier + identifier)) ;) (if_statement "if (local_38 < iVar9) {\n    iVar8 = param_1[10];\n    piVar3 = (int *)param_1[2];\n    iVar4 = *param_1;\n    pdVar16 = (double *)(param_1[1] + local_38 * 8);\n    iVar7 = local_38 * 0x50 + 0x20;\n    local_34 = (double *)(param_1[4] + iVar7);\n    local_24 = (double *)(param_1[8] + iVar7);\n    local_28 = (double *)(iVar7 + param_1[6]);\n    local_2c = (double *)(param_1[5] + 0x2a0 + local_38 * 0x50);\n    do {\n      if (iVar8 < 1) {\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }\n      else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }\n      iVar12 = param_1[3];\n      iVar18 = local_38 * 0x50;\n      dVar1 = *(double *)(iVar7 + 0x20 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x20 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x28 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x28 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x30 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x30 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }\n      iVar7 = *(int *)(iVar4 + 4);\n      pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      if (iVar7 == 2) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      if (*(int *)(iVar4 + 0x294) != 0) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      local_38 = local_38 + 1;\n      pdVar16 = pdVar16 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    } while (iVar9 != local_38);\n  }" if (parenthesized_expression "(local_38 < iVar9)" ( (binary_expression "local_38 < iVar9" identifier < identifier) )) (compound_statement "{\n    iVar8 = param_1[10];\n    piVar3 = (int *)param_1[2];\n    iVar4 = *param_1;\n    pdVar16 = (double *)(param_1[1] + local_38 * 8);\n    iVar7 = local_38 * 0x50 + 0x20;\n    local_34 = (double *)(param_1[4] + iVar7);\n    local_24 = (double *)(param_1[8] + iVar7);\n    local_28 = (double *)(iVar7 + param_1[6]);\n    local_2c = (double *)(param_1[5] + 0x2a0 + local_38 * 0x50);\n    do {\n      if (iVar8 < 1) {\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }\n      else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }\n      iVar12 = param_1[3];\n      iVar18 = local_38 * 0x50;\n      dVar1 = *(double *)(iVar7 + 0x20 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x20 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x28 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x28 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x30 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x30 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }\n      iVar7 = *(int *)(iVar4 + 4);\n      pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      if (iVar7 == 2) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      if (*(int *)(iVar4 + 0x294) != 0) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      local_38 = local_38 + 1;\n      pdVar16 = pdVar16 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    } while (iVar9 != local_38);\n  }" { (expression_statement "iVar8 = param_1[10];" (assignment_expression "iVar8 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (expression_statement "piVar3 = (int *)param_1[2];" (assignment_expression "piVar3 = (int *)param_1[2]" identifier = (cast_expression "(int *)param_1[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (expression_statement "iVar4 = *param_1;" (assignment_expression "iVar4 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "pdVar16 = (double *)(param_1[1] + local_38 * 8);" (assignment_expression "pdVar16 = (double *)(param_1[1] + local_38 * 8)" identifier = (cast_expression "(double *)(param_1[1] + local_38 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1] + local_38 * 8)" ( (binary_expression "param_1[1] + local_38 * 8" (subscript_expression "param_1[1]" identifier [ number_literal ]) + (binary_expression "local_38 * 8" identifier * number_literal)) )))) ;) (expression_statement "iVar7 = local_38 * 0x50 + 0x20;" (assignment_expression "iVar7 = local_38 * 0x50 + 0x20" identifier = (binary_expression "local_38 * 0x50 + 0x20" (binary_expression "local_38 * 0x50" identifier * number_literal) + number_literal)) ;) (expression_statement "local_34 = (double *)(param_1[4] + iVar7);" (assignment_expression "local_34 = (double *)(param_1[4] + iVar7)" identifier = (cast_expression "(double *)(param_1[4] + iVar7)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[4] + iVar7)" ( (binary_expression "param_1[4] + iVar7" (subscript_expression "param_1[4]" identifier [ number_literal ]) + identifier) )))) ;) (expression_statement "local_24 = (double *)(param_1[8] + iVar7);" (assignment_expression "local_24 = (double *)(param_1[8] + iVar7)" identifier = (cast_expression "(double *)(param_1[8] + iVar7)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[8] + iVar7)" ( (binary_expression "param_1[8] + iVar7" (subscript_expression "param_1[8]" identifier [ number_literal ]) + identifier) )))) ;) (expression_statement "local_28 = (double *)(iVar7 + param_1[6]);" (assignment_expression "local_28 = (double *)(iVar7 + param_1[6])" identifier = (cast_expression "(double *)(iVar7 + param_1[6])" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + param_1[6])" ( (binary_expression "iVar7 + param_1[6]" identifier + (subscript_expression "param_1[6]" identifier [ number_literal ])) )))) ;) (expression_statement "local_2c = (double *)(param_1[5] + 0x2a0 + local_38 * 0x50);" (assignment_expression "local_2c = (double *)(param_1[5] + 0x2a0 + local_38 * 0x50)" identifier = (cast_expression "(double *)(param_1[5] + 0x2a0 + local_38 * 0x50)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[5] + 0x2a0 + local_38 * 0x50)" ( (binary_expression "param_1[5] + 0x2a0 + local_38 * 0x50" (binary_expression "param_1[5] + 0x2a0" (subscript_expression "param_1[5]" identifier [ number_literal ]) + number_literal) + (binary_expression "local_38 * 0x50" identifier * number_literal)) )))) ;) (do_statement "do {\n      if (iVar8 < 1) {\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }\n      else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }\n      iVar12 = param_1[3];\n      iVar18 = local_38 * 0x50;\n      dVar1 = *(double *)(iVar7 + 0x20 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x20 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x28 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x28 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x30 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x30 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }\n      iVar7 = *(int *)(iVar4 + 4);\n      pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      if (iVar7 == 2) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      if (*(int *)(iVar4 + 0x294) != 0) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      local_38 = local_38 + 1;\n      pdVar16 = pdVar16 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    } while (iVar9 != local_38);" do (compound_statement "{\n      if (iVar8 < 1) {\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }\n      else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }\n      iVar12 = param_1[3];\n      iVar18 = local_38 * 0x50;\n      dVar1 = *(double *)(iVar7 + 0x20 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x20 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x28 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x28 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x30 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x30 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }\n      iVar7 = *(int *)(iVar4 + 4);\n      pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      if (iVar7 == 2) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      if (*(int *)(iVar4 + 0x294) != 0) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      local_38 = local_38 + 1;\n      pdVar16 = pdVar16 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    }" { (if_statement "if (iVar8 < 1) {\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }\n      else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }" if (parenthesized_expression "(iVar8 < 1)" ( (binary_expression "iVar8 < 1" identifier < number_literal) )) (compound_statement "{\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }" { (expression_statement "iVar7 = param_1[7];" (assignment_expression "iVar7 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "iVar14 = param_1[9];" (assignment_expression "iVar14 = param_1[9]" identifier = (subscript_expression "param_1[9]" identifier [ number_literal ])) ;) }) (else_clause "else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }" else (compound_statement "{\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }" { (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "iVar12 = *(int *)(iVar4 + 4);" (assignment_expression "iVar12 = *(int *)(iVar4 + 4)" identifier = (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar18 = *(int *)(iVar4 + 0x294);" (assignment_expression "iVar18 = *(int *)(iVar4 + 0x294)" identifier = (pointer_expression "*(int *)(iVar4 + 0x294)" * (cast_expression "(int *)(iVar4 + 0x294)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x294)" ( (binary_expression "iVar4 + 0x294" identifier + number_literal) ))))) ;) (expression_statement "local_3c = local_2c;" (assignment_expression "local_3c = local_2c" identifier = identifier) ;) (expression_statement "local_4c = local_28;" (assignment_expression "local_4c = local_28" identifier = identifier) ;) (expression_statement "local_60 = local_24;" (assignment_expression "local_60 = local_24" identifier = identifier) ;) (expression_statement "iVar10 = local_38 * 0x50;" (assignment_expression "iVar10 = local_38 * 0x50" identifier = (binary_expression "local_38 * 0x50" identifier * number_literal)) ;) (do_statement "do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);" do (compound_statement "{\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        }" { (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_74 = local_50;" (assignment_expression "local_74 = local_50" identifier = identifier) ;) (expression_statement "iVar7 = local_50 * 0x140;" (assignment_expression "iVar7 = local_50 * 0x140" identifier = (binary_expression "local_50 * 0x140" identifier * number_literal)) ;) (expression_statement "local_64 = local_3c;" (assignment_expression "local_64 = local_3c" identifier = identifier) ;) (expression_statement "pdVar17 = local_34;" (assignment_expression "pdVar17 = local_34" identifier = identifier) ;) (expression_statement "local_6c = piVar3;" (assignment_expression "local_6c = piVar3" identifier = identifier) ;) (do_statement "do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);" do (compound_statement "{\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          }" { (expression_statement "iVar11 = iVar7 + *local_6c;" (assignment_expression "iVar11 = iVar7 + *local_6c" identifier = (binary_expression "iVar7 + *local_6c" identifier + (pointer_expression "*local_6c" * identifier))) ;) (expression_statement "iVar14 = iVar11 + iVar10;" (assignment_expression "iVar14 = iVar11 + iVar10" identifier = (binary_expression "iVar11 + iVar10" identifier + identifier)) ;) (expression_statement "dVar1 = *(double *)(iVar14 + 0x20);" (assignment_expression "dVar1 = *(double *)(iVar14 + 0x20)" identifier = (pointer_expression "*(double *)(iVar14 + 0x20)" * (cast_expression "(double *)(iVar14 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*pdVar16 = dVar1 * dVar1 + *pdVar16;" (assignment_expression "*pdVar16 = dVar1 * dVar1 + *pdVar16" (pointer_expression "*pdVar16" * identifier) = (binary_expression "dVar1 * dVar1 + *pdVar16" (binary_expression "dVar1 * dVar1" identifier * identifier) + (pointer_expression "*pdVar16" * identifier))) ;) (expression_statement "pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];" (assignment_expression "pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38]" (subscript_expression "pdVar16[0x38]" identifier [ number_literal ]) = (binary_expression "*(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38]" (binary_expression "*(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28)" (pointer_expression "*(double *)(iVar14 + 0x28)" * (cast_expression "(double *)(iVar14 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) )))) * (pointer_expression "*(double *)(iVar14 + 0x28)" * (cast_expression "(double *)(iVar14 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) ))))) + (subscript_expression "pdVar16[0x38]" identifier [ number_literal ]))) ;) (expression_statement "pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];" (assignment_expression "pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70]" (subscript_expression "pdVar16[0x70]" identifier [ number_literal ]) = (binary_expression "*(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70]" (binary_expression "*(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30)" (pointer_expression "*(double *)(iVar14 + 0x30)" * (cast_expression "(double *)(iVar14 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))) * (pointer_expression "*(double *)(iVar14 + 0x30)" * (cast_expression "(double *)(iVar14 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) ))))) + (subscript_expression "pdVar16[0x70]" identifier [ number_literal ]))) ;) (if_statement "if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }" if (parenthesized_expression "(iVar12 == 2)" ( (binary_expression "iVar12 == 2" identifier == number_literal) )) (compound_statement "{\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }" { (expression_statement "pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];" (assignment_expression "pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8]" (subscript_expression "pdVar16[0xa8]" identifier [ number_literal ]) = (binary_expression "*(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8]" (binary_expression "*(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38)" (pointer_expression "*(double *)(iVar14 + 0x38)" * (cast_expression "(double *)(iVar14 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x38)" ( (binary_expression "iVar14 + 0x38" identifier + number_literal) )))) * (pointer_expression "*(double *)(iVar14 + 0x38)" * (cast_expression "(double *)(iVar14 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x38)" ( (binary_expression "iVar14 + 0x38" identifier + number_literal) ))))) + (subscript_expression "pdVar16[0xa8]" identifier [ number_literal ]))) ;) })) (if_statement "if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }" { (expression_statement "dVar19 = *(double *)(iVar11 + 0x40 + iVar10);" (assignment_expression "dVar19 = *(double *)(iVar11 + 0x40 + iVar10)" identifier = (pointer_expression "*(double *)(iVar11 + 0x40 + iVar10)" * (cast_expression "(double *)(iVar11 + 0x40 + iVar10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x40 + iVar10)" ( (binary_expression "iVar11 + 0x40 + iVar10" (binary_expression "iVar11 + 0x40" identifier + number_literal) + identifier) ))))) ;) (expression_statement "pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];" (assignment_expression "pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0]" (subscript_expression "pdVar16[0xe0]" identifier [ number_literal ]) = (binary_expression "dVar19 * dVar19 + pdVar16[0xe0]" (binary_expression "dVar19 * dVar19" identifier * identifier) + (subscript_expression "pdVar16[0xe0]" identifier [ number_literal ]))) ;) })) (expression_statement "iVar14 = iVar11 + iVar10;" (assignment_expression "iVar14 = iVar11 + iVar10" identifier = (binary_expression "iVar11 + iVar10" identifier + identifier)) ;) (expression_statement "*local_60 = dVar1 + *local_60;" (assignment_expression "*local_60 = dVar1 + *local_60" (pointer_expression "*local_60" * identifier) = (binary_expression "dVar1 + *local_60" identifier + (pointer_expression "*local_60" * identifier))) ;) (expression_statement "local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);" (assignment_expression "local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "local_60[1]" identifier [ number_literal ]) = (binary_expression "local_60[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "local_60[1]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x28)" * (cast_expression "(double *)(iVar14 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);" (assignment_expression "local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "local_60[2]" identifier [ number_literal ]) = (binary_expression "local_60[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "local_60[2]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x30)" * (cast_expression "(double *)(iVar14 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))))) ;) (if_statement "if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }" if (parenthesized_expression "(iVar12 == 2)" ( (binary_expression "iVar12 == 2" identifier == number_literal) )) (compound_statement "{\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }" { (expression_statement "local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);" (assignment_expression "local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38)" (subscript_expression "local_60[3]" identifier [ number_literal ]) = (binary_expression "local_60[3] + *(double *)(iVar14 + 0x38)" (subscript_expression "local_60[3]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x38)" * (cast_expression "(double *)(iVar14 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x38)" ( (binary_expression "iVar14 + 0x38" identifier + number_literal) )))))) ;) })) (if_statement "if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }" { (expression_statement "local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);" (assignment_expression "local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10)" (subscript_expression "local_60[4]" identifier [ number_literal ]) = (binary_expression "local_60[4] + *(double *)(iVar11 + 0x40 + iVar10)" (subscript_expression "local_60[4]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar11 + 0x40 + iVar10)" * (cast_expression "(double *)(iVar11 + 0x40 + iVar10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x40 + iVar10)" ( (binary_expression "iVar11 + 0x40 + iVar10" (binary_expression "iVar11 + 0x40" identifier + number_literal) + identifier) )))))) ;) })) (expression_statement "dVar1 = (double)local_58;" (assignment_expression "dVar1 = (double)local_58" identifier = (cast_expression "(double)local_58" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "iVar15 = param_1[3];" (assignment_expression "iVar15 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "iVar14 = iVar11 + iVar10;" (assignment_expression "iVar14 = iVar11 + iVar10" identifier = (binary_expression "iVar11 + iVar10" identifier + identifier)) ;) (expression_statement "iVar13 = iVar15 + iVar10;" (assignment_expression "iVar13 = iVar15 + iVar10" identifier = (binary_expression "iVar15 + iVar10" identifier + identifier)) ;) (expression_statement "*(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);" (assignment_expression "*(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20)" (pointer_expression "*(double *)(iVar13 + 0x20)" * (cast_expression "(double *)(iVar13 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x20)" ( (binary_expression "iVar13 + 0x20" identifier + number_literal) )))) = (binary_expression "*(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20)" (binary_expression "*(double *)(iVar14 + 0x20) * dVar1" (pointer_expression "*(double *)(iVar14 + 0x20)" * (cast_expression "(double *)(iVar14 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) )))) * identifier) + (pointer_expression "*(double *)(iVar13 + 0x20)" * (cast_expression "(double *)(iVar13 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x20)" ( (binary_expression "iVar13 + 0x20" identifier + number_literal) )))))) ;) (expression_statement "*(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);" (assignment_expression "*(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28)" (pointer_expression "*(double *)(iVar13 + 0x28)" * (cast_expression "(double *)(iVar13 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x28)" ( (binary_expression "iVar13 + 0x28" identifier + number_literal) )))) = (binary_expression "*(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28)" (binary_expression "*(double *)(iVar14 + 0x28) * dVar1" (pointer_expression "*(double *)(iVar14 + 0x28)" * (cast_expression "(double *)(iVar14 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) )))) * identifier) + (pointer_expression "*(double *)(iVar13 + 0x28)" * (cast_expression "(double *)(iVar13 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x28)" ( (binary_expression "iVar13 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "*(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);" (assignment_expression "*(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30)" (pointer_expression "*(double *)(iVar13 + 0x30)" * (cast_expression "(double *)(iVar13 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x30)" ( (binary_expression "iVar13 + 0x30" identifier + number_literal) )))) = (binary_expression "*(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30)" (binary_expression "*(double *)(iVar14 + 0x30) * dVar1" (pointer_expression "*(double *)(iVar14 + 0x30)" * (cast_expression "(double *)(iVar14 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))) * identifier) + (pointer_expression "*(double *)(iVar13 + 0x30)" * (cast_expression "(double *)(iVar13 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x30)" ( (binary_expression "iVar13 + 0x30" identifier + number_literal) )))))) ;) (if_statement "if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }" if (parenthesized_expression "(iVar12 == 2)" ( (binary_expression "iVar12 == 2" identifier == number_literal) )) (compound_statement "{\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }" { (expression_statement "*(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);" (assignment_expression "*(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38)" (pointer_expression "*(double *)(iVar13 + 0x38)" * (cast_expression "(double *)(iVar13 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x38)" ( (binary_expression "iVar13 + 0x38" identifier + number_literal) )))) = (binary_expression "*(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38)" (binary_expression "*(double *)(iVar14 + 0x38) * dVar1" (pointer_expression "*(double *)(iVar14 + 0x38)" * (cast_expression "(double *)(iVar14 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x38)" ( (binary_expression "iVar14 + 0x38" identifier + number_literal) )))) * identifier) + (pointer_expression "*(double *)(iVar13 + 0x38)" * (cast_expression "(double *)(iVar13 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x38)" ( (binary_expression "iVar13 + 0x38" identifier + number_literal) )))))) ;) })) (if_statement "if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }" { (expression_statement "iVar15 = iVar15 + iVar10;" (assignment_expression "iVar15 = iVar15 + iVar10" identifier = (binary_expression "iVar15 + iVar10" identifier + identifier)) ;) (expression_statement "*(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);" (assignment_expression "*(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40)" (pointer_expression "*(double *)(iVar15 + 0x40)" * (cast_expression "(double *)(iVar15 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x40)" ( (binary_expression "iVar15 + 0x40" identifier + number_literal) )))) = (binary_expression "dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40)" (binary_expression "dVar1 * *(double *)(iVar11 + 0x40 + iVar10)" identifier * (pointer_expression "*(double *)(iVar11 + 0x40 + iVar10)" * (cast_expression "(double *)(iVar11 + 0x40 + iVar10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x40 + iVar10)" ( (binary_expression "iVar11 + 0x40 + iVar10" (binary_expression "iVar11 + 0x40" identifier + number_literal) + identifier) ))))) + (pointer_expression "*(double *)(iVar15 + 0x40)" * (cast_expression "(double *)(iVar15 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x40)" ( (binary_expression "iVar15 + 0x40" identifier + number_literal) )))))) ;) })) (expression_statement "iVar14 = iVar11 + iVar10;" (assignment_expression "iVar14 = iVar11 + iVar10" identifier = (binary_expression "iVar11 + iVar10" identifier + identifier)) ;) (expression_statement "dVar1 = *(double *)(iVar14 + 0x20);" (assignment_expression "dVar1 = *(double *)(iVar14 + 0x20)" identifier = (pointer_expression "*(double *)(iVar14 + 0x20)" * (cast_expression "(double *)(iVar14 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "dVar19 = (double)(local_74 * local_74 + 1);" (assignment_expression "dVar19 = (double)(local_74 * local_74 + 1)" identifier = (cast_expression "(double)(local_74 * local_74 + 1)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(local_74 * local_74 + 1)" ( (binary_expression "local_74 * local_74 + 1" (binary_expression "local_74 * local_74" identifier * identifier) + number_literal) )))) ;) (expression_statement "pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];" (assignment_expression "pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10]" (subscript_expression "pdVar16[0x10]" identifier [ number_literal ]) = (binary_expression "dVar1 / dVar19 + pdVar16[0x10]" (binary_expression "dVar1 / dVar19" identifier / identifier) + (subscript_expression "pdVar16[0x10]" identifier [ number_literal ]))) ;) (expression_statement "pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];" (assignment_expression "pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48]" (subscript_expression "pdVar16[0x48]" identifier [ number_literal ]) = (binary_expression "*(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48]" (binary_expression "*(double *)(iVar14 + 0x28) / dVar19" (pointer_expression "*(double *)(iVar14 + 0x28)" * (cast_expression "(double *)(iVar14 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) )))) / identifier) + (subscript_expression "pdVar16[0x48]" identifier [ number_literal ]))) ;) (expression_statement "pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];" (assignment_expression "pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80]" (subscript_expression "pdVar16[0x80]" identifier [ number_literal ]) = (binary_expression "*(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80]" (binary_expression "*(double *)(iVar14 + 0x30) / dVar19" (pointer_expression "*(double *)(iVar14 + 0x30)" * (cast_expression "(double *)(iVar14 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))) / identifier) + (subscript_expression "pdVar16[0x80]" identifier [ number_literal ]))) ;) (if_statement "if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }" if (parenthesized_expression "(iVar12 == 2)" ( (binary_expression "iVar12 == 2" identifier == number_literal) )) (compound_statement "{\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }" { (expression_statement "pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];" (assignment_expression "pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8]" (subscript_expression "pdVar16[0xb8]" identifier [ number_literal ]) = (binary_expression "*(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8]" (binary_expression "*(double *)(iVar14 + 0x38) / dVar19" (pointer_expression "*(double *)(iVar14 + 0x38)" * (cast_expression "(double *)(iVar14 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x38)" ( (binary_expression "iVar14 + 0x38" identifier + number_literal) )))) / identifier) + (subscript_expression "pdVar16[0xb8]" identifier [ number_literal ]))) ;) })) (if_statement "if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }" { (expression_statement "pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];" (assignment_expression "pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0]" (subscript_expression "pdVar16[0xf0]" identifier [ number_literal ]) = (binary_expression "*(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0]" (binary_expression "*(double *)(iVar11 + 0x40 + iVar10) / dVar19" (pointer_expression "*(double *)(iVar11 + 0x40 + iVar10)" * (cast_expression "(double *)(iVar11 + 0x40 + iVar10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x40 + iVar10)" ( (binary_expression "iVar11 + 0x40 + iVar10" (binary_expression "iVar11 + 0x40" identifier + number_literal) + identifier) )))) / identifier) + (subscript_expression "pdVar16[0xf0]" identifier [ number_literal ]))) ;) })) (expression_statement "iVar14 = iVar11 + iVar10;" (assignment_expression "iVar14 = iVar11 + iVar10" identifier = (binary_expression "iVar11 + iVar10" identifier + identifier)) ;) (expression_statement "*local_64 = dVar1 + *local_64;" (assignment_expression "*local_64 = dVar1 + *local_64" (pointer_expression "*local_64" * identifier) = (binary_expression "dVar1 + *local_64" identifier + (pointer_expression "*local_64" * identifier))) ;) (expression_statement "local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);" (assignment_expression "local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "local_64[1]" identifier [ number_literal ]) = (binary_expression "local_64[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "local_64[1]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x28)" * (cast_expression "(double *)(iVar14 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);" (assignment_expression "local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "local_64[2]" identifier [ number_literal ]) = (binary_expression "local_64[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "local_64[2]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x30)" * (cast_expression "(double *)(iVar14 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))))) ;) (if_statement "if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }" if (parenthesized_expression "(iVar12 == 2)" ( (binary_expression "iVar12 == 2" identifier == number_literal) )) (compound_statement "{\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }" { (expression_statement "local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);" (assignment_expression "local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38)" (subscript_expression "local_64[3]" identifier [ number_literal ]) = (binary_expression "local_64[3] + *(double *)(iVar14 + 0x38)" (subscript_expression "local_64[3]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x38)" * (cast_expression "(double *)(iVar14 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x38)" ( (binary_expression "iVar14 + 0x38" identifier + number_literal) )))))) ;) })) (if_statement "if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }" { (expression_statement "local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);" (assignment_expression "local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10)" (subscript_expression "local_64[4]" identifier [ number_literal ]) = (binary_expression "local_64[4] + *(double *)(iVar11 + 0x40 + iVar10)" (subscript_expression "local_64[4]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar11 + 0x40 + iVar10)" * (cast_expression "(double *)(iVar11 + 0x40 + iVar10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x40 + iVar10)" ( (binary_expression "iVar11 + 0x40 + iVar10" (binary_expression "iVar11 + 0x40" identifier + number_literal) + identifier) )))))) ;) })) (expression_statement "dVar1 = *(double *)(iVar11 + 0x20 + iVar10);" (assignment_expression "dVar1 = *(double *)(iVar11 + 0x20 + iVar10)" identifier = (pointer_expression "*(double *)(iVar11 + 0x20 + iVar10)" * (cast_expression "(double *)(iVar11 + 0x20 + iVar10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x20 + iVar10)" ( (binary_expression "iVar11 + 0x20 + iVar10" (binary_expression "iVar11 + 0x20" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar19 = ABS(dVar1);" (assignment_expression "dVar19 = ABS(dVar1)" identifier = (call_expression "ABS(dVar1)" identifier (argument_list "(dVar1)" ( identifier )))) ;) (if_statement "if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }" if (parenthesized_expression "(DAT_002ea690 <= dVar19)" ( (binary_expression "DAT_002ea690 <= dVar19" identifier <= identifier) )) (compound_statement "{\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }" { (expression_statement "dVar19 = log10(dVar19);" (assignment_expression "dVar19 = log10(dVar19)" identifier = (call_expression "log10(dVar19)" identifier (argument_list "(dVar19)" ( identifier )))) ;) (expression_statement "iVar11 = iVar7 + *local_6c;" (assignment_expression "iVar11 = iVar7 + *local_6c" identifier = (binary_expression "iVar7 + *local_6c" identifier + (pointer_expression "*local_6c" * identifier))) ;) }) (else_clause "else {\n              dVar19 = (double)DAT_002f4200;\n            }" else (compound_statement "{\n              dVar19 = (double)DAT_002f4200;\n            }" { (expression_statement "dVar19 = (double)DAT_002f4200;" (assignment_expression "dVar19 = (double)DAT_002f4200" identifier = (cast_expression "(double)DAT_002f4200" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;" (assignment_expression "pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1" (subscript_expression "pdVar16[0x20]" identifier [ number_literal ]) = (binary_expression "pdVar16[0x20] - dVar19 * dVar1" (subscript_expression "pdVar16[0x20]" identifier [ number_literal ]) - (binary_expression "dVar19 * dVar1" identifier * identifier))) ;) (expression_statement "dVar1 = *(double *)(iVar11 + 0x28 + iVar10);" (assignment_expression "dVar1 = *(double *)(iVar11 + 0x28 + iVar10)" identifier = (pointer_expression "*(double *)(iVar11 + 0x28 + iVar10)" * (cast_expression "(double *)(iVar11 + 0x28 + iVar10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x28 + iVar10)" ( (binary_expression "iVar11 + 0x28 + iVar10" (binary_expression "iVar11 + 0x28" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar19 = ABS(dVar1);" (assignment_expression "dVar19 = ABS(dVar1)" identifier = (call_expression "ABS(dVar1)" identifier (argument_list "(dVar1)" ( identifier )))) ;) (if_statement "if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }" if (parenthesized_expression "(DAT_002ea690 <= dVar19)" ( (binary_expression "DAT_002ea690 <= dVar19" identifier <= identifier) )) (compound_statement "{\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }" { (expression_statement "dVar19 = log10(dVar19);" (assignment_expression "dVar19 = log10(dVar19)" identifier = (call_expression "log10(dVar19)" identifier (argument_list "(dVar19)" ( identifier )))) ;) (expression_statement "iVar11 = iVar7 + *local_6c;" (assignment_expression "iVar11 = iVar7 + *local_6c" identifier = (binary_expression "iVar7 + *local_6c" identifier + (pointer_expression "*local_6c" * identifier))) ;) }) (else_clause "else {\n              dVar19 = (double)DAT_002f4200;\n            }" else (compound_statement "{\n              dVar19 = (double)DAT_002f4200;\n            }" { (expression_statement "dVar19 = (double)DAT_002f4200;" (assignment_expression "dVar19 = (double)DAT_002f4200" identifier = (cast_expression "(double)DAT_002f4200" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;" (assignment_expression "pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1" (subscript_expression "pdVar16[0x58]" identifier [ number_literal ]) = (binary_expression "pdVar16[0x58] - dVar19 * dVar1" (subscript_expression "pdVar16[0x58]" identifier [ number_literal ]) - (binary_expression "dVar19 * dVar1" identifier * identifier))) ;) (expression_statement "dVar1 = *(double *)(iVar11 + 0x30 + iVar10);" (assignment_expression "dVar1 = *(double *)(iVar11 + 0x30 + iVar10)" identifier = (pointer_expression "*(double *)(iVar11 + 0x30 + iVar10)" * (cast_expression "(double *)(iVar11 + 0x30 + iVar10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x30 + iVar10)" ( (binary_expression "iVar11 + 0x30 + iVar10" (binary_expression "iVar11 + 0x30" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar19 = ABS(dVar1);" (assignment_expression "dVar19 = ABS(dVar1)" identifier = (call_expression "ABS(dVar1)" identifier (argument_list "(dVar1)" ( identifier )))) ;) (if_statement "if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }" if (parenthesized_expression "(DAT_002ea690 <= dVar19)" ( (binary_expression "DAT_002ea690 <= dVar19" identifier <= identifier) )) (compound_statement "{\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }" { (expression_statement "dVar19 = log10(dVar19);" (assignment_expression "dVar19 = log10(dVar19)" identifier = (call_expression "log10(dVar19)" identifier (argument_list "(dVar19)" ( identifier )))) ;) (expression_statement "iVar11 = iVar7 + *local_6c;" (assignment_expression "iVar11 = iVar7 + *local_6c" identifier = (binary_expression "iVar7 + *local_6c" identifier + (pointer_expression "*local_6c" * identifier))) ;) }) (else_clause "else {\n              dVar19 = (double)DAT_002f4200;\n            }" else (compound_statement "{\n              dVar19 = (double)DAT_002f4200;\n            }" { (expression_statement "dVar19 = (double)DAT_002f4200;" (assignment_expression "dVar19 = (double)DAT_002f4200" identifier = (cast_expression "(double)DAT_002f4200" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "iVar14 = *(int *)(iVar4 + 4);" (assignment_expression "iVar14 = *(int *)(iVar4 + 4)" identifier = (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;" (assignment_expression "pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1" (subscript_expression "pdVar16[0x90]" identifier [ number_literal ]) = (binary_expression "pdVar16[0x90] - dVar19 * dVar1" (subscript_expression "pdVar16[0x90]" identifier [ number_literal ]) - (binary_expression "dVar19 * dVar1" identifier * identifier))) ;) (if_statement "if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }" if (parenthesized_expression "(iVar14 == 2)" ( (binary_expression "iVar14 == 2" identifier == number_literal) )) (compound_statement "{\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }" { (expression_statement "dVar1 = *(double *)(iVar11 + 0x38 + iVar10);" (assignment_expression "dVar1 = *(double *)(iVar11 + 0x38 + iVar10)" identifier = (pointer_expression "*(double *)(iVar11 + 0x38 + iVar10)" * (cast_expression "(double *)(iVar11 + 0x38 + iVar10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x38 + iVar10)" ( (binary_expression "iVar11 + 0x38 + iVar10" (binary_expression "iVar11 + 0x38" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar19 = ABS(dVar1);" (assignment_expression "dVar19 = ABS(dVar1)" identifier = (call_expression "ABS(dVar1)" identifier (argument_list "(dVar1)" ( identifier )))) ;) (if_statement "if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }" if (parenthesized_expression "(DAT_002ea690 <= dVar19)" ( (binary_expression "DAT_002ea690 <= dVar19" identifier <= identifier) )) (compound_statement "{\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }" { (expression_statement "dVar19 = log10(dVar19);" (assignment_expression "dVar19 = log10(dVar19)" identifier = (call_expression "log10(dVar19)" identifier (argument_list "(dVar19)" ( identifier )))) ;) (expression_statement "iVar11 = iVar7 + *local_6c;" (assignment_expression "iVar11 = iVar7 + *local_6c" identifier = (binary_expression "iVar7 + *local_6c" identifier + (pointer_expression "*local_6c" * identifier))) ;) }) (else_clause "else {\n                dVar19 = (double)DAT_002f4200;\n              }" else (compound_statement "{\n                dVar19 = (double)DAT_002f4200;\n              }" { (expression_statement "dVar19 = (double)DAT_002f4200;" (assignment_expression "dVar19 = (double)DAT_002f4200" identifier = (cast_expression "(double)DAT_002f4200" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "pdVar16[200] = pdVar16[200] - dVar19 * dVar1;" (assignment_expression "pdVar16[200] = pdVar16[200] - dVar19 * dVar1" (subscript_expression "pdVar16[200]" identifier [ number_literal ]) = (binary_expression "pdVar16[200] - dVar19 * dVar1" (subscript_expression "pdVar16[200]" identifier [ number_literal ]) - (binary_expression "dVar19 * dVar1" identifier * identifier))) ;) })) (expression_statement "iVar15 = *(int *)(iVar4 + 0x294);" (assignment_expression "iVar15 = *(int *)(iVar4 + 0x294)" identifier = (pointer_expression "*(int *)(iVar4 + 0x294)" * (cast_expression "(int *)(iVar4 + 0x294)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x294)" ( (binary_expression "iVar4 + 0x294" identifier + number_literal) ))))) ;) (if_statement "if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }" { (expression_statement "dVar1 = *(double *)(iVar11 + 0x40 + iVar10);" (assignment_expression "dVar1 = *(double *)(iVar11 + 0x40 + iVar10)" identifier = (pointer_expression "*(double *)(iVar11 + 0x40 + iVar10)" * (cast_expression "(double *)(iVar11 + 0x40 + iVar10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x40 + iVar10)" ( (binary_expression "iVar11 + 0x40 + iVar10" (binary_expression "iVar11 + 0x40" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar19 = ABS(dVar1);" (assignment_expression "dVar19 = ABS(dVar1)" identifier = (call_expression "ABS(dVar1)" identifier (argument_list "(dVar1)" ( identifier )))) ;) (if_statement "if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }" if (parenthesized_expression "(DAT_002ea690 <= dVar19)" ( (binary_expression "DAT_002ea690 <= dVar19" identifier <= identifier) )) (compound_statement "{\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }" { (expression_statement "dVar19 = log10(dVar19);" (assignment_expression "dVar19 = log10(dVar19)" identifier = (call_expression "log10(dVar19)" identifier (argument_list "(dVar19)" ( identifier )))) ;) (expression_statement "iVar11 = iVar7 + *local_6c;" (assignment_expression "iVar11 = iVar7 + *local_6c" identifier = (binary_expression "iVar7 + *local_6c" identifier + (pointer_expression "*local_6c" * identifier))) ;) (expression_statement "iVar15 = *(int *)(iVar4 + 0x294);" (assignment_expression "iVar15 = *(int *)(iVar4 + 0x294)" identifier = (pointer_expression "*(int *)(iVar4 + 0x294)" * (cast_expression "(int *)(iVar4 + 0x294)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x294)" ( (binary_expression "iVar4 + 0x294" identifier + number_literal) ))))) ;) }) (else_clause "else {\n                dVar19 = (double)DAT_002f4200;\n              }" else (compound_statement "{\n                dVar19 = (double)DAT_002f4200;\n              }" { (expression_statement "dVar19 = (double)DAT_002f4200;" (assignment_expression "dVar19 = (double)DAT_002f4200" identifier = (cast_expression "(double)DAT_002f4200" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;" (assignment_expression "pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1" (subscript_expression "pdVar16[0x100]" identifier [ number_literal ]) = (binary_expression "pdVar16[0x100] - dVar19 * dVar1" (subscript_expression "pdVar16[0x100]" identifier [ number_literal ]) - (binary_expression "dVar19 * dVar1" identifier * identifier))) ;) })) (expression_statement "iVar14 = iVar11 + iVar10;" (assignment_expression "iVar14 = iVar11 + iVar10" identifier = (binary_expression "iVar11 + iVar10" identifier + identifier)) ;) (expression_statement "*pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);" (assignment_expression "*pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20)" (pointer_expression "*pdVar17" * identifier) = (binary_expression "*pdVar17 + *(double *)(iVar14 + 0x20)" (pointer_expression "*pdVar17" * identifier) + (pointer_expression "*(double *)(iVar14 + 0x20)" * (cast_expression "(double *)(iVar14 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) )))))) ;) (expression_statement "pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);" (assignment_expression "pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "pdVar17[1]" identifier [ number_literal ]) = (binary_expression "pdVar17[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "pdVar17[1]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x28)" * (cast_expression "(double *)(iVar14 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);" (assignment_expression "pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "pdVar17[2]" identifier [ number_literal ]) = (binary_expression "pdVar17[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "pdVar17[2]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x30)" * (cast_expression "(double *)(iVar14 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))))) ;) (if_statement "if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }" { (expression_statement "pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);" (assignment_expression "pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40)" (subscript_expression "pdVar17[4]" identifier [ number_literal ]) = (binary_expression "pdVar17[4] + *(double *)(iVar14 + 0x40)" (subscript_expression "pdVar17[4]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x40)" * (cast_expression "(double *)(iVar14 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x40)" ( (binary_expression "iVar14 + 0x40" identifier + number_literal) )))))) ;) })) (if_statement "if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }" if (parenthesized_expression "(*(int *)(iVar4 + 4) == 2)" ( (binary_expression "*(int *)(iVar4 + 4) == 2" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }" { (expression_statement "iVar14 = iVar11 + iVar10;" (assignment_expression "iVar14 = iVar11 + iVar10" identifier = (binary_expression "iVar11 + iVar10" identifier + identifier)) ;) (expression_statement "pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);" (assignment_expression "pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38)" (subscript_expression "pdVar17[3]" identifier [ number_literal ]) = (binary_expression "pdVar17[3] + *(double *)(iVar14 + 0x38)" (subscript_expression "pdVar17[3]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x38)" * (cast_expression "(double *)(iVar14 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x38)" ( (binary_expression "iVar14 + 0x38" identifier + number_literal) )))))) ;) (expression_statement "*local_4c = *local_4c + *(double *)(iVar14 + 0x20);" (assignment_expression "*local_4c = *local_4c + *(double *)(iVar14 + 0x20)" (pointer_expression "*local_4c" * identifier) = (binary_expression "*local_4c + *(double *)(iVar14 + 0x20)" (pointer_expression "*local_4c" * identifier) + (pointer_expression "*(double *)(iVar14 + 0x20)" * (cast_expression "(double *)(iVar14 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) )))))) ;) (expression_statement "local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);" (assignment_expression "local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "local_4c[1]" identifier [ number_literal ]) = (binary_expression "local_4c[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "local_4c[1]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x28)" * (cast_expression "(double *)(iVar14 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);" (assignment_expression "local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "local_4c[2]" identifier [ number_literal ]) = (binary_expression "local_4c[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "local_4c[2]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x30)" * (cast_expression "(double *)(iVar14 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))))) ;) (expression_statement "local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);" (assignment_expression "local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38)" (subscript_expression "local_4c[3]" identifier [ number_literal ]) = (binary_expression "local_4c[3] + *(double *)(iVar14 + 0x38)" (subscript_expression "local_4c[3]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x38)" * (cast_expression "(double *)(iVar14 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x38)" ( (binary_expression "iVar14 + 0x38" identifier + number_literal) )))))) ;) }) (else_clause "else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }" else (compound_statement "{\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }" { (expression_statement "iVar14 = iVar11 + iVar10;" (assignment_expression "iVar14 = iVar11 + iVar10" identifier = (binary_expression "iVar11 + iVar10" identifier + identifier)) ;) (expression_statement "*local_4c = *local_4c + *(double *)(iVar14 + 0x20);" (assignment_expression "*local_4c = *local_4c + *(double *)(iVar14 + 0x20)" (pointer_expression "*local_4c" * identifier) = (binary_expression "*local_4c + *(double *)(iVar14 + 0x20)" (pointer_expression "*local_4c" * identifier) + (pointer_expression "*(double *)(iVar14 + 0x20)" * (cast_expression "(double *)(iVar14 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) )))))) ;) (expression_statement "local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);" (assignment_expression "local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "local_4c[1]" identifier [ number_literal ]) = (binary_expression "local_4c[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "local_4c[1]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x28)" * (cast_expression "(double *)(iVar14 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);" (assignment_expression "local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "local_4c[2]" identifier [ number_literal ]) = (binary_expression "local_4c[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "local_4c[2]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x30)" * (cast_expression "(double *)(iVar14 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))))) ;) }))) (if_statement "if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }" { (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) (expression_statement "iVar12 = *(int *)(iVar4 + 4);" (assignment_expression "iVar12 = *(int *)(iVar4 + 4)" identifier = (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) }) (else_clause "else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }" else (compound_statement "{\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }" { (expression_statement "iVar12 = *(int *)(iVar4 + 4);" (assignment_expression "iVar12 = *(int *)(iVar4 + 4)" identifier = (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);" (assignment_expression "local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10)" (subscript_expression "local_4c[4]" identifier [ number_literal ]) = (binary_expression "local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10)" (subscript_expression "local_4c[4]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar11 + 0x40 + iVar10)" * (cast_expression "(double *)(iVar11 + 0x40 + iVar10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x40 + iVar10)" ( (binary_expression "iVar11 + 0x40 + iVar10" (binary_expression "iVar11 + 0x40" identifier + number_literal) + identifier) )))))) ;) (expression_statement "iVar18 = iVar15;" (assignment_expression "iVar18 = iVar15" identifier = identifier) ;) }))) (expression_statement "local_74 = local_74 + -1;" (assignment_expression "local_74 = local_74 + -1" identifier = (binary_expression "local_74 + -1" identifier + number_literal)) ;) (expression_statement "pdVar17 = pdVar17 + 0x28;" (assignment_expression "pdVar17 = pdVar17 + 0x28" identifier = (binary_expression "pdVar17 + 0x28" identifier + number_literal)) ;) (expression_statement "local_6c = local_6c + 1;" (assignment_expression "local_6c = local_6c + 1" identifier = (binary_expression "local_6c + 1" identifier + number_literal)) ;) (expression_statement "local_64 = local_64 + 0x28;" (assignment_expression "local_64 = local_64 + 0x28" identifier = (binary_expression "local_64 + 0x28" identifier + number_literal)) ;) (expression_statement "local_58 = local_58 + local_50;" (assignment_expression "local_58 = local_58 + local_50" identifier = (binary_expression "local_58 + local_50" identifier + identifier)) ;) }) while (parenthesized_expression "(local_50 - iVar8 != local_74)" ( (binary_expression "local_50 - iVar8 != local_74" (binary_expression "local_50 - iVar8" identifier - identifier) != identifier) )) ;) (expression_statement "dVar1 = (double)local_50;" (assignment_expression "dVar1 = (double)local_50" identifier = (cast_expression "(double)local_50" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "iVar7 = param_1[7];" (assignment_expression "iVar7 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "iVar14 = param_1[9];" (assignment_expression "iVar14 = param_1[9]" identifier = (subscript_expression "param_1[9]" identifier [ number_literal ])) ;) (expression_statement "iVar11 = iVar7 + iVar10;" (assignment_expression "iVar11 = iVar7 + iVar10" identifier = (binary_expression "iVar7 + iVar10" identifier + identifier)) ;) (expression_statement "*(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);" (assignment_expression "*(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20)" (pointer_expression "*(double *)(iVar11 + 0x20)" * (cast_expression "(double *)(iVar11 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x20)" ( (binary_expression "iVar11 + 0x20" identifier + number_literal) )))) = (binary_expression "*local_60 * dVar1 + *(double *)(iVar11 + 0x20)" (binary_expression "*local_60 * dVar1" (pointer_expression "*local_60" * identifier) * identifier) + (pointer_expression "*(double *)(iVar11 + 0x20)" * (cast_expression "(double *)(iVar11 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x20)" ( (binary_expression "iVar11 + 0x20" identifier + number_literal) )))))) ;) (expression_statement "dVar19 = (double)(local_50 * local_50);" (assignment_expression "dVar19 = (double)(local_50 * local_50)" identifier = (cast_expression "(double)(local_50 * local_50)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(local_50 * local_50)" ( (binary_expression "local_50 * local_50" identifier * identifier) )))) ;) (expression_statement "iVar13 = iVar14 + iVar10;" (assignment_expression "iVar13 = iVar14 + iVar10" identifier = (binary_expression "iVar14 + iVar10" identifier + identifier)) ;) (expression_statement "*(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);" (assignment_expression "*(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20)" (pointer_expression "*(double *)(iVar13 + 0x20)" * (cast_expression "(double *)(iVar13 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x20)" ( (binary_expression "iVar13 + 0x20" identifier + number_literal) )))) = (binary_expression "*local_60 * dVar19 + *(double *)(iVar13 + 0x20)" (binary_expression "*local_60 * dVar19" (pointer_expression "*local_60" * identifier) * identifier) + (pointer_expression "*(double *)(iVar13 + 0x20)" * (cast_expression "(double *)(iVar13 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x20)" ( (binary_expression "iVar13 + 0x20" identifier + number_literal) )))))) ;) (expression_statement "*(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);" (assignment_expression "*(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28)" (pointer_expression "*(double *)(iVar11 + 0x28)" * (cast_expression "(double *)(iVar11 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x28)" ( (binary_expression "iVar11 + 0x28" identifier + number_literal) )))) = (binary_expression "local_60[1] * dVar1 + *(double *)(iVar11 + 0x28)" (binary_expression "local_60[1] * dVar1" (subscript_expression "local_60[1]" identifier [ number_literal ]) * identifier) + (pointer_expression "*(double *)(iVar11 + 0x28)" * (cast_expression "(double *)(iVar11 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x28)" ( (binary_expression "iVar11 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "*(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);" (assignment_expression "*(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28)" (pointer_expression "*(double *)(iVar13 + 0x28)" * (cast_expression "(double *)(iVar13 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x28)" ( (binary_expression "iVar13 + 0x28" identifier + number_literal) )))) = (binary_expression "local_60[1] * dVar19 + *(double *)(iVar13 + 0x28)" (binary_expression "local_60[1] * dVar19" (subscript_expression "local_60[1]" identifier [ number_literal ]) * identifier) + (pointer_expression "*(double *)(iVar13 + 0x28)" * (cast_expression "(double *)(iVar13 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x28)" ( (binary_expression "iVar13 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "*(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);" (assignment_expression "*(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30)" (pointer_expression "*(double *)(iVar11 + 0x30)" * (cast_expression "(double *)(iVar11 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x30)" ( (binary_expression "iVar11 + 0x30" identifier + number_literal) )))) = (binary_expression "local_60[2] * dVar1 + *(double *)(iVar11 + 0x30)" (binary_expression "local_60[2] * dVar1" (subscript_expression "local_60[2]" identifier [ number_literal ]) * identifier) + (pointer_expression "*(double *)(iVar11 + 0x30)" * (cast_expression "(double *)(iVar11 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x30)" ( (binary_expression "iVar11 + 0x30" identifier + number_literal) )))))) ;) (expression_statement "*(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);" (assignment_expression "*(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30)" (pointer_expression "*(double *)(iVar13 + 0x30)" * (cast_expression "(double *)(iVar13 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x30)" ( (binary_expression "iVar13 + 0x30" identifier + number_literal) )))) = (binary_expression "local_60[2] * dVar19 + *(double *)(iVar13 + 0x30)" (binary_expression "local_60[2] * dVar19" (subscript_expression "local_60[2]" identifier [ number_literal ]) * identifier) + (pointer_expression "*(double *)(iVar13 + 0x30)" * (cast_expression "(double *)(iVar13 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x30)" ( (binary_expression "iVar13 + 0x30" identifier + number_literal) )))))) ;) (if_statement "if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }" if (parenthesized_expression "(iVar12 == 2)" ( (binary_expression "iVar12 == 2" identifier == number_literal) )) (compound_statement "{\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }" { (expression_statement "*(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);" (assignment_expression "*(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38)" (pointer_expression "*(double *)(iVar11 + 0x38)" * (cast_expression "(double *)(iVar11 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x38)" ( (binary_expression "iVar11 + 0x38" identifier + number_literal) )))) = (binary_expression "local_60[3] * dVar1 + *(double *)(iVar11 + 0x38)" (binary_expression "local_60[3] * dVar1" (subscript_expression "local_60[3]" identifier [ number_literal ]) * identifier) + (pointer_expression "*(double *)(iVar11 + 0x38)" * (cast_expression "(double *)(iVar11 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x38)" ( (binary_expression "iVar11 + 0x38" identifier + number_literal) )))))) ;) (expression_statement "*(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);" (assignment_expression "*(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38)" (pointer_expression "*(double *)(iVar13 + 0x38)" * (cast_expression "(double *)(iVar13 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x38)" ( (binary_expression "iVar13 + 0x38" identifier + number_literal) )))) = (binary_expression "local_60[3] * dVar19 + *(double *)(iVar13 + 0x38)" (binary_expression "local_60[3] * dVar19" (subscript_expression "local_60[3]" identifier [ number_literal ]) * identifier) + (pointer_expression "*(double *)(iVar13 + 0x38)" * (cast_expression "(double *)(iVar13 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x38)" ( (binary_expression "iVar13 + 0x38" identifier + number_literal) )))))) ;) })) (if_statement "if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }" { (expression_statement "*(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);" (assignment_expression "*(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40)" (pointer_expression "*(double *)(iVar7 + iVar10 + 0x40)" * (cast_expression "(double *)(iVar7 + iVar10 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + iVar10 + 0x40)" ( (binary_expression "iVar7 + iVar10 + 0x40" (binary_expression "iVar7 + iVar10" identifier + identifier) + number_literal) )))) = (binary_expression "dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40)" (binary_expression "dVar1 * local_60[4]" identifier * (subscript_expression "local_60[4]" identifier [ number_literal ])) + (pointer_expression "*(double *)(iVar7 + iVar10 + 0x40)" * (cast_expression "(double *)(iVar7 + iVar10 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + iVar10 + 0x40)" ( (binary_expression "iVar7 + iVar10 + 0x40" (binary_expression "iVar7 + iVar10" identifier + identifier) + number_literal) )))))) ;) (expression_statement "*(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);" (assignment_expression "*(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40)" (pointer_expression "*(double *)(iVar14 + iVar10 + 0x40)" * (cast_expression "(double *)(iVar14 + iVar10 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + iVar10 + 0x40)" ( (binary_expression "iVar14 + iVar10 + 0x40" (binary_expression "iVar14 + iVar10" identifier + identifier) + number_literal) )))) = (binary_expression "dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40)" (binary_expression "dVar19 * local_60[4]" identifier * (subscript_expression "local_60[4]" identifier [ number_literal ])) + (pointer_expression "*(double *)(iVar14 + iVar10 + 0x40)" * (cast_expression "(double *)(iVar14 + iVar10 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + iVar10 + 0x40)" ( (binary_expression "iVar14 + iVar10 + 0x40" (binary_expression "iVar14 + iVar10" identifier + identifier) + number_literal) )))))) ;) })) (expression_statement "local_50 = local_50 + 1;" (assignment_expression "local_50 = local_50 + 1" identifier = (binary_expression "local_50 + 1" identifier + number_literal)) ;) (expression_statement "local_60 = local_60 + 0x28;" (assignment_expression "local_60 = local_60 + 0x28" identifier = (binary_expression "local_60 + 0x28" identifier + number_literal)) ;) (expression_statement "local_4c = local_4c + 0x28;" (assignment_expression "local_4c = local_4c + 0x28" identifier = (binary_expression "local_4c + 0x28" identifier + number_literal)) ;) (expression_statement "local_3c = local_3c + 0x28;" (assignment_expression "local_3c = local_3c + 0x28" identifier = (binary_expression "local_3c + 0x28" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_50 != iVar8)" ( (binary_expression "local_50 != iVar8" identifier != identifier) )) ;) }))) (expression_statement "iVar12 = param_1[3];" (assignment_expression "iVar12 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "iVar18 = local_38 * 0x50;" (assignment_expression "iVar18 = local_38 * 0x50" identifier = (binary_expression "local_38 * 0x50" identifier * number_literal)) ;) (expression_statement "dVar1 = *(double *)(iVar7 + 0x20 + iVar18);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x20 + iVar18)" identifier = (pointer_expression "*(double *)(iVar7 + 0x20 + iVar18)" * (cast_expression "(double *)(iVar7 + 0x20 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20 + iVar18)" ( (binary_expression "iVar7 + 0x20 + iVar18" (binary_expression "iVar7 + 0x20" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar1 = dVar1 * dVar1;" (assignment_expression "dVar1 = dVar1 * dVar1" identifier = (binary_expression "dVar1 * dVar1" identifier * identifier)) ;) (expression_statement "dVar19 = *(double *)(iVar12 + 0x20 + iVar18);" (assignment_expression "dVar19 = *(double *)(iVar12 + 0x20 + iVar18)" identifier = (pointer_expression "*(double *)(iVar12 + 0x20 + iVar18)" * (cast_expression "(double *)(iVar12 + 0x20 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x20 + iVar18)" ( (binary_expression "iVar12 + 0x20 + iVar18" (binary_expression "iVar12 + 0x20" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;" (assignment_expression "dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1" identifier = (binary_expression "*(double *)(iVar14 + 0x20 + iVar18) - dVar1" (pointer_expression "*(double *)(iVar14 + 0x20 + iVar18)" * (cast_expression "(double *)(iVar14 + 0x20 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20 + iVar18)" ( (binary_expression "iVar14 + 0x20 + iVar18" (binary_expression "iVar14 + 0x20" identifier + number_literal) + identifier) )))) - identifier)) ;) (expression_statement "dVar2 = SQRT(dVar5);" (assignment_expression "dVar2 = SQRT(dVar5)" identifier = (call_expression "SQRT(dVar5)" identifier (argument_list "(dVar5)" ( identifier )))) ;) (if_statement "if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }" if (parenthesized_expression "(dVar5 < 0.0)" ( (binary_expression "dVar5 < 0.0" identifier < number_literal) )) (compound_statement "{\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }" { (expression_statement "sqrt(dVar5);" (call_expression "sqrt(dVar5)" identifier (argument_list "(dVar5)" ( identifier ))) ;) (expression_statement "iVar7 = param_1[7];" (assignment_expression "iVar7 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "iVar14 = param_1[9];" (assignment_expression "iVar14 = param_1[9]" identifier = (subscript_expression "param_1[9]" identifier [ number_literal ])) ;) (expression_statement "dVar2 = *(double *)(iVar7 + 0x20 + iVar18);" (assignment_expression "dVar2 = *(double *)(iVar7 + 0x20 + iVar18)" identifier = (pointer_expression "*(double *)(iVar7 + 0x20 + iVar18)" * (cast_expression "(double *)(iVar7 + 0x20 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20 + iVar18)" ( (binary_expression "iVar7 + 0x20 + iVar18" (binary_expression "iVar7 + 0x20" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;" (assignment_expression "dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2" identifier = (binary_expression "*(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2" (pointer_expression "*(double *)(iVar14 + 0x20 + iVar18)" * (cast_expression "(double *)(iVar14 + 0x20 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20 + iVar18)" ( (binary_expression "iVar14 + 0x20 + iVar18" (binary_expression "iVar14 + 0x20" identifier + number_literal) + identifier) )))) - (binary_expression "dVar2 * dVar2" identifier * identifier))) ;) (expression_statement "dVar2 = SQRT(dVar6);" (assignment_expression "dVar2 = SQRT(dVar6)" identifier = (call_expression "SQRT(dVar6)" identifier (argument_list "(dVar6)" ( identifier )))) ;) (if_statement "if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }" if (parenthesized_expression "(0.0 <= dVar6)" ( (binary_expression "0.0 <= dVar6" number_literal <= identifier) )) (compound_statement "{\n          iVar12 = param_1[3];\n        }" { (expression_statement "iVar12 = param_1[3];" (assignment_expression "iVar12 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) }) (else_clause "else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }" else (compound_statement "{\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }" { (expression_statement "sqrt(dVar6);" (call_expression "sqrt(dVar6)" identifier (argument_list "(dVar6)" ( identifier ))) ;) (expression_statement "iVar7 = param_1[7];" (assignment_expression "iVar7 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "iVar12 = param_1[3];" (assignment_expression "iVar12 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "iVar14 = param_1[9];" (assignment_expression "iVar14 = param_1[9]" identifier = (subscript_expression "param_1[9]" identifier [ number_literal ])) ;) }))) })) (expression_statement "iVar18 = local_38 * 0x50;" (assignment_expression "iVar18 = local_38 * 0x50" identifier = (binary_expression "local_38 * 0x50" identifier * number_literal)) ;) (expression_statement "pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));" (assignment_expression "pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (subscript_expression "pdVar16[8]" identifier [ number_literal ]) = (binary_expression "(dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (parenthesized_expression "(dVar19 - dVar1)" ( (binary_expression "dVar19 - dVar1" identifier - identifier) )) / (parenthesized_expression "(dVar2 * SQRT(dVar5))" ( (binary_expression "dVar2 * SQRT(dVar5)" identifier * (call_expression "SQRT(dVar5)" identifier (argument_list "(dVar5)" ( identifier )))) )))) ;) (expression_statement "dVar1 = *(double *)(iVar7 + 0x28 + iVar18);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x28 + iVar18)" identifier = (pointer_expression "*(double *)(iVar7 + 0x28 + iVar18)" * (cast_expression "(double *)(iVar7 + 0x28 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x28 + iVar18)" ( (binary_expression "iVar7 + 0x28 + iVar18" (binary_expression "iVar7 + 0x28" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar1 = dVar1 * dVar1;" (assignment_expression "dVar1 = dVar1 * dVar1" identifier = (binary_expression "dVar1 * dVar1" identifier * identifier)) ;) (expression_statement "dVar19 = *(double *)(iVar12 + 0x28 + iVar18);" (assignment_expression "dVar19 = *(double *)(iVar12 + 0x28 + iVar18)" identifier = (pointer_expression "*(double *)(iVar12 + 0x28 + iVar18)" * (cast_expression "(double *)(iVar12 + 0x28 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x28 + iVar18)" ( (binary_expression "iVar12 + 0x28 + iVar18" (binary_expression "iVar12 + 0x28" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;" (assignment_expression "dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1" identifier = (binary_expression "*(double *)(iVar14 + 0x28 + iVar18) - dVar1" (pointer_expression "*(double *)(iVar14 + 0x28 + iVar18)" * (cast_expression "(double *)(iVar14 + 0x28 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28 + iVar18)" ( (binary_expression "iVar14 + 0x28 + iVar18" (binary_expression "iVar14 + 0x28" identifier + number_literal) + identifier) )))) - identifier)) ;) (expression_statement "dVar2 = SQRT(dVar5);" (assignment_expression "dVar2 = SQRT(dVar5)" identifier = (call_expression "SQRT(dVar5)" identifier (argument_list "(dVar5)" ( identifier )))) ;) (if_statement "if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }" if (parenthesized_expression "(dVar5 < 0.0)" ( (binary_expression "dVar5 < 0.0" identifier < number_literal) )) (compound_statement "{\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }" { (expression_statement "sqrt(dVar5);" (call_expression "sqrt(dVar5)" identifier (argument_list "(dVar5)" ( identifier ))) ;) (expression_statement "iVar7 = param_1[7];" (assignment_expression "iVar7 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "iVar14 = param_1[9];" (assignment_expression "iVar14 = param_1[9]" identifier = (subscript_expression "param_1[9]" identifier [ number_literal ])) ;) (expression_statement "dVar2 = *(double *)(iVar7 + 0x28 + iVar18);" (assignment_expression "dVar2 = *(double *)(iVar7 + 0x28 + iVar18)" identifier = (pointer_expression "*(double *)(iVar7 + 0x28 + iVar18)" * (cast_expression "(double *)(iVar7 + 0x28 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x28 + iVar18)" ( (binary_expression "iVar7 + 0x28 + iVar18" (binary_expression "iVar7 + 0x28" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;" (assignment_expression "dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2" identifier = (binary_expression "*(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2" (pointer_expression "*(double *)(iVar14 + 0x28 + iVar18)" * (cast_expression "(double *)(iVar14 + 0x28 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28 + iVar18)" ( (binary_expression "iVar14 + 0x28 + iVar18" (binary_expression "iVar14 + 0x28" identifier + number_literal) + identifier) )))) - (binary_expression "dVar2 * dVar2" identifier * identifier))) ;) (expression_statement "dVar2 = SQRT(dVar6);" (assignment_expression "dVar2 = SQRT(dVar6)" identifier = (call_expression "SQRT(dVar6)" identifier (argument_list "(dVar6)" ( identifier )))) ;) (if_statement "if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }" if (parenthesized_expression "(0.0 <= dVar6)" ( (binary_expression "0.0 <= dVar6" number_literal <= identifier) )) (compound_statement "{\n          iVar12 = param_1[3];\n        }" { (expression_statement "iVar12 = param_1[3];" (assignment_expression "iVar12 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) }) (else_clause "else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }" else (compound_statement "{\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }" { (expression_statement "sqrt(dVar6);" (call_expression "sqrt(dVar6)" identifier (argument_list "(dVar6)" ( identifier ))) ;) (expression_statement "iVar7 = param_1[7];" (assignment_expression "iVar7 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "iVar12 = param_1[3];" (assignment_expression "iVar12 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "iVar14 = param_1[9];" (assignment_expression "iVar14 = param_1[9]" identifier = (subscript_expression "param_1[9]" identifier [ number_literal ])) ;) }))) })) (expression_statement "iVar18 = local_38 * 0x50;" (assignment_expression "iVar18 = local_38 * 0x50" identifier = (binary_expression "local_38 * 0x50" identifier * number_literal)) ;) (expression_statement "pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));" (assignment_expression "pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (subscript_expression "pdVar16[0x40]" identifier [ number_literal ]) = (binary_expression "(dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (parenthesized_expression "(dVar19 - dVar1)" ( (binary_expression "dVar19 - dVar1" identifier - identifier) )) / (parenthesized_expression "(dVar2 * SQRT(dVar5))" ( (binary_expression "dVar2 * SQRT(dVar5)" identifier * (call_expression "SQRT(dVar5)" identifier (argument_list "(dVar5)" ( identifier )))) )))) ;) (expression_statement "dVar1 = *(double *)(iVar7 + 0x30 + iVar18);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x30 + iVar18)" identifier = (pointer_expression "*(double *)(iVar7 + 0x30 + iVar18)" * (cast_expression "(double *)(iVar7 + 0x30 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x30 + iVar18)" ( (binary_expression "iVar7 + 0x30 + iVar18" (binary_expression "iVar7 + 0x30" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar1 = dVar1 * dVar1;" (assignment_expression "dVar1 = dVar1 * dVar1" identifier = (binary_expression "dVar1 * dVar1" identifier * identifier)) ;) (expression_statement "dVar19 = *(double *)(iVar12 + 0x30 + iVar18);" (assignment_expression "dVar19 = *(double *)(iVar12 + 0x30 + iVar18)" identifier = (pointer_expression "*(double *)(iVar12 + 0x30 + iVar18)" * (cast_expression "(double *)(iVar12 + 0x30 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x30 + iVar18)" ( (binary_expression "iVar12 + 0x30 + iVar18" (binary_expression "iVar12 + 0x30" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;" (assignment_expression "dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1" identifier = (binary_expression "*(double *)(iVar14 + 0x30 + iVar18) - dVar1" (pointer_expression "*(double *)(iVar14 + 0x30 + iVar18)" * (cast_expression "(double *)(iVar14 + 0x30 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30 + iVar18)" ( (binary_expression "iVar14 + 0x30 + iVar18" (binary_expression "iVar14 + 0x30" identifier + number_literal) + identifier) )))) - identifier)) ;) (expression_statement "dVar2 = SQRT(dVar5);" (assignment_expression "dVar2 = SQRT(dVar5)" identifier = (call_expression "SQRT(dVar5)" identifier (argument_list "(dVar5)" ( identifier )))) ;) (if_statement "if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }" if (parenthesized_expression "(dVar5 < 0.0)" ( (binary_expression "dVar5 < 0.0" identifier < number_literal) )) (compound_statement "{\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }" { (expression_statement "sqrt(dVar5);" (call_expression "sqrt(dVar5)" identifier (argument_list "(dVar5)" ( identifier ))) ;) (expression_statement "dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);" (assignment_expression "dVar2 = *(double *)(param_1[7] + iVar18 + 0x30)" identifier = (pointer_expression "*(double *)(param_1[7] + iVar18 + 0x30)" * (cast_expression "(double *)(param_1[7] + iVar18 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[7] + iVar18 + 0x30)" ( (binary_expression "param_1[7] + iVar18 + 0x30" (binary_expression "param_1[7] + iVar18" (subscript_expression "param_1[7]" identifier [ number_literal ]) + identifier) + number_literal) ))))) ;) (expression_statement "dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;" (assignment_expression "dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2" identifier = (binary_expression "*(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2" (pointer_expression "*(double *)(iVar18 + param_1[9] + 0x30)" * (cast_expression "(double *)(iVar18 + param_1[9] + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + param_1[9] + 0x30)" ( (binary_expression "iVar18 + param_1[9] + 0x30" (binary_expression "iVar18 + param_1[9]" identifier + (subscript_expression "param_1[9]" identifier [ number_literal ])) + number_literal) )))) - (binary_expression "dVar2 * dVar2" identifier * identifier))) ;) (expression_statement "dVar2 = SQRT(dVar6);" (assignment_expression "dVar2 = SQRT(dVar6)" identifier = (call_expression "SQRT(dVar6)" identifier (argument_list "(dVar6)" ( identifier )))) ;) (if_statement "if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }" if (parenthesized_expression "(dVar6 < 0.0)" ( (binary_expression "dVar6 < 0.0" identifier < number_literal) )) (compound_statement "{\n          sqrt(dVar6);\n        }" { (expression_statement "sqrt(dVar6);" (call_expression "sqrt(dVar6)" identifier (argument_list "(dVar6)" ( identifier ))) ;) })) })) (expression_statement "iVar7 = *(int *)(iVar4 + 4);" (assignment_expression "iVar7 = *(int *)(iVar4 + 4)" identifier = (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));" (assignment_expression "pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (subscript_expression "pdVar16[0x78]" identifier [ number_literal ]) = (binary_expression "(dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (parenthesized_expression "(dVar19 - dVar1)" ( (binary_expression "dVar19 - dVar1" identifier - identifier) )) / (parenthesized_expression "(dVar2 * SQRT(dVar5))" ( (binary_expression "dVar2 * SQRT(dVar5)" identifier * (call_expression "SQRT(dVar5)" identifier (argument_list "(dVar5)" ( identifier )))) )))) ;) (if_statement "if (iVar7 == 2) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }" if (parenthesized_expression "(iVar7 == 2)" ( (binary_expression "iVar7 == 2" identifier == number_literal) )) (compound_statement "{\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }" { (expression_statement "iVar7 = local_38 * 0x50;" (assignment_expression "iVar7 = local_38 * 0x50" identifier = (binary_expression "local_38 * 0x50" identifier * number_literal)) ;) (expression_statement "dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);" (assignment_expression "dVar1 = *(double *)(param_1[7] + iVar7 + 0x38)" identifier = (pointer_expression "*(double *)(param_1[7] + iVar7 + 0x38)" * (cast_expression "(double *)(param_1[7] + iVar7 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[7] + iVar7 + 0x38)" ( (binary_expression "param_1[7] + iVar7 + 0x38" (binary_expression "param_1[7] + iVar7" (subscript_expression "param_1[7]" identifier [ number_literal ]) + identifier) + number_literal) ))))) ;) (expression_statement "dVar1 = dVar1 * dVar1;" (assignment_expression "dVar1 = dVar1 * dVar1" identifier = (binary_expression "dVar1 * dVar1" identifier * identifier)) ;) (expression_statement "dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);" (assignment_expression "dVar19 = *(double *)(param_1[3] + iVar7 + 0x38)" identifier = (pointer_expression "*(double *)(param_1[3] + iVar7 + 0x38)" * (cast_expression "(double *)(param_1[3] + iVar7 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[3] + iVar7 + 0x38)" ( (binary_expression "param_1[3] + iVar7 + 0x38" (binary_expression "param_1[3] + iVar7" (subscript_expression "param_1[3]" identifier [ number_literal ]) + identifier) + number_literal) ))))) ;) (expression_statement "dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;" (assignment_expression "dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1" identifier = (binary_expression "*(double *)(param_1[9] + iVar7 + 0x38) - dVar1" (pointer_expression "*(double *)(param_1[9] + iVar7 + 0x38)" * (cast_expression "(double *)(param_1[9] + iVar7 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[9] + iVar7 + 0x38)" ( (binary_expression "param_1[9] + iVar7 + 0x38" (binary_expression "param_1[9] + iVar7" (subscript_expression "param_1[9]" identifier [ number_literal ]) + identifier) + number_literal) )))) - identifier)) ;) (expression_statement "dVar2 = SQRT(dVar5);" (assignment_expression "dVar2 = SQRT(dVar5)" identifier = (call_expression "SQRT(dVar5)" identifier (argument_list "(dVar5)" ( identifier )))) ;) (if_statement "if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }" if (parenthesized_expression "(dVar5 < 0.0)" ( (binary_expression "dVar5 < 0.0" identifier < number_literal) )) (compound_statement "{\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }" { (expression_statement "sqrt(dVar5);" (call_expression "sqrt(dVar5)" identifier (argument_list "(dVar5)" ( identifier ))) ;) (expression_statement "dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);" (assignment_expression "dVar2 = *(double *)(param_1[7] + iVar7 + 0x38)" identifier = (pointer_expression "*(double *)(param_1[7] + iVar7 + 0x38)" * (cast_expression "(double *)(param_1[7] + iVar7 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[7] + iVar7 + 0x38)" ( (binary_expression "param_1[7] + iVar7 + 0x38" (binary_expression "param_1[7] + iVar7" (subscript_expression "param_1[7]" identifier [ number_literal ]) + identifier) + number_literal) ))))) ;) (expression_statement "dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;" (assignment_expression "dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2" identifier = (binary_expression "*(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2" (pointer_expression "*(double *)(iVar7 + param_1[9] + 0x38)" * (cast_expression "(double *)(iVar7 + param_1[9] + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + param_1[9] + 0x38)" ( (binary_expression "iVar7 + param_1[9] + 0x38" (binary_expression "iVar7 + param_1[9]" identifier + (subscript_expression "param_1[9]" identifier [ number_literal ])) + number_literal) )))) - (binary_expression "dVar2 * dVar2" identifier * identifier))) ;) (expression_statement "dVar2 = SQRT(dVar6);" (assignment_expression "dVar2 = SQRT(dVar6)" identifier = (call_expression "SQRT(dVar6)" identifier (argument_list "(dVar6)" ( identifier )))) ;) (if_statement "if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }" if (parenthesized_expression "(dVar6 < 0.0)" ( (binary_expression "dVar6 < 0.0" identifier < number_literal) )) (compound_statement "{\n            sqrt(dVar6);\n          }" { (expression_statement "sqrt(dVar6);" (call_expression "sqrt(dVar6)" identifier (argument_list "(dVar6)" ( identifier ))) ;) })) })) (expression_statement "pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));" (assignment_expression "pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (subscript_expression "pdVar16[0xb0]" identifier [ number_literal ]) = (binary_expression "(dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (parenthesized_expression "(dVar19 - dVar1)" ( (binary_expression "dVar19 - dVar1" identifier - identifier) )) / (parenthesized_expression "(dVar2 * SQRT(dVar5))" ( (binary_expression "dVar2 * SQRT(dVar5)" identifier * (call_expression "SQRT(dVar5)" identifier (argument_list "(dVar5)" ( identifier )))) )))) ;) })) (if_statement "if (*(int *)(iVar4 + 0x294) != 0) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }" if (parenthesized_expression "(*(int *)(iVar4 + 0x294) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x294) != 0" (pointer_expression "*(int *)(iVar4 + 0x294)" * (cast_expression "(int *)(iVar4 + 0x294)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x294)" ( (binary_expression "iVar4 + 0x294" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }" { (expression_statement "iVar7 = local_38 * 0x50;" (assignment_expression "iVar7 = local_38 * 0x50" identifier = (binary_expression "local_38 * 0x50" identifier * number_literal)) ;) (expression_statement "dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);" (assignment_expression "dVar1 = *(double *)(param_1[7] + iVar7 + 0x40)" identifier = (pointer_expression "*(double *)(param_1[7] + iVar7 + 0x40)" * (cast_expression "(double *)(param_1[7] + iVar7 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[7] + iVar7 + 0x40)" ( (binary_expression "param_1[7] + iVar7 + 0x40" (binary_expression "param_1[7] + iVar7" (subscript_expression "param_1[7]" identifier [ number_literal ]) + identifier) + number_literal) ))))) ;) (expression_statement "dVar1 = dVar1 * dVar1;" (assignment_expression "dVar1 = dVar1 * dVar1" identifier = (binary_expression "dVar1 * dVar1" identifier * identifier)) ;) (expression_statement "dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);" (assignment_expression "dVar19 = *(double *)(param_1[3] + iVar7 + 0x40)" identifier = (pointer_expression "*(double *)(param_1[3] + iVar7 + 0x40)" * (cast_expression "(double *)(param_1[3] + iVar7 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[3] + iVar7 + 0x40)" ( (binary_expression "param_1[3] + iVar7 + 0x40" (binary_expression "param_1[3] + iVar7" (subscript_expression "param_1[3]" identifier [ number_literal ]) + identifier) + number_literal) ))))) ;) (expression_statement "dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;" (assignment_expression "dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1" identifier = (binary_expression "*(double *)(param_1[9] + iVar7 + 0x40) - dVar1" (pointer_expression "*(double *)(param_1[9] + iVar7 + 0x40)" * (cast_expression "(double *)(param_1[9] + iVar7 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[9] + iVar7 + 0x40)" ( (binary_expression "param_1[9] + iVar7 + 0x40" (binary_expression "param_1[9] + iVar7" (subscript_expression "param_1[9]" identifier [ number_literal ]) + identifier) + number_literal) )))) - identifier)) ;) (expression_statement "dVar2 = SQRT(dVar5);" (assignment_expression "dVar2 = SQRT(dVar5)" identifier = (call_expression "SQRT(dVar5)" identifier (argument_list "(dVar5)" ( identifier )))) ;) (if_statement "if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }" if (parenthesized_expression "(dVar5 < 0.0)" ( (binary_expression "dVar5 < 0.0" identifier < number_literal) )) (compound_statement "{\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }" { (expression_statement "sqrt(dVar5);" (call_expression "sqrt(dVar5)" identifier (argument_list "(dVar5)" ( identifier ))) ;) (expression_statement "dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);" (assignment_expression "dVar2 = *(double *)(param_1[7] + iVar7 + 0x40)" identifier = (pointer_expression "*(double *)(param_1[7] + iVar7 + 0x40)" * (cast_expression "(double *)(param_1[7] + iVar7 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[7] + iVar7 + 0x40)" ( (binary_expression "param_1[7] + iVar7 + 0x40" (binary_expression "param_1[7] + iVar7" (subscript_expression "param_1[7]" identifier [ number_literal ]) + identifier) + number_literal) ))))) ;) (expression_statement "dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;" (assignment_expression "dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2" identifier = (binary_expression "*(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2" (pointer_expression "*(double *)(iVar7 + param_1[9] + 0x40)" * (cast_expression "(double *)(iVar7 + param_1[9] + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + param_1[9] + 0x40)" ( (binary_expression "iVar7 + param_1[9] + 0x40" (binary_expression "iVar7 + param_1[9]" identifier + (subscript_expression "param_1[9]" identifier [ number_literal ])) + number_literal) )))) - (binary_expression "dVar2 * dVar2" identifier * identifier))) ;) (expression_statement "dVar2 = SQRT(dVar6);" (assignment_expression "dVar2 = SQRT(dVar6)" identifier = (call_expression "SQRT(dVar6)" identifier (argument_list "(dVar6)" ( identifier )))) ;) (if_statement "if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }" if (parenthesized_expression "(dVar6 < 0.0)" ( (binary_expression "dVar6 < 0.0" identifier < number_literal) )) (compound_statement "{\n            sqrt(dVar6);\n          }" { (expression_statement "sqrt(dVar6);" (call_expression "sqrt(dVar6)" identifier (argument_list "(dVar6)" ( identifier ))) ;) })) })) (expression_statement "pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));" (assignment_expression "pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (subscript_expression "pdVar16[0xe8]" identifier [ number_literal ]) = (binary_expression "(dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (parenthesized_expression "(dVar19 - dVar1)" ( (binary_expression "dVar19 - dVar1" identifier - identifier) )) / (parenthesized_expression "(dVar2 * SQRT(dVar5))" ( (binary_expression "dVar2 * SQRT(dVar5)" identifier * (call_expression "SQRT(dVar5)" identifier (argument_list "(dVar5)" ( identifier )))) )))) ;) })) (expression_statement "local_38 = local_38 + 1;" (assignment_expression "local_38 = local_38 + 1" identifier = (binary_expression "local_38 + 1" identifier + number_literal)) ;) (expression_statement "pdVar16 = pdVar16 + 1;" (assignment_expression "pdVar16 = pdVar16 + 1" identifier = (binary_expression "pdVar16 + 1" identifier + number_literal)) ;) (expression_statement "local_34 = local_34 + 10;" (assignment_expression "local_34 = local_34 + 10" identifier = (binary_expression "local_34 + 10" identifier + number_literal)) ;) (expression_statement "local_24 = local_24 + 10;" (assignment_expression "local_24 = local_24 + 10" identifier = (binary_expression "local_24 + 10" identifier + number_literal)) ;) (expression_statement "local_28 = local_28 + 10;" (assignment_expression "local_28 = local_28 + 10" identifier = (binary_expression "local_28 + 10" identifier + number_literal)) ;) (expression_statement "local_2c = local_2c + 10;" (assignment_expression "local_2c = local_2c + 10" identifier = (binary_expression "local_2c + 10" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar9 != local_38)" ( (binary_expression "iVar9 != local_38" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n/* DWARF original prototype: void GetImageFeatures._omp_fn.3(anon_struct_44_11_6a408822 * param_0)\n    */\n\nvoid __thiscall GetImageFeatures__omp_fn_3(anon_struct_44_11_6a408822 *this)\n\n{\n  double dVar1;\n  double dVar2;\n  uint uVar3;\n  ChannelStatistics **ppCVar4;\n  Image *pIVar5;\n  ColorspaceType CVar6;\n  PixelTrait PVar7;\n  double dVar8;\n  double dVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  ChannelStatistics *pCVar13;\n  ChannelStatistics *pCVar14;\n  ChannelStatistics *pCVar15;\n  PixelTrait PVar16;\n  double *pdVar17;\n  MagickRealType *pMVar18;\n  double dVar19;\n  uint local_74;\n  ChannelStatistics **local_6c;\n  MagickRealType *local_64;\n  MagickRealType *local_60;\n  int local_58;\n  uint local_50;\n  MagickRealType *local_4c;\n  MagickRealType *local_3c;\n  int local_38;\n  MagickRealType *local_34;\n  MagickRealType *local_2c;\n  MagickRealType *local_28;\n  MagickRealType *local_24;\n  \n  iVar10 = omp_get_num_threads();\n  iVar11 = omp_get_thread_num();\n  iVar12 = (int)(4 / (longlong)iVar10);\n  local_38 = (int)(4 % (longlong)iVar10);\n  if (iVar11 < local_38) {\n    iVar12 = iVar12 + 1;\n    local_38 = 0;\n  }\n  local_38 = iVar11 * iVar12 + local_38;\n  iVar12 = iVar12 + local_38;\n  if (local_38 < iVar12) {\n    uVar3 = this->number_grays;\n    ppCVar4 = this->cooccurrence;\n    pIVar5 = this->image;\n    pdVar17 = this->channel_features->angular_second_moment + local_38;\n    local_34 = &this->density_x->direction[local_38].red;\n    local_24 = &this->sum->direction[local_38].red;\n    local_28 = &this->density_y->direction[local_38].red;\n    local_2c = &this->density_xy[2].direction[local_38].red;\n    do {\n      if ((int)uVar3 < 1) {\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n      }\n      else {\n        local_50 = 0;\n        CVar6 = pIVar5->colorspace;\n        PVar7 = pIVar5->alpha_trait;\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          local_64 = local_3c;\n          pMVar18 = local_34;\n          local_6c = ppCVar4;\n          do {\n            pCVar13 = *local_6c + local_50;\n            dVar1 = pCVar13->direction[local_38].red;\n            *pdVar17 = dVar1 * dVar1 + *pdVar17;\n            dVar19 = pCVar13->direction[local_38].green;\n            pdVar17[0x38] = dVar19 * dVar19 + pdVar17[0x38];\n            dVar19 = pCVar13->direction[local_38].blue;\n            pdVar17[0x70] = dVar19 * dVar19 + pdVar17[0x70];\n            if (CVar6 == CMYKColorspace) {\n              dVar19 = pCVar13->direction[local_38].black;\n              pdVar17[0xa8] = dVar19 * dVar19 + pdVar17[0xa8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              dVar19 = pCVar13->direction[local_38].alpha;\n              pdVar17[0xe0] = dVar19 * dVar19 + pdVar17[0xe0];\n            }\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + pCVar13->direction[local_38].green;\n            local_60[2] = local_60[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_60[3] = local_60[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_60[4] = local_60[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = (double)local_58;\n            pCVar15 = this->correlation;\n            pCVar15->direction[local_38].red =\n                 pCVar13->direction[local_38].red * dVar1 + pCVar15->direction[local_38].red;\n            pCVar15->direction[local_38].green =\n                 pCVar13->direction[local_38].green * dVar1 + pCVar15->direction[local_38].green;\n            pCVar15->direction[local_38].blue =\n                 pCVar13->direction[local_38].blue * dVar1 + pCVar15->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              pCVar15->direction[local_38].black =\n                   pCVar13->direction[local_38].black * dVar1 + pCVar15->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pCVar15->direction[local_38].alpha =\n                   dVar1 * pCVar13->direction[local_38].alpha + pCVar15->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = (double)(int)(local_74 * local_74 + 1);\n            pdVar17[0x10] = dVar1 / dVar19 + pdVar17[0x10];\n            pdVar17[0x48] = pCVar13->direction[local_38].green / dVar19 + pdVar17[0x48];\n            pdVar17[0x80] = pCVar13->direction[local_38].blue / dVar19 + pdVar17[0x80];\n            if (CVar6 == CMYKColorspace) {\n              pdVar17[0xb8] = pCVar13->direction[local_38].black / dVar19 + pdVar17[0xb8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pdVar17[0xf0] = pCVar13->direction[local_38].alpha / dVar19 + pdVar17[0xf0];\n            }\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + pCVar13->direction[local_38].green;\n            local_64[2] = local_64[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_64[3] = local_64[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_64[4] = local_64[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x20] = pdVar17[0x20] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].green;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x58] = pdVar17[0x58] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].blue;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            CVar6 = pIVar5->colorspace;\n            pdVar17[0x90] = pdVar17[0x90] - dVar19 * dVar1;\n            if (CVar6 == CMYKColorspace) {\n              dVar1 = pCVar13->direction[local_38].black;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[200] = pdVar17[200] - dVar19 * dVar1;\n            }\n            PVar16 = pIVar5->alpha_trait;\n            if (PVar16 != UndefinedPixelTrait) {\n              dVar1 = pCVar13->direction[local_38].alpha;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n                PVar16 = pIVar5->alpha_trait;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[0x100] = pdVar17[0x100] - dVar19 * dVar1;\n            }\n            *pMVar18 = *pMVar18 + pCVar13->direction[local_38].red;\n            pMVar18[1] = pMVar18[1] + pCVar13->direction[local_38].green;\n            pMVar18[2] = pMVar18[2] + pCVar13->direction[local_38].blue;\n            if (PVar16 != UndefinedPixelTrait) {\n              pMVar18[4] = pMVar18[4] + pCVar13->direction[local_38].alpha;\n            }\n            if (pIVar5->colorspace == CMYKColorspace) {\n              pMVar18[3] = pMVar18[3] + pCVar13->direction[local_38].black;\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n              local_4c[3] = local_4c[3] + pCVar13->direction[local_38].black;\n            }\n            else {\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n            }\n            if (PVar16 == UndefinedPixelTrait) {\n              PVar7 = UndefinedPixelTrait;\n              CVar6 = pIVar5->colorspace;\n            }\n            else {\n              CVar6 = pIVar5->colorspace;\n              local_4c[4] = local_4c[4] + pCVar13->direction[local_38].alpha;\n              PVar7 = PVar16;\n            }\n            local_74 = local_74 - 1;\n            pMVar18 = pMVar18 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - uVar3 != local_74);\n          dVar1 = (double)(int)local_50;\n          pCVar13 = this->mean;\n          pCVar15 = this->sum_squares;\n          pCVar13->direction[local_38].red = *local_60 * dVar1 + pCVar13->direction[local_38].red;\n          dVar19 = (double)(int)(local_50 * local_50);\n          pCVar15->direction[local_38].red = *local_60 * dVar19 + pCVar15->direction[local_38].red;\n          pCVar13->direction[local_38].green =\n               local_60[1] * dVar1 + pCVar13->direction[local_38].green;\n          pCVar15->direction[local_38].green =\n               local_60[1] * dVar19 + pCVar15->direction[local_38].green;\n          pCVar13->direction[local_38].blue =\n               local_60[2] * dVar1 + pCVar13->direction[local_38].blue;\n          pCVar15->direction[local_38].blue =\n               local_60[2] * dVar19 + pCVar15->direction[local_38].blue;\n          if (CVar6 == CMYKColorspace) {\n            pCVar13->direction[local_38].black =\n                 local_60[3] * dVar1 + pCVar13->direction[local_38].black;\n            pCVar15->direction[local_38].black =\n                 local_60[3] * dVar19 + pCVar15->direction[local_38].black;\n          }\n          if (PVar16 != UndefinedPixelTrait) {\n            pCVar13->direction[local_38].alpha =\n                 dVar1 * local_60[4] + pCVar13->direction[local_38].alpha;\n            pCVar15->direction[local_38].alpha =\n                 dVar19 * local_60[4] + pCVar15->direction[local_38].alpha;\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != uVar3);\n      }\n      pCVar14 = this->correlation;\n      dVar1 = pCVar13->direction[local_38].red;\n      dVar1 = dVar1 * dVar1;\n      dVar19 = pCVar14->direction[local_38].red;\n      dVar8 = pCVar15->direction[local_38].red - dVar1;\n      dVar2 = SQRT(dVar8);\n      if (dVar8 < 0.0) {\n        sqrt(dVar8);\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n        dVar2 = pCVar13->direction[local_38].red;\n        dVar9 = pCVar15->direction[local_38].red - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (0.0 <= dVar9) {\n          pCVar14 = this->correlation;\n        }\n        else {\n          sqrt(dVar9);\n          pCVar13 = this->mean;\n          pCVar14 = this->correlation;\n          pCVar15 = this->sum_squares;\n        }\n      }\n      pdVar17[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      dVar1 = pCVar13->direction[local_38].green;\n      dVar1 = dVar1 * dVar1;\n      dVar19 = pCVar14->direction[local_38].green;\n      dVar8 = pCVar15->direction[local_38].green - dVar1;\n      dVar2 = SQRT(dVar8);\n      if (dVar8 < 0.0) {\n        sqrt(dVar8);\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n        dVar2 = pCVar13->direction[local_38].green;\n        dVar9 = pCVar15->direction[local_38].green - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (0.0 <= dVar9) {\n          pCVar14 = this->correlation;\n        }\n        else {\n          sqrt(dVar9);\n          pCVar13 = this->mean;\n          pCVar14 = this->correlation;\n          pCVar15 = this->sum_squares;\n        }\n      }\n      pdVar17[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      dVar1 = pCVar13->direction[local_38].blue;\n      dVar1 = dVar1 * dVar1;\n      dVar19 = pCVar14->direction[local_38].blue;\n      dVar8 = pCVar15->direction[local_38].blue - dVar1;\n      dVar2 = SQRT(dVar8);\n      if (dVar8 < 0.0) {\n        sqrt(dVar8);\n        dVar2 = this->mean->direction[local_38].blue;\n        dVar9 = this->sum_squares->direction[local_38].blue - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (dVar9 < 0.0) {\n          sqrt(dVar9);\n        }\n      }\n      CVar6 = pIVar5->colorspace;\n      pdVar17[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      if (CVar6 == CMYKColorspace) {\n        dVar1 = this->mean->direction[local_38].black;\n        dVar1 = dVar1 * dVar1;\n        dVar19 = this->correlation->direction[local_38].black;\n        dVar8 = this->sum_squares->direction[local_38].black - dVar1;\n        dVar2 = SQRT(dVar8);\n        if (dVar8 < 0.0) {\n          sqrt(dVar8);\n          dVar2 = this->mean->direction[local_38].black;\n          dVar9 = this->sum_squares->direction[local_38].black - dVar2 * dVar2;\n          dVar2 = SQRT(dVar9);\n          if (dVar9 < 0.0) {\n            sqrt(dVar9);\n          }\n        }\n        pdVar17[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      }\n      if (pIVar5->alpha_trait != UndefinedPixelTrait) {\n        dVar1 = this->mean->direction[local_38].alpha;\n        dVar1 = dVar1 * dVar1;\n        dVar19 = this->correlation->direction[local_38].alpha;\n        dVar8 = this->sum_squares->direction[local_38].alpha - dVar1;\n        dVar2 = SQRT(dVar8);\n        if (dVar8 < 0.0) {\n          sqrt(dVar8);\n          dVar2 = this->mean->direction[local_38].alpha;\n          dVar9 = this->sum_squares->direction[local_38].alpha - dVar2 * dVar2;\n          dVar2 = SQRT(dVar9);\n          if (dVar9 < 0.0) {\n            sqrt(dVar9);\n          }\n        }\n        pdVar17[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      }\n      local_38 = local_38 + 1;\n      pdVar17 = pdVar17 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    } while (iVar12 != local_38);\n  }\n  return;\n}\n\n" comment comment comment comment comment comment (function_definition "void __thiscall GetImageFeatures__omp_fn_3(anon_struct_44_11_6a408822 *this)\n\n{\n  double dVar1;\n  double dVar2;\n  uint uVar3;\n  ChannelStatistics **ppCVar4;\n  Image *pIVar5;\n  ColorspaceType CVar6;\n  PixelTrait PVar7;\n  double dVar8;\n  double dVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  ChannelStatistics *pCVar13;\n  ChannelStatistics *pCVar14;\n  ChannelStatistics *pCVar15;\n  PixelTrait PVar16;\n  double *pdVar17;\n  MagickRealType *pMVar18;\n  double dVar19;\n  uint local_74;\n  ChannelStatistics **local_6c;\n  MagickRealType *local_64;\n  MagickRealType *local_60;\n  int local_58;\n  uint local_50;\n  MagickRealType *local_4c;\n  MagickRealType *local_3c;\n  int local_38;\n  MagickRealType *local_34;\n  MagickRealType *local_2c;\n  MagickRealType *local_28;\n  MagickRealType *local_24;\n  \n  iVar10 = omp_get_num_threads();\n  iVar11 = omp_get_thread_num();\n  iVar12 = (int)(4 / (longlong)iVar10);\n  local_38 = (int)(4 % (longlong)iVar10);\n  if (iVar11 < local_38) {\n    iVar12 = iVar12 + 1;\n    local_38 = 0;\n  }\n  local_38 = iVar11 * iVar12 + local_38;\n  iVar12 = iVar12 + local_38;\n  if (local_38 < iVar12) {\n    uVar3 = this->number_grays;\n    ppCVar4 = this->cooccurrence;\n    pIVar5 = this->image;\n    pdVar17 = this->channel_features->angular_second_moment + local_38;\n    local_34 = &this->density_x->direction[local_38].red;\n    local_24 = &this->sum->direction[local_38].red;\n    local_28 = &this->density_y->direction[local_38].red;\n    local_2c = &this->density_xy[2].direction[local_38].red;\n    do {\n      if ((int)uVar3 < 1) {\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n      }\n      else {\n        local_50 = 0;\n        CVar6 = pIVar5->colorspace;\n        PVar7 = pIVar5->alpha_trait;\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          local_64 = local_3c;\n          pMVar18 = local_34;\n          local_6c = ppCVar4;\n          do {\n            pCVar13 = *local_6c + local_50;\n            dVar1 = pCVar13->direction[local_38].red;\n            *pdVar17 = dVar1 * dVar1 + *pdVar17;\n            dVar19 = pCVar13->direction[local_38].green;\n            pdVar17[0x38] = dVar19 * dVar19 + pdVar17[0x38];\n            dVar19 = pCVar13->direction[local_38].blue;\n            pdVar17[0x70] = dVar19 * dVar19 + pdVar17[0x70];\n            if (CVar6 == CMYKColorspace) {\n              dVar19 = pCVar13->direction[local_38].black;\n              pdVar17[0xa8] = dVar19 * dVar19 + pdVar17[0xa8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              dVar19 = pCVar13->direction[local_38].alpha;\n              pdVar17[0xe0] = dVar19 * dVar19 + pdVar17[0xe0];\n            }\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + pCVar13->direction[local_38].green;\n            local_60[2] = local_60[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_60[3] = local_60[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_60[4] = local_60[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = (double)local_58;\n            pCVar15 = this->correlation;\n            pCVar15->direction[local_38].red =\n                 pCVar13->direction[local_38].red * dVar1 + pCVar15->direction[local_38].red;\n            pCVar15->direction[local_38].green =\n                 pCVar13->direction[local_38].green * dVar1 + pCVar15->direction[local_38].green;\n            pCVar15->direction[local_38].blue =\n                 pCVar13->direction[local_38].blue * dVar1 + pCVar15->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              pCVar15->direction[local_38].black =\n                   pCVar13->direction[local_38].black * dVar1 + pCVar15->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pCVar15->direction[local_38].alpha =\n                   dVar1 * pCVar13->direction[local_38].alpha + pCVar15->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = (double)(int)(local_74 * local_74 + 1);\n            pdVar17[0x10] = dVar1 / dVar19 + pdVar17[0x10];\n            pdVar17[0x48] = pCVar13->direction[local_38].green / dVar19 + pdVar17[0x48];\n            pdVar17[0x80] = pCVar13->direction[local_38].blue / dVar19 + pdVar17[0x80];\n            if (CVar6 == CMYKColorspace) {\n              pdVar17[0xb8] = pCVar13->direction[local_38].black / dVar19 + pdVar17[0xb8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pdVar17[0xf0] = pCVar13->direction[local_38].alpha / dVar19 + pdVar17[0xf0];\n            }\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + pCVar13->direction[local_38].green;\n            local_64[2] = local_64[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_64[3] = local_64[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_64[4] = local_64[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x20] = pdVar17[0x20] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].green;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x58] = pdVar17[0x58] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].blue;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            CVar6 = pIVar5->colorspace;\n            pdVar17[0x90] = pdVar17[0x90] - dVar19 * dVar1;\n            if (CVar6 == CMYKColorspace) {\n              dVar1 = pCVar13->direction[local_38].black;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[200] = pdVar17[200] - dVar19 * dVar1;\n            }\n            PVar16 = pIVar5->alpha_trait;\n            if (PVar16 != UndefinedPixelTrait) {\n              dVar1 = pCVar13->direction[local_38].alpha;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n                PVar16 = pIVar5->alpha_trait;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[0x100] = pdVar17[0x100] - dVar19 * dVar1;\n            }\n            *pMVar18 = *pMVar18 + pCVar13->direction[local_38].red;\n            pMVar18[1] = pMVar18[1] + pCVar13->direction[local_38].green;\n            pMVar18[2] = pMVar18[2] + pCVar13->direction[local_38].blue;\n            if (PVar16 != UndefinedPixelTrait) {\n              pMVar18[4] = pMVar18[4] + pCVar13->direction[local_38].alpha;\n            }\n            if (pIVar5->colorspace == CMYKColorspace) {\n              pMVar18[3] = pMVar18[3] + pCVar13->direction[local_38].black;\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n              local_4c[3] = local_4c[3] + pCVar13->direction[local_38].black;\n            }\n            else {\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n            }\n            if (PVar16 == UndefinedPixelTrait) {\n              PVar7 = UndefinedPixelTrait;\n              CVar6 = pIVar5->colorspace;\n            }\n            else {\n              CVar6 = pIVar5->colorspace;\n              local_4c[4] = local_4c[4] + pCVar13->direction[local_38].alpha;\n              PVar7 = PVar16;\n            }\n            local_74 = local_74 - 1;\n            pMVar18 = pMVar18 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - uVar3 != local_74);\n          dVar1 = (double)(int)local_50;\n          pCVar13 = this->mean;\n          pCVar15 = this->sum_squares;\n          pCVar13->direction[local_38].red = *local_60 * dVar1 + pCVar13->direction[local_38].red;\n          dVar19 = (double)(int)(local_50 * local_50);\n          pCVar15->direction[local_38].red = *local_60 * dVar19 + pCVar15->direction[local_38].red;\n          pCVar13->direction[local_38].green =\n               local_60[1] * dVar1 + pCVar13->direction[local_38].green;\n          pCVar15->direction[local_38].green =\n               local_60[1] * dVar19 + pCVar15->direction[local_38].green;\n          pCVar13->direction[local_38].blue =\n               local_60[2] * dVar1 + pCVar13->direction[local_38].blue;\n          pCVar15->direction[local_38].blue =\n               local_60[2] * dVar19 + pCVar15->direction[local_38].blue;\n          if (CVar6 == CMYKColorspace) {\n            pCVar13->direction[local_38].black =\n                 local_60[3] * dVar1 + pCVar13->direction[local_38].black;\n            pCVar15->direction[local_38].black =\n                 local_60[3] * dVar19 + pCVar15->direction[local_38].black;\n          }\n          if (PVar16 != UndefinedPixelTrait) {\n            pCVar13->direction[local_38].alpha =\n                 dVar1 * local_60[4] + pCVar13->direction[local_38].alpha;\n            pCVar15->direction[local_38].alpha =\n                 dVar19 * local_60[4] + pCVar15->direction[local_38].alpha;\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != uVar3);\n      }\n      pCVar14 = this->correlation;\n      dVar1 = pCVar13->direction[local_38].red;\n      dVar1 = dVar1 * dVar1;\n      dVar19 = pCVar14->direction[local_38].red;\n      dVar8 = pCVar15->direction[local_38].red - dVar1;\n      dVar2 = SQRT(dVar8);\n      if (dVar8 < 0.0) {\n        sqrt(dVar8);\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n        dVar2 = pCVar13->direction[local_38].red;\n        dVar9 = pCVar15->direction[local_38].red - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (0.0 <= dVar9) {\n          pCVar14 = this->correlation;\n        }\n        else {\n          sqrt(dVar9);\n          pCVar13 = this->mean;\n          pCVar14 = this->correlation;\n          pCVar15 = this->sum_squares;\n        }\n      }\n      pdVar17[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      dVar1 = pCVar13->direction[local_38].green;\n      dVar1 = dVar1 * dVar1;\n      dVar19 = pCVar14->direction[local_38].green;\n      dVar8 = pCVar15->direction[local_38].green - dVar1;\n      dVar2 = SQRT(dVar8);\n      if (dVar8 < 0.0) {\n        sqrt(dVar8);\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n        dVar2 = pCVar13->direction[local_38].green;\n        dVar9 = pCVar15->direction[local_38].green - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (0.0 <= dVar9) {\n          pCVar14 = this->correlation;\n        }\n        else {\n          sqrt(dVar9);\n          pCVar13 = this->mean;\n          pCVar14 = this->correlation;\n          pCVar15 = this->sum_squares;\n        }\n      }\n      pdVar17[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      dVar1 = pCVar13->direction[local_38].blue;\n      dVar1 = dVar1 * dVar1;\n      dVar19 = pCVar14->direction[local_38].blue;\n      dVar8 = pCVar15->direction[local_38].blue - dVar1;\n      dVar2 = SQRT(dVar8);\n      if (dVar8 < 0.0) {\n        sqrt(dVar8);\n        dVar2 = this->mean->direction[local_38].blue;\n        dVar9 = this->sum_squares->direction[local_38].blue - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (dVar9 < 0.0) {\n          sqrt(dVar9);\n        }\n      }\n      CVar6 = pIVar5->colorspace;\n      pdVar17[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      if (CVar6 == CMYKColorspace) {\n        dVar1 = this->mean->direction[local_38].black;\n        dVar1 = dVar1 * dVar1;\n        dVar19 = this->correlation->direction[local_38].black;\n        dVar8 = this->sum_squares->direction[local_38].black - dVar1;\n        dVar2 = SQRT(dVar8);\n        if (dVar8 < 0.0) {\n          sqrt(dVar8);\n          dVar2 = this->mean->direction[local_38].black;\n          dVar9 = this->sum_squares->direction[local_38].black - dVar2 * dVar2;\n          dVar2 = SQRT(dVar9);\n          if (dVar9 < 0.0) {\n            sqrt(dVar9);\n          }\n        }\n        pdVar17[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      }\n      if (pIVar5->alpha_trait != UndefinedPixelTrait) {\n        dVar1 = this->mean->direction[local_38].alpha;\n        dVar1 = dVar1 * dVar1;\n        dVar19 = this->correlation->direction[local_38].alpha;\n        dVar8 = this->sum_squares->direction[local_38].alpha - dVar1;\n        dVar2 = SQRT(dVar8);\n        if (dVar8 < 0.0) {\n          sqrt(dVar8);\n          dVar2 = this->mean->direction[local_38].alpha;\n          dVar9 = this->sum_squares->direction[local_38].alpha - dVar2 * dVar2;\n          dVar2 = SQRT(dVar9);\n          if (dVar9 < 0.0) {\n            sqrt(dVar9);\n          }\n        }\n        pdVar17[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      }\n      local_38 = local_38 + 1;\n      pdVar17 = pdVar17 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    } while (iVar12 != local_38);\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (function_declarator "GetImageFeatures__omp_fn_3(anon_struct_44_11_6a408822 *this)" identifier (parameter_list "(anon_struct_44_11_6a408822 *this)" ( (parameter_declaration "anon_struct_44_11_6a408822 *this" type_identifier (pointer_declarator "*this" * identifier)) ))) (compound_statement "{\n  double dVar1;\n  double dVar2;\n  uint uVar3;\n  ChannelStatistics **ppCVar4;\n  Image *pIVar5;\n  ColorspaceType CVar6;\n  PixelTrait PVar7;\n  double dVar8;\n  double dVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  ChannelStatistics *pCVar13;\n  ChannelStatistics *pCVar14;\n  ChannelStatistics *pCVar15;\n  PixelTrait PVar16;\n  double *pdVar17;\n  MagickRealType *pMVar18;\n  double dVar19;\n  uint local_74;\n  ChannelStatistics **local_6c;\n  MagickRealType *local_64;\n  MagickRealType *local_60;\n  int local_58;\n  uint local_50;\n  MagickRealType *local_4c;\n  MagickRealType *local_3c;\n  int local_38;\n  MagickRealType *local_34;\n  MagickRealType *local_2c;\n  MagickRealType *local_28;\n  MagickRealType *local_24;\n  \n  iVar10 = omp_get_num_threads();\n  iVar11 = omp_get_thread_num();\n  iVar12 = (int)(4 / (longlong)iVar10);\n  local_38 = (int)(4 % (longlong)iVar10);\n  if (iVar11 < local_38) {\n    iVar12 = iVar12 + 1;\n    local_38 = 0;\n  }\n  local_38 = iVar11 * iVar12 + local_38;\n  iVar12 = iVar12 + local_38;\n  if (local_38 < iVar12) {\n    uVar3 = this->number_grays;\n    ppCVar4 = this->cooccurrence;\n    pIVar5 = this->image;\n    pdVar17 = this->channel_features->angular_second_moment + local_38;\n    local_34 = &this->density_x->direction[local_38].red;\n    local_24 = &this->sum->direction[local_38].red;\n    local_28 = &this->density_y->direction[local_38].red;\n    local_2c = &this->density_xy[2].direction[local_38].red;\n    do {\n      if ((int)uVar3 < 1) {\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n      }\n      else {\n        local_50 = 0;\n        CVar6 = pIVar5->colorspace;\n        PVar7 = pIVar5->alpha_trait;\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          local_64 = local_3c;\n          pMVar18 = local_34;\n          local_6c = ppCVar4;\n          do {\n            pCVar13 = *local_6c + local_50;\n            dVar1 = pCVar13->direction[local_38].red;\n            *pdVar17 = dVar1 * dVar1 + *pdVar17;\n            dVar19 = pCVar13->direction[local_38].green;\n            pdVar17[0x38] = dVar19 * dVar19 + pdVar17[0x38];\n            dVar19 = pCVar13->direction[local_38].blue;\n            pdVar17[0x70] = dVar19 * dVar19 + pdVar17[0x70];\n            if (CVar6 == CMYKColorspace) {\n              dVar19 = pCVar13->direction[local_38].black;\n              pdVar17[0xa8] = dVar19 * dVar19 + pdVar17[0xa8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              dVar19 = pCVar13->direction[local_38].alpha;\n              pdVar17[0xe0] = dVar19 * dVar19 + pdVar17[0xe0];\n            }\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + pCVar13->direction[local_38].green;\n            local_60[2] = local_60[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_60[3] = local_60[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_60[4] = local_60[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = (double)local_58;\n            pCVar15 = this->correlation;\n            pCVar15->direction[local_38].red =\n                 pCVar13->direction[local_38].red * dVar1 + pCVar15->direction[local_38].red;\n            pCVar15->direction[local_38].green =\n                 pCVar13->direction[local_38].green * dVar1 + pCVar15->direction[local_38].green;\n            pCVar15->direction[local_38].blue =\n                 pCVar13->direction[local_38].blue * dVar1 + pCVar15->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              pCVar15->direction[local_38].black =\n                   pCVar13->direction[local_38].black * dVar1 + pCVar15->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pCVar15->direction[local_38].alpha =\n                   dVar1 * pCVar13->direction[local_38].alpha + pCVar15->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = (double)(int)(local_74 * local_74 + 1);\n            pdVar17[0x10] = dVar1 / dVar19 + pdVar17[0x10];\n            pdVar17[0x48] = pCVar13->direction[local_38].green / dVar19 + pdVar17[0x48];\n            pdVar17[0x80] = pCVar13->direction[local_38].blue / dVar19 + pdVar17[0x80];\n            if (CVar6 == CMYKColorspace) {\n              pdVar17[0xb8] = pCVar13->direction[local_38].black / dVar19 + pdVar17[0xb8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pdVar17[0xf0] = pCVar13->direction[local_38].alpha / dVar19 + pdVar17[0xf0];\n            }\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + pCVar13->direction[local_38].green;\n            local_64[2] = local_64[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_64[3] = local_64[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_64[4] = local_64[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x20] = pdVar17[0x20] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].green;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x58] = pdVar17[0x58] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].blue;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            CVar6 = pIVar5->colorspace;\n            pdVar17[0x90] = pdVar17[0x90] - dVar19 * dVar1;\n            if (CVar6 == CMYKColorspace) {\n              dVar1 = pCVar13->direction[local_38].black;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[200] = pdVar17[200] - dVar19 * dVar1;\n            }\n            PVar16 = pIVar5->alpha_trait;\n            if (PVar16 != UndefinedPixelTrait) {\n              dVar1 = pCVar13->direction[local_38].alpha;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n                PVar16 = pIVar5->alpha_trait;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[0x100] = pdVar17[0x100] - dVar19 * dVar1;\n            }\n            *pMVar18 = *pMVar18 + pCVar13->direction[local_38].red;\n            pMVar18[1] = pMVar18[1] + pCVar13->direction[local_38].green;\n            pMVar18[2] = pMVar18[2] + pCVar13->direction[local_38].blue;\n            if (PVar16 != UndefinedPixelTrait) {\n              pMVar18[4] = pMVar18[4] + pCVar13->direction[local_38].alpha;\n            }\n            if (pIVar5->colorspace == CMYKColorspace) {\n              pMVar18[3] = pMVar18[3] + pCVar13->direction[local_38].black;\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n              local_4c[3] = local_4c[3] + pCVar13->direction[local_38].black;\n            }\n            else {\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n            }\n            if (PVar16 == UndefinedPixelTrait) {\n              PVar7 = UndefinedPixelTrait;\n              CVar6 = pIVar5->colorspace;\n            }\n            else {\n              CVar6 = pIVar5->colorspace;\n              local_4c[4] = local_4c[4] + pCVar13->direction[local_38].alpha;\n              PVar7 = PVar16;\n            }\n            local_74 = local_74 - 1;\n            pMVar18 = pMVar18 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - uVar3 != local_74);\n          dVar1 = (double)(int)local_50;\n          pCVar13 = this->mean;\n          pCVar15 = this->sum_squares;\n          pCVar13->direction[local_38].red = *local_60 * dVar1 + pCVar13->direction[local_38].red;\n          dVar19 = (double)(int)(local_50 * local_50);\n          pCVar15->direction[local_38].red = *local_60 * dVar19 + pCVar15->direction[local_38].red;\n          pCVar13->direction[local_38].green =\n               local_60[1] * dVar1 + pCVar13->direction[local_38].green;\n          pCVar15->direction[local_38].green =\n               local_60[1] * dVar19 + pCVar15->direction[local_38].green;\n          pCVar13->direction[local_38].blue =\n               local_60[2] * dVar1 + pCVar13->direction[local_38].blue;\n          pCVar15->direction[local_38].blue =\n               local_60[2] * dVar19 + pCVar15->direction[local_38].blue;\n          if (CVar6 == CMYKColorspace) {\n            pCVar13->direction[local_38].black =\n                 local_60[3] * dVar1 + pCVar13->direction[local_38].black;\n            pCVar15->direction[local_38].black =\n                 local_60[3] * dVar19 + pCVar15->direction[local_38].black;\n          }\n          if (PVar16 != UndefinedPixelTrait) {\n            pCVar13->direction[local_38].alpha =\n                 dVar1 * local_60[4] + pCVar13->direction[local_38].alpha;\n            pCVar15->direction[local_38].alpha =\n                 dVar19 * local_60[4] + pCVar15->direction[local_38].alpha;\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != uVar3);\n      }\n      pCVar14 = this->correlation;\n      dVar1 = pCVar13->direction[local_38].red;\n      dVar1 = dVar1 * dVar1;\n      dVar19 = pCVar14->direction[local_38].red;\n      dVar8 = pCVar15->direction[local_38].red - dVar1;\n      dVar2 = SQRT(dVar8);\n      if (dVar8 < 0.0) {\n        sqrt(dVar8);\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n        dVar2 = pCVar13->direction[local_38].red;\n        dVar9 = pCVar15->direction[local_38].red - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (0.0 <= dVar9) {\n          pCVar14 = this->correlation;\n        }\n        else {\n          sqrt(dVar9);\n          pCVar13 = this->mean;\n          pCVar14 = this->correlation;\n          pCVar15 = this->sum_squares;\n        }\n      }\n      pdVar17[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      dVar1 = pCVar13->direction[local_38].green;\n      dVar1 = dVar1 * dVar1;\n      dVar19 = pCVar14->direction[local_38].green;\n      dVar8 = pCVar15->direction[local_38].green - dVar1;\n      dVar2 = SQRT(dVar8);\n      if (dVar8 < 0.0) {\n        sqrt(dVar8);\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n        dVar2 = pCVar13->direction[local_38].green;\n        dVar9 = pCVar15->direction[local_38].green - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (0.0 <= dVar9) {\n          pCVar14 = this->correlation;\n        }\n        else {\n          sqrt(dVar9);\n          pCVar13 = this->mean;\n          pCVar14 = this->correlation;\n          pCVar15 = this->sum_squares;\n        }\n      }\n      pdVar17[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      dVar1 = pCVar13->direction[local_38].blue;\n      dVar1 = dVar1 * dVar1;\n      dVar19 = pCVar14->direction[local_38].blue;\n      dVar8 = pCVar15->direction[local_38].blue - dVar1;\n      dVar2 = SQRT(dVar8);\n      if (dVar8 < 0.0) {\n        sqrt(dVar8);\n        dVar2 = this->mean->direction[local_38].blue;\n        dVar9 = this->sum_squares->direction[local_38].blue - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (dVar9 < 0.0) {\n          sqrt(dVar9);\n        }\n      }\n      CVar6 = pIVar5->colorspace;\n      pdVar17[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      if (CVar6 == CMYKColorspace) {\n        dVar1 = this->mean->direction[local_38].black;\n        dVar1 = dVar1 * dVar1;\n        dVar19 = this->correlation->direction[local_38].black;\n        dVar8 = this->sum_squares->direction[local_38].black - dVar1;\n        dVar2 = SQRT(dVar8);\n        if (dVar8 < 0.0) {\n          sqrt(dVar8);\n          dVar2 = this->mean->direction[local_38].black;\n          dVar9 = this->sum_squares->direction[local_38].black - dVar2 * dVar2;\n          dVar2 = SQRT(dVar9);\n          if (dVar9 < 0.0) {\n            sqrt(dVar9);\n          }\n        }\n        pdVar17[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      }\n      if (pIVar5->alpha_trait != UndefinedPixelTrait) {\n        dVar1 = this->mean->direction[local_38].alpha;\n        dVar1 = dVar1 * dVar1;\n        dVar19 = this->correlation->direction[local_38].alpha;\n        dVar8 = this->sum_squares->direction[local_38].alpha - dVar1;\n        dVar2 = SQRT(dVar8);\n        if (dVar8 < 0.0) {\n          sqrt(dVar8);\n          dVar2 = this->mean->direction[local_38].alpha;\n          dVar9 = this->sum_squares->direction[local_38].alpha - dVar2 * dVar2;\n          dVar2 = SQRT(dVar9);\n          if (dVar9 < 0.0) {\n            sqrt(dVar9);\n          }\n        }\n        pdVar17[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      }\n      local_38 = local_38 + 1;\n      pdVar17 = pdVar17 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    } while (iVar12 != local_38);\n  }\n  return;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "double dVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "ChannelStatistics **ppCVar4;" type_identifier (pointer_declarator "**ppCVar4" * (pointer_declarator "*ppCVar4" * identifier)) ;) (declaration "Image *pIVar5;" type_identifier (pointer_declarator "*pIVar5" * identifier) ;) (declaration "ColorspaceType CVar6;" type_identifier identifier ;) (declaration "PixelTrait PVar7;" type_identifier identifier ;) (declaration "double dVar8;" primitive_type identifier ;) (declaration "double dVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "ChannelStatistics *pCVar13;" type_identifier (pointer_declarator "*pCVar13" * identifier) ;) (declaration "ChannelStatistics *pCVar14;" type_identifier (pointer_declarator "*pCVar14" * identifier) ;) (declaration "ChannelStatistics *pCVar15;" type_identifier (pointer_declarator "*pCVar15" * identifier) ;) (declaration "PixelTrait PVar16;" type_identifier identifier ;) (declaration "double *pdVar17;" primitive_type (pointer_declarator "*pdVar17" * identifier) ;) (declaration "MagickRealType *pMVar18;" type_identifier (pointer_declarator "*pMVar18" * identifier) ;) (declaration "double dVar19;" primitive_type identifier ;) (declaration "uint local_74;" type_identifier identifier ;) (declaration "ChannelStatistics **local_6c;" type_identifier (pointer_declarator "**local_6c" * (pointer_declarator "*local_6c" * identifier)) ;) (declaration "MagickRealType *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "MagickRealType *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "uint local_50;" type_identifier identifier ;) (declaration "MagickRealType *local_4c;" type_identifier (pointer_declarator "*local_4c" * identifier) ;) (declaration "MagickRealType *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "MagickRealType *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "MagickRealType *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "MagickRealType *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "MagickRealType *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (expression_statement "iVar10 = omp_get_num_threads();" (assignment_expression "iVar10 = omp_get_num_threads()" identifier = (call_expression "omp_get_num_threads()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar11 = omp_get_thread_num();" (assignment_expression "iVar11 = omp_get_thread_num()" identifier = (call_expression "omp_get_thread_num()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar12 = (int)(4 / (longlong)iVar10);" (assignment_expression "iVar12 = (int)(4 / (longlong)iVar10)" identifier = (cast_expression "(int)(4 / (longlong)iVar10)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(4 / (longlong)iVar10)" ( (binary_expression "4 / (longlong)iVar10" number_literal / (cast_expression "(longlong)iVar10" ( (type_descriptor "longlong" type_identifier) ) identifier)) )))) ;) (expression_statement "local_38 = (int)(4 % (longlong)iVar10);" (assignment_expression "local_38 = (int)(4 % (longlong)iVar10)" identifier = (cast_expression "(int)(4 % (longlong)iVar10)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(4 % (longlong)iVar10)" ( (binary_expression "4 % (longlong)iVar10" number_literal % (cast_expression "(longlong)iVar10" ( (type_descriptor "longlong" type_identifier) ) identifier)) )))) ;) (if_statement "if (iVar11 < local_38) {\n    iVar12 = iVar12 + 1;\n    local_38 = 0;\n  }" if (parenthesized_expression "(iVar11 < local_38)" ( (binary_expression "iVar11 < local_38" identifier < identifier) )) (compound_statement "{\n    iVar12 = iVar12 + 1;\n    local_38 = 0;\n  }" { (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) })) (expression_statement "local_38 = iVar11 * iVar12 + local_38;" (assignment_expression "local_38 = iVar11 * iVar12 + local_38" identifier = (binary_expression "iVar11 * iVar12 + local_38" (binary_expression "iVar11 * iVar12" identifier * identifier) + identifier)) ;) (expression_statement "iVar12 = iVar12 + local_38;" (assignment_expression "iVar12 = iVar12 + local_38" identifier = (binary_expression "iVar12 + local_38" identifier + identifier)) ;) (if_statement "if (local_38 < iVar12) {\n    uVar3 = this->number_grays;\n    ppCVar4 = this->cooccurrence;\n    pIVar5 = this->image;\n    pdVar17 = this->channel_features->angular_second_moment + local_38;\n    local_34 = &this->density_x->direction[local_38].red;\n    local_24 = &this->sum->direction[local_38].red;\n    local_28 = &this->density_y->direction[local_38].red;\n    local_2c = &this->density_xy[2].direction[local_38].red;\n    do {\n      if ((int)uVar3 < 1) {\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n      }\n      else {\n        local_50 = 0;\n        CVar6 = pIVar5->colorspace;\n        PVar7 = pIVar5->alpha_trait;\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          local_64 = local_3c;\n          pMVar18 = local_34;\n          local_6c = ppCVar4;\n          do {\n            pCVar13 = *local_6c + local_50;\n            dVar1 = pCVar13->direction[local_38].red;\n            *pdVar17 = dVar1 * dVar1 + *pdVar17;\n            dVar19 = pCVar13->direction[local_38].green;\n            pdVar17[0x38] = dVar19 * dVar19 + pdVar17[0x38];\n            dVar19 = pCVar13->direction[local_38].blue;\n            pdVar17[0x70] = dVar19 * dVar19 + pdVar17[0x70];\n            if (CVar6 == CMYKColorspace) {\n              dVar19 = pCVar13->direction[local_38].black;\n              pdVar17[0xa8] = dVar19 * dVar19 + pdVar17[0xa8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              dVar19 = pCVar13->direction[local_38].alpha;\n              pdVar17[0xe0] = dVar19 * dVar19 + pdVar17[0xe0];\n            }\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + pCVar13->direction[local_38].green;\n            local_60[2] = local_60[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_60[3] = local_60[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_60[4] = local_60[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = (double)local_58;\n            pCVar15 = this->correlation;\n            pCVar15->direction[local_38].red =\n                 pCVar13->direction[local_38].red * dVar1 + pCVar15->direction[local_38].red;\n            pCVar15->direction[local_38].green =\n                 pCVar13->direction[local_38].green * dVar1 + pCVar15->direction[local_38].green;\n            pCVar15->direction[local_38].blue =\n                 pCVar13->direction[local_38].blue * dVar1 + pCVar15->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              pCVar15->direction[local_38].black =\n                   pCVar13->direction[local_38].black * dVar1 + pCVar15->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pCVar15->direction[local_38].alpha =\n                   dVar1 * pCVar13->direction[local_38].alpha + pCVar15->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = (double)(int)(local_74 * local_74 + 1);\n            pdVar17[0x10] = dVar1 / dVar19 + pdVar17[0x10];\n            pdVar17[0x48] = pCVar13->direction[local_38].green / dVar19 + pdVar17[0x48];\n            pdVar17[0x80] = pCVar13->direction[local_38].blue / dVar19 + pdVar17[0x80];\n            if (CVar6 == CMYKColorspace) {\n              pdVar17[0xb8] = pCVar13->direction[local_38].black / dVar19 + pdVar17[0xb8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pdVar17[0xf0] = pCVar13->direction[local_38].alpha / dVar19 + pdVar17[0xf0];\n            }\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + pCVar13->direction[local_38].green;\n            local_64[2] = local_64[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_64[3] = local_64[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_64[4] = local_64[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x20] = pdVar17[0x20] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].green;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x58] = pdVar17[0x58] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].blue;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            CVar6 = pIVar5->colorspace;\n            pdVar17[0x90] = pdVar17[0x90] - dVar19 * dVar1;\n            if (CVar6 == CMYKColorspace) {\n              dVar1 = pCVar13->direction[local_38].black;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[200] = pdVar17[200] - dVar19 * dVar1;\n            }\n            PVar16 = pIVar5->alpha_trait;\n            if (PVar16 != UndefinedPixelTrait) {\n              dVar1 = pCVar13->direction[local_38].alpha;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n                PVar16 = pIVar5->alpha_trait;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[0x100] = pdVar17[0x100] - dVar19 * dVar1;\n            }\n            *pMVar18 = *pMVar18 + pCVar13->direction[local_38].red;\n            pMVar18[1] = pMVar18[1] + pCVar13->direction[local_38].green;\n            pMVar18[2] = pMVar18[2] + pCVar13->direction[local_38].blue;\n            if (PVar16 != UndefinedPixelTrait) {\n              pMVar18[4] = pMVar18[4] + pCVar13->direction[local_38].alpha;\n            }\n            if (pIVar5->colorspace == CMYKColorspace) {\n              pMVar18[3] = pMVar18[3] + pCVar13->direction[local_38].black;\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n              local_4c[3] = local_4c[3] + pCVar13->direction[local_38].black;\n            }\n            else {\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n            }\n            if (PVar16 == UndefinedPixelTrait) {\n              PVar7 = UndefinedPixelTrait;\n              CVar6 = pIVar5->colorspace;\n            }\n            else {\n              CVar6 = pIVar5->colorspace;\n              local_4c[4] = local_4c[4] + pCVar13->direction[local_38].alpha;\n              PVar7 = PVar16;\n            }\n            local_74 = local_74 - 1;\n            pMVar18 = pMVar18 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - uVar3 != local_74);\n          dVar1 = (double)(int)local_50;\n          pCVar13 = this->mean;\n          pCVar15 = this->sum_squares;\n          pCVar13->direction[local_38].red = *local_60 * dVar1 + pCVar13->direction[local_38].red;\n          dVar19 = (double)(int)(local_50 * local_50);\n          pCVar15->direction[local_38].red = *local_60 * dVar19 + pCVar15->direction[local_38].red;\n          pCVar13->direction[local_38].green =\n               local_60[1] * dVar1 + pCVar13->direction[local_38].green;\n          pCVar15->direction[local_38].green =\n               local_60[1] * dVar19 + pCVar15->direction[local_38].green;\n          pCVar13->direction[local_38].blue =\n               local_60[2] * dVar1 + pCVar13->direction[local_38].blue;\n          pCVar15->direction[local_38].blue =\n               local_60[2] * dVar19 + pCVar15->direction[local_38].blue;\n          if (CVar6 == CMYKColorspace) {\n            pCVar13->direction[local_38].black =\n                 local_60[3] * dVar1 + pCVar13->direction[local_38].black;\n            pCVar15->direction[local_38].black =\n                 local_60[3] * dVar19 + pCVar15->direction[local_38].black;\n          }\n          if (PVar16 != UndefinedPixelTrait) {\n            pCVar13->direction[local_38].alpha =\n                 dVar1 * local_60[4] + pCVar13->direction[local_38].alpha;\n            pCVar15->direction[local_38].alpha =\n                 dVar19 * local_60[4] + pCVar15->direction[local_38].alpha;\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != uVar3);\n      }\n      pCVar14 = this->correlation;\n      dVar1 = pCVar13->direction[local_38].red;\n      dVar1 = dVar1 * dVar1;\n      dVar19 = pCVar14->direction[local_38].red;\n      dVar8 = pCVar15->direction[local_38].red - dVar1;\n      dVar2 = SQRT(dVar8);\n      if (dVar8 < 0.0) {\n        sqrt(dVar8);\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n        dVar2 = pCVar13->direction[local_38].red;\n        dVar9 = pCVar15->direction[local_38].red - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (0.0 <= dVar9) {\n          pCVar14 = this->correlation;\n        }\n        else {\n          sqrt(dVar9);\n          pCVar13 = this->mean;\n          pCVar14 = this->correlation;\n          pCVar15 = this->sum_squares;\n        }\n      }\n      pdVar17[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      dVar1 = pCVar13->direction[local_38].green;\n      dVar1 = dVar1 * dVar1;\n      dVar19 = pCVar14->direction[local_38].green;\n      dVar8 = pCVar15->direction[local_38].green - dVar1;\n      dVar2 = SQRT(dVar8);\n      if (dVar8 < 0.0) {\n        sqrt(dVar8);\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n        dVar2 = pCVar13->direction[local_38].green;\n        dVar9 = pCVar15->direction[local_38].green - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (0.0 <= dVar9) {\n          pCVar14 = this->correlation;\n        }\n        else {\n          sqrt(dVar9);\n          pCVar13 = this->mean;\n          pCVar14 = this->correlation;\n          pCVar15 = this->sum_squares;\n        }\n      }\n      pdVar17[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      dVar1 = pCVar13->direction[local_38].blue;\n      dVar1 = dVar1 * dVar1;\n      dVar19 = pCVar14->direction[local_38].blue;\n      dVar8 = pCVar15->direction[local_38].blue - dVar1;\n      dVar2 = SQRT(dVar8);\n      if (dVar8 < 0.0) {\n        sqrt(dVar8);\n        dVar2 = this->mean->direction[local_38].blue;\n        dVar9 = this->sum_squares->direction[local_38].blue - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (dVar9 < 0.0) {\n          sqrt(dVar9);\n        }\n      }\n      CVar6 = pIVar5->colorspace;\n      pdVar17[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      if (CVar6 == CMYKColorspace) {\n        dVar1 = this->mean->direction[local_38].black;\n        dVar1 = dVar1 * dVar1;\n        dVar19 = this->correlation->direction[local_38].black;\n        dVar8 = this->sum_squares->direction[local_38].black - dVar1;\n        dVar2 = SQRT(dVar8);\n        if (dVar8 < 0.0) {\n          sqrt(dVar8);\n          dVar2 = this->mean->direction[local_38].black;\n          dVar9 = this->sum_squares->direction[local_38].black - dVar2 * dVar2;\n          dVar2 = SQRT(dVar9);\n          if (dVar9 < 0.0) {\n            sqrt(dVar9);\n          }\n        }\n        pdVar17[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      }\n      if (pIVar5->alpha_trait != UndefinedPixelTrait) {\n        dVar1 = this->mean->direction[local_38].alpha;\n        dVar1 = dVar1 * dVar1;\n        dVar19 = this->correlation->direction[local_38].alpha;\n        dVar8 = this->sum_squares->direction[local_38].alpha - dVar1;\n        dVar2 = SQRT(dVar8);\n        if (dVar8 < 0.0) {\n          sqrt(dVar8);\n          dVar2 = this->mean->direction[local_38].alpha;\n          dVar9 = this->sum_squares->direction[local_38].alpha - dVar2 * dVar2;\n          dVar2 = SQRT(dVar9);\n          if (dVar9 < 0.0) {\n            sqrt(dVar9);\n          }\n        }\n        pdVar17[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      }\n      local_38 = local_38 + 1;\n      pdVar17 = pdVar17 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    } while (iVar12 != local_38);\n  }" if (parenthesized_expression "(local_38 < iVar12)" ( (binary_expression "local_38 < iVar12" identifier < identifier) )) (compound_statement "{\n    uVar3 = this->number_grays;\n    ppCVar4 = this->cooccurrence;\n    pIVar5 = this->image;\n    pdVar17 = this->channel_features->angular_second_moment + local_38;\n    local_34 = &this->density_x->direction[local_38].red;\n    local_24 = &this->sum->direction[local_38].red;\n    local_28 = &this->density_y->direction[local_38].red;\n    local_2c = &this->density_xy[2].direction[local_38].red;\n    do {\n      if ((int)uVar3 < 1) {\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n      }\n      else {\n        local_50 = 0;\n        CVar6 = pIVar5->colorspace;\n        PVar7 = pIVar5->alpha_trait;\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          local_64 = local_3c;\n          pMVar18 = local_34;\n          local_6c = ppCVar4;\n          do {\n            pCVar13 = *local_6c + local_50;\n            dVar1 = pCVar13->direction[local_38].red;\n            *pdVar17 = dVar1 * dVar1 + *pdVar17;\n            dVar19 = pCVar13->direction[local_38].green;\n            pdVar17[0x38] = dVar19 * dVar19 + pdVar17[0x38];\n            dVar19 = pCVar13->direction[local_38].blue;\n            pdVar17[0x70] = dVar19 * dVar19 + pdVar17[0x70];\n            if (CVar6 == CMYKColorspace) {\n              dVar19 = pCVar13->direction[local_38].black;\n              pdVar17[0xa8] = dVar19 * dVar19 + pdVar17[0xa8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              dVar19 = pCVar13->direction[local_38].alpha;\n              pdVar17[0xe0] = dVar19 * dVar19 + pdVar17[0xe0];\n            }\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + pCVar13->direction[local_38].green;\n            local_60[2] = local_60[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_60[3] = local_60[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_60[4] = local_60[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = (double)local_58;\n            pCVar15 = this->correlation;\n            pCVar15->direction[local_38].red =\n                 pCVar13->direction[local_38].red * dVar1 + pCVar15->direction[local_38].red;\n            pCVar15->direction[local_38].green =\n                 pCVar13->direction[local_38].green * dVar1 + pCVar15->direction[local_38].green;\n            pCVar15->direction[local_38].blue =\n                 pCVar13->direction[local_38].blue * dVar1 + pCVar15->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              pCVar15->direction[local_38].black =\n                   pCVar13->direction[local_38].black * dVar1 + pCVar15->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pCVar15->direction[local_38].alpha =\n                   dVar1 * pCVar13->direction[local_38].alpha + pCVar15->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = (double)(int)(local_74 * local_74 + 1);\n            pdVar17[0x10] = dVar1 / dVar19 + pdVar17[0x10];\n            pdVar17[0x48] = pCVar13->direction[local_38].green / dVar19 + pdVar17[0x48];\n            pdVar17[0x80] = pCVar13->direction[local_38].blue / dVar19 + pdVar17[0x80];\n            if (CVar6 == CMYKColorspace) {\n              pdVar17[0xb8] = pCVar13->direction[local_38].black / dVar19 + pdVar17[0xb8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pdVar17[0xf0] = pCVar13->direction[local_38].alpha / dVar19 + pdVar17[0xf0];\n            }\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + pCVar13->direction[local_38].green;\n            local_64[2] = local_64[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_64[3] = local_64[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_64[4] = local_64[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x20] = pdVar17[0x20] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].green;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x58] = pdVar17[0x58] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].blue;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            CVar6 = pIVar5->colorspace;\n            pdVar17[0x90] = pdVar17[0x90] - dVar19 * dVar1;\n            if (CVar6 == CMYKColorspace) {\n              dVar1 = pCVar13->direction[local_38].black;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[200] = pdVar17[200] - dVar19 * dVar1;\n            }\n            PVar16 = pIVar5->alpha_trait;\n            if (PVar16 != UndefinedPixelTrait) {\n              dVar1 = pCVar13->direction[local_38].alpha;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n                PVar16 = pIVar5->alpha_trait;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[0x100] = pdVar17[0x100] - dVar19 * dVar1;\n            }\n            *pMVar18 = *pMVar18 + pCVar13->direction[local_38].red;\n            pMVar18[1] = pMVar18[1] + pCVar13->direction[local_38].green;\n            pMVar18[2] = pMVar18[2] + pCVar13->direction[local_38].blue;\n            if (PVar16 != UndefinedPixelTrait) {\n              pMVar18[4] = pMVar18[4] + pCVar13->direction[local_38].alpha;\n            }\n            if (pIVar5->colorspace == CMYKColorspace) {\n              pMVar18[3] = pMVar18[3] + pCVar13->direction[local_38].black;\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n              local_4c[3] = local_4c[3] + pCVar13->direction[local_38].black;\n            }\n            else {\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n            }\n            if (PVar16 == UndefinedPixelTrait) {\n              PVar7 = UndefinedPixelTrait;\n              CVar6 = pIVar5->colorspace;\n            }\n            else {\n              CVar6 = pIVar5->colorspace;\n              local_4c[4] = local_4c[4] + pCVar13->direction[local_38].alpha;\n              PVar7 = PVar16;\n            }\n            local_74 = local_74 - 1;\n            pMVar18 = pMVar18 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - uVar3 != local_74);\n          dVar1 = (double)(int)local_50;\n          pCVar13 = this->mean;\n          pCVar15 = this->sum_squares;\n          pCVar13->direction[local_38].red = *local_60 * dVar1 + pCVar13->direction[local_38].red;\n          dVar19 = (double)(int)(local_50 * local_50);\n          pCVar15->direction[local_38].red = *local_60 * dVar19 + pCVar15->direction[local_38].red;\n          pCVar13->direction[local_38].green =\n               local_60[1] * dVar1 + pCVar13->direction[local_38].green;\n          pCVar15->direction[local_38].green =\n               local_60[1] * dVar19 + pCVar15->direction[local_38].green;\n          pCVar13->direction[local_38].blue =\n               local_60[2] * dVar1 + pCVar13->direction[local_38].blue;\n          pCVar15->direction[local_38].blue =\n               local_60[2] * dVar19 + pCVar15->direction[local_38].blue;\n          if (CVar6 == CMYKColorspace) {\n            pCVar13->direction[local_38].black =\n                 local_60[3] * dVar1 + pCVar13->direction[local_38].black;\n            pCVar15->direction[local_38].black =\n                 local_60[3] * dVar19 + pCVar15->direction[local_38].black;\n          }\n          if (PVar16 != UndefinedPixelTrait) {\n            pCVar13->direction[local_38].alpha =\n                 dVar1 * local_60[4] + pCVar13->direction[local_38].alpha;\n            pCVar15->direction[local_38].alpha =\n                 dVar19 * local_60[4] + pCVar15->direction[local_38].alpha;\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != uVar3);\n      }\n      pCVar14 = this->correlation;\n      dVar1 = pCVar13->direction[local_38].red;\n      dVar1 = dVar1 * dVar1;\n      dVar19 = pCVar14->direction[local_38].red;\n      dVar8 = pCVar15->direction[local_38].red - dVar1;\n      dVar2 = SQRT(dVar8);\n      if (dVar8 < 0.0) {\n        sqrt(dVar8);\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n        dVar2 = pCVar13->direction[local_38].red;\n        dVar9 = pCVar15->direction[local_38].red - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (0.0 <= dVar9) {\n          pCVar14 = this->correlation;\n        }\n        else {\n          sqrt(dVar9);\n          pCVar13 = this->mean;\n          pCVar14 = this->correlation;\n          pCVar15 = this->sum_squares;\n        }\n      }\n      pdVar17[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      dVar1 = pCVar13->direction[local_38].green;\n      dVar1 = dVar1 * dVar1;\n      dVar19 = pCVar14->direction[local_38].green;\n      dVar8 = pCVar15->direction[local_38].green - dVar1;\n      dVar2 = SQRT(dVar8);\n      if (dVar8 < 0.0) {\n        sqrt(dVar8);\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n        dVar2 = pCVar13->direction[local_38].green;\n        dVar9 = pCVar15->direction[local_38].green - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (0.0 <= dVar9) {\n          pCVar14 = this->correlation;\n        }\n        else {\n          sqrt(dVar9);\n          pCVar13 = this->mean;\n          pCVar14 = this->correlation;\n          pCVar15 = this->sum_squares;\n        }\n      }\n      pdVar17[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      dVar1 = pCVar13->direction[local_38].blue;\n      dVar1 = dVar1 * dVar1;\n      dVar19 = pCVar14->direction[local_38].blue;\n      dVar8 = pCVar15->direction[local_38].blue - dVar1;\n      dVar2 = SQRT(dVar8);\n      if (dVar8 < 0.0) {\n        sqrt(dVar8);\n        dVar2 = this->mean->direction[local_38].blue;\n        dVar9 = this->sum_squares->direction[local_38].blue - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (dVar9 < 0.0) {\n          sqrt(dVar9);\n        }\n      }\n      CVar6 = pIVar5->colorspace;\n      pdVar17[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      if (CVar6 == CMYKColorspace) {\n        dVar1 = this->mean->direction[local_38].black;\n        dVar1 = dVar1 * dVar1;\n        dVar19 = this->correlation->direction[local_38].black;\n        dVar8 = this->sum_squares->direction[local_38].black - dVar1;\n        dVar2 = SQRT(dVar8);\n        if (dVar8 < 0.0) {\n          sqrt(dVar8);\n          dVar2 = this->mean->direction[local_38].black;\n          dVar9 = this->sum_squares->direction[local_38].black - dVar2 * dVar2;\n          dVar2 = SQRT(dVar9);\n          if (dVar9 < 0.0) {\n            sqrt(dVar9);\n          }\n        }\n        pdVar17[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      }\n      if (pIVar5->alpha_trait != UndefinedPixelTrait) {\n        dVar1 = this->mean->direction[local_38].alpha;\n        dVar1 = dVar1 * dVar1;\n        dVar19 = this->correlation->direction[local_38].alpha;\n        dVar8 = this->sum_squares->direction[local_38].alpha - dVar1;\n        dVar2 = SQRT(dVar8);\n        if (dVar8 < 0.0) {\n          sqrt(dVar8);\n          dVar2 = this->mean->direction[local_38].alpha;\n          dVar9 = this->sum_squares->direction[local_38].alpha - dVar2 * dVar2;\n          dVar2 = SQRT(dVar9);\n          if (dVar9 < 0.0) {\n            sqrt(dVar9);\n          }\n        }\n        pdVar17[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      }\n      local_38 = local_38 + 1;\n      pdVar17 = pdVar17 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    } while (iVar12 != local_38);\n  }" { (expression_statement "uVar3 = this->number_grays;" (assignment_expression "uVar3 = this->number_grays" identifier = (field_expression "this->number_grays" identifier -> field_identifier)) ;) (expression_statement "ppCVar4 = this->cooccurrence;" (assignment_expression "ppCVar4 = this->cooccurrence" identifier = (field_expression "this->cooccurrence" identifier -> field_identifier)) ;) (expression_statement "pIVar5 = this->image;" (assignment_expression "pIVar5 = this->image" identifier = (field_expression "this->image" identifier -> field_identifier)) ;) (expression_statement "pdVar17 = this->channel_features->angular_second_moment + local_38;" (assignment_expression "pdVar17 = this->channel_features->angular_second_moment + local_38" identifier = (binary_expression "this->channel_features->angular_second_moment + local_38" (field_expression "this->channel_features->angular_second_moment" (field_expression "this->channel_features" identifier -> field_identifier) -> field_identifier) + identifier)) ;) (expression_statement "local_34 = &this->density_x->direction[local_38].red;" (assignment_expression "local_34 = &this->density_x->direction[local_38].red" identifier = (pointer_expression "&this->density_x->direction[local_38].red" & (field_expression "this->density_x->direction[local_38].red" (subscript_expression "this->density_x->direction[local_38]" (field_expression "this->density_x->direction" (field_expression "this->density_x" identifier -> field_identifier) -> field_identifier) [ identifier ]) . field_identifier))) ;) (expression_statement "local_24 = &this->sum->direction[local_38].red;" (assignment_expression "local_24 = &this->sum->direction[local_38].red" identifier = (pointer_expression "&this->sum->direction[local_38].red" & (field_expression "this->sum->direction[local_38].red" (subscript_expression "this->sum->direction[local_38]" (field_expression "this->sum->direction" (field_expression "this->sum" identifier -> field_identifier) -> field_identifier) [ identifier ]) . field_identifier))) ;) (expression_statement "local_28 = &this->density_y->direction[local_38].red;" (assignment_expression "local_28 = &this->density_y->direction[local_38].red" identifier = (pointer_expression "&this->density_y->direction[local_38].red" & (field_expression "this->density_y->direction[local_38].red" (subscript_expression "this->density_y->direction[local_38]" (field_expression "this->density_y->direction" (field_expression "this->density_y" identifier -> field_identifier) -> field_identifier) [ identifier ]) . field_identifier))) ;) (expression_statement "local_2c = &this->density_xy[2].direction[local_38].red;" (assignment_expression "local_2c = &this->density_xy[2].direction[local_38].red" identifier = (pointer_expression "&this->density_xy[2].direction[local_38].red" & (field_expression "this->density_xy[2].direction[local_38].red" (subscript_expression "this->density_xy[2].direction[local_38]" (field_expression "this->density_xy[2].direction" (subscript_expression "this->density_xy[2]" (field_expression "this->density_xy" identifier -> field_identifier) [ number_literal ]) . field_identifier) [ identifier ]) . field_identifier))) ;) (do_statement "do {\n      if ((int)uVar3 < 1) {\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n      }\n      else {\n        local_50 = 0;\n        CVar6 = pIVar5->colorspace;\n        PVar7 = pIVar5->alpha_trait;\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          local_64 = local_3c;\n          pMVar18 = local_34;\n          local_6c = ppCVar4;\n          do {\n            pCVar13 = *local_6c + local_50;\n            dVar1 = pCVar13->direction[local_38].red;\n            *pdVar17 = dVar1 * dVar1 + *pdVar17;\n            dVar19 = pCVar13->direction[local_38].green;\n            pdVar17[0x38] = dVar19 * dVar19 + pdVar17[0x38];\n            dVar19 = pCVar13->direction[local_38].blue;\n            pdVar17[0x70] = dVar19 * dVar19 + pdVar17[0x70];\n            if (CVar6 == CMYKColorspace) {\n              dVar19 = pCVar13->direction[local_38].black;\n              pdVar17[0xa8] = dVar19 * dVar19 + pdVar17[0xa8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              dVar19 = pCVar13->direction[local_38].alpha;\n              pdVar17[0xe0] = dVar19 * dVar19 + pdVar17[0xe0];\n            }\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + pCVar13->direction[local_38].green;\n            local_60[2] = local_60[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_60[3] = local_60[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_60[4] = local_60[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = (double)local_58;\n            pCVar15 = this->correlation;\n            pCVar15->direction[local_38].red =\n                 pCVar13->direction[local_38].red * dVar1 + pCVar15->direction[local_38].red;\n            pCVar15->direction[local_38].green =\n                 pCVar13->direction[local_38].green * dVar1 + pCVar15->direction[local_38].green;\n            pCVar15->direction[local_38].blue =\n                 pCVar13->direction[local_38].blue * dVar1 + pCVar15->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              pCVar15->direction[local_38].black =\n                   pCVar13->direction[local_38].black * dVar1 + pCVar15->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pCVar15->direction[local_38].alpha =\n                   dVar1 * pCVar13->direction[local_38].alpha + pCVar15->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = (double)(int)(local_74 * local_74 + 1);\n            pdVar17[0x10] = dVar1 / dVar19 + pdVar17[0x10];\n            pdVar17[0x48] = pCVar13->direction[local_38].green / dVar19 + pdVar17[0x48];\n            pdVar17[0x80] = pCVar13->direction[local_38].blue / dVar19 + pdVar17[0x80];\n            if (CVar6 == CMYKColorspace) {\n              pdVar17[0xb8] = pCVar13->direction[local_38].black / dVar19 + pdVar17[0xb8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pdVar17[0xf0] = pCVar13->direction[local_38].alpha / dVar19 + pdVar17[0xf0];\n            }\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + pCVar13->direction[local_38].green;\n            local_64[2] = local_64[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_64[3] = local_64[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_64[4] = local_64[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x20] = pdVar17[0x20] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].green;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x58] = pdVar17[0x58] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].blue;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            CVar6 = pIVar5->colorspace;\n            pdVar17[0x90] = pdVar17[0x90] - dVar19 * dVar1;\n            if (CVar6 == CMYKColorspace) {\n              dVar1 = pCVar13->direction[local_38].black;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[200] = pdVar17[200] - dVar19 * dVar1;\n            }\n            PVar16 = pIVar5->alpha_trait;\n            if (PVar16 != UndefinedPixelTrait) {\n              dVar1 = pCVar13->direction[local_38].alpha;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n                PVar16 = pIVar5->alpha_trait;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[0x100] = pdVar17[0x100] - dVar19 * dVar1;\n            }\n            *pMVar18 = *pMVar18 + pCVar13->direction[local_38].red;\n            pMVar18[1] = pMVar18[1] + pCVar13->direction[local_38].green;\n            pMVar18[2] = pMVar18[2] + pCVar13->direction[local_38].blue;\n            if (PVar16 != UndefinedPixelTrait) {\n              pMVar18[4] = pMVar18[4] + pCVar13->direction[local_38].alpha;\n            }\n            if (pIVar5->colorspace == CMYKColorspace) {\n              pMVar18[3] = pMVar18[3] + pCVar13->direction[local_38].black;\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n              local_4c[3] = local_4c[3] + pCVar13->direction[local_38].black;\n            }\n            else {\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n            }\n            if (PVar16 == UndefinedPixelTrait) {\n              PVar7 = UndefinedPixelTrait;\n              CVar6 = pIVar5->colorspace;\n            }\n            else {\n              CVar6 = pIVar5->colorspace;\n              local_4c[4] = local_4c[4] + pCVar13->direction[local_38].alpha;\n              PVar7 = PVar16;\n            }\n            local_74 = local_74 - 1;\n            pMVar18 = pMVar18 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - uVar3 != local_74);\n          dVar1 = (double)(int)local_50;\n          pCVar13 = this->mean;\n          pCVar15 = this->sum_squares;\n          pCVar13->direction[local_38].red = *local_60 * dVar1 + pCVar13->direction[local_38].red;\n          dVar19 = (double)(int)(local_50 * local_50);\n          pCVar15->direction[local_38].red = *local_60 * dVar19 + pCVar15->direction[local_38].red;\n          pCVar13->direction[local_38].green =\n               local_60[1] * dVar1 + pCVar13->direction[local_38].green;\n          pCVar15->direction[local_38].green =\n               local_60[1] * dVar19 + pCVar15->direction[local_38].green;\n          pCVar13->direction[local_38].blue =\n               local_60[2] * dVar1 + pCVar13->direction[local_38].blue;\n          pCVar15->direction[local_38].blue =\n               local_60[2] * dVar19 + pCVar15->direction[local_38].blue;\n          if (CVar6 == CMYKColorspace) {\n            pCVar13->direction[local_38].black =\n                 local_60[3] * dVar1 + pCVar13->direction[local_38].black;\n            pCVar15->direction[local_38].black =\n                 local_60[3] * dVar19 + pCVar15->direction[local_38].black;\n          }\n          if (PVar16 != UndefinedPixelTrait) {\n            pCVar13->direction[local_38].alpha =\n                 dVar1 * local_60[4] + pCVar13->direction[local_38].alpha;\n            pCVar15->direction[local_38].alpha =\n                 dVar19 * local_60[4] + pCVar15->direction[local_38].alpha;\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != uVar3);\n      }\n      pCVar14 = this->correlation;\n      dVar1 = pCVar13->direction[local_38].red;\n      dVar1 = dVar1 * dVar1;\n      dVar19 = pCVar14->direction[local_38].red;\n      dVar8 = pCVar15->direction[local_38].red - dVar1;\n      dVar2 = SQRT(dVar8);\n      if (dVar8 < 0.0) {\n        sqrt(dVar8);\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n        dVar2 = pCVar13->direction[local_38].red;\n        dVar9 = pCVar15->direction[local_38].red - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (0.0 <= dVar9) {\n          pCVar14 = this->correlation;\n        }\n        else {\n          sqrt(dVar9);\n          pCVar13 = this->mean;\n          pCVar14 = this->correlation;\n          pCVar15 = this->sum_squares;\n        }\n      }\n      pdVar17[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      dVar1 = pCVar13->direction[local_38].green;\n      dVar1 = dVar1 * dVar1;\n      dVar19 = pCVar14->direction[local_38].green;\n      dVar8 = pCVar15->direction[local_38].green - dVar1;\n      dVar2 = SQRT(dVar8);\n      if (dVar8 < 0.0) {\n        sqrt(dVar8);\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n        dVar2 = pCVar13->direction[local_38].green;\n        dVar9 = pCVar15->direction[local_38].green - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (0.0 <= dVar9) {\n          pCVar14 = this->correlation;\n        }\n        else {\n          sqrt(dVar9);\n          pCVar13 = this->mean;\n          pCVar14 = this->correlation;\n          pCVar15 = this->sum_squares;\n        }\n      }\n      pdVar17[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      dVar1 = pCVar13->direction[local_38].blue;\n      dVar1 = dVar1 * dVar1;\n      dVar19 = pCVar14->direction[local_38].blue;\n      dVar8 = pCVar15->direction[local_38].blue - dVar1;\n      dVar2 = SQRT(dVar8);\n      if (dVar8 < 0.0) {\n        sqrt(dVar8);\n        dVar2 = this->mean->direction[local_38].blue;\n        dVar9 = this->sum_squares->direction[local_38].blue - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (dVar9 < 0.0) {\n          sqrt(dVar9);\n        }\n      }\n      CVar6 = pIVar5->colorspace;\n      pdVar17[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      if (CVar6 == CMYKColorspace) {\n        dVar1 = this->mean->direction[local_38].black;\n        dVar1 = dVar1 * dVar1;\n        dVar19 = this->correlation->direction[local_38].black;\n        dVar8 = this->sum_squares->direction[local_38].black - dVar1;\n        dVar2 = SQRT(dVar8);\n        if (dVar8 < 0.0) {\n          sqrt(dVar8);\n          dVar2 = this->mean->direction[local_38].black;\n          dVar9 = this->sum_squares->direction[local_38].black - dVar2 * dVar2;\n          dVar2 = SQRT(dVar9);\n          if (dVar9 < 0.0) {\n            sqrt(dVar9);\n          }\n        }\n        pdVar17[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      }\n      if (pIVar5->alpha_trait != UndefinedPixelTrait) {\n        dVar1 = this->mean->direction[local_38].alpha;\n        dVar1 = dVar1 * dVar1;\n        dVar19 = this->correlation->direction[local_38].alpha;\n        dVar8 = this->sum_squares->direction[local_38].alpha - dVar1;\n        dVar2 = SQRT(dVar8);\n        if (dVar8 < 0.0) {\n          sqrt(dVar8);\n          dVar2 = this->mean->direction[local_38].alpha;\n          dVar9 = this->sum_squares->direction[local_38].alpha - dVar2 * dVar2;\n          dVar2 = SQRT(dVar9);\n          if (dVar9 < 0.0) {\n            sqrt(dVar9);\n          }\n        }\n        pdVar17[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      }\n      local_38 = local_38 + 1;\n      pdVar17 = pdVar17 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    } while (iVar12 != local_38);" do (compound_statement "{\n      if ((int)uVar3 < 1) {\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n      }\n      else {\n        local_50 = 0;\n        CVar6 = pIVar5->colorspace;\n        PVar7 = pIVar5->alpha_trait;\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          local_64 = local_3c;\n          pMVar18 = local_34;\n          local_6c = ppCVar4;\n          do {\n            pCVar13 = *local_6c + local_50;\n            dVar1 = pCVar13->direction[local_38].red;\n            *pdVar17 = dVar1 * dVar1 + *pdVar17;\n            dVar19 = pCVar13->direction[local_38].green;\n            pdVar17[0x38] = dVar19 * dVar19 + pdVar17[0x38];\n            dVar19 = pCVar13->direction[local_38].blue;\n            pdVar17[0x70] = dVar19 * dVar19 + pdVar17[0x70];\n            if (CVar6 == CMYKColorspace) {\n              dVar19 = pCVar13->direction[local_38].black;\n              pdVar17[0xa8] = dVar19 * dVar19 + pdVar17[0xa8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              dVar19 = pCVar13->direction[local_38].alpha;\n              pdVar17[0xe0] = dVar19 * dVar19 + pdVar17[0xe0];\n            }\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + pCVar13->direction[local_38].green;\n            local_60[2] = local_60[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_60[3] = local_60[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_60[4] = local_60[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = (double)local_58;\n            pCVar15 = this->correlation;\n            pCVar15->direction[local_38].red =\n                 pCVar13->direction[local_38].red * dVar1 + pCVar15->direction[local_38].red;\n            pCVar15->direction[local_38].green =\n                 pCVar13->direction[local_38].green * dVar1 + pCVar15->direction[local_38].green;\n            pCVar15->direction[local_38].blue =\n                 pCVar13->direction[local_38].blue * dVar1 + pCVar15->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              pCVar15->direction[local_38].black =\n                   pCVar13->direction[local_38].black * dVar1 + pCVar15->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pCVar15->direction[local_38].alpha =\n                   dVar1 * pCVar13->direction[local_38].alpha + pCVar15->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = (double)(int)(local_74 * local_74 + 1);\n            pdVar17[0x10] = dVar1 / dVar19 + pdVar17[0x10];\n            pdVar17[0x48] = pCVar13->direction[local_38].green / dVar19 + pdVar17[0x48];\n            pdVar17[0x80] = pCVar13->direction[local_38].blue / dVar19 + pdVar17[0x80];\n            if (CVar6 == CMYKColorspace) {\n              pdVar17[0xb8] = pCVar13->direction[local_38].black / dVar19 + pdVar17[0xb8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pdVar17[0xf0] = pCVar13->direction[local_38].alpha / dVar19 + pdVar17[0xf0];\n            }\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + pCVar13->direction[local_38].green;\n            local_64[2] = local_64[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_64[3] = local_64[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_64[4] = local_64[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x20] = pdVar17[0x20] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].green;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x58] = pdVar17[0x58] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].blue;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            CVar6 = pIVar5->colorspace;\n            pdVar17[0x90] = pdVar17[0x90] - dVar19 * dVar1;\n            if (CVar6 == CMYKColorspace) {\n              dVar1 = pCVar13->direction[local_38].black;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[200] = pdVar17[200] - dVar19 * dVar1;\n            }\n            PVar16 = pIVar5->alpha_trait;\n            if (PVar16 != UndefinedPixelTrait) {\n              dVar1 = pCVar13->direction[local_38].alpha;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n                PVar16 = pIVar5->alpha_trait;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[0x100] = pdVar17[0x100] - dVar19 * dVar1;\n            }\n            *pMVar18 = *pMVar18 + pCVar13->direction[local_38].red;\n            pMVar18[1] = pMVar18[1] + pCVar13->direction[local_38].green;\n            pMVar18[2] = pMVar18[2] + pCVar13->direction[local_38].blue;\n            if (PVar16 != UndefinedPixelTrait) {\n              pMVar18[4] = pMVar18[4] + pCVar13->direction[local_38].alpha;\n            }\n            if (pIVar5->colorspace == CMYKColorspace) {\n              pMVar18[3] = pMVar18[3] + pCVar13->direction[local_38].black;\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n              local_4c[3] = local_4c[3] + pCVar13->direction[local_38].black;\n            }\n            else {\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n            }\n            if (PVar16 == UndefinedPixelTrait) {\n              PVar7 = UndefinedPixelTrait;\n              CVar6 = pIVar5->colorspace;\n            }\n            else {\n              CVar6 = pIVar5->colorspace;\n              local_4c[4] = local_4c[4] + pCVar13->direction[local_38].alpha;\n              PVar7 = PVar16;\n            }\n            local_74 = local_74 - 1;\n            pMVar18 = pMVar18 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - uVar3 != local_74);\n          dVar1 = (double)(int)local_50;\n          pCVar13 = this->mean;\n          pCVar15 = this->sum_squares;\n          pCVar13->direction[local_38].red = *local_60 * dVar1 + pCVar13->direction[local_38].red;\n          dVar19 = (double)(int)(local_50 * local_50);\n          pCVar15->direction[local_38].red = *local_60 * dVar19 + pCVar15->direction[local_38].red;\n          pCVar13->direction[local_38].green =\n               local_60[1] * dVar1 + pCVar13->direction[local_38].green;\n          pCVar15->direction[local_38].green =\n               local_60[1] * dVar19 + pCVar15->direction[local_38].green;\n          pCVar13->direction[local_38].blue =\n               local_60[2] * dVar1 + pCVar13->direction[local_38].blue;\n          pCVar15->direction[local_38].blue =\n               local_60[2] * dVar19 + pCVar15->direction[local_38].blue;\n          if (CVar6 == CMYKColorspace) {\n            pCVar13->direction[local_38].black =\n                 local_60[3] * dVar1 + pCVar13->direction[local_38].black;\n            pCVar15->direction[local_38].black =\n                 local_60[3] * dVar19 + pCVar15->direction[local_38].black;\n          }\n          if (PVar16 != UndefinedPixelTrait) {\n            pCVar13->direction[local_38].alpha =\n                 dVar1 * local_60[4] + pCVar13->direction[local_38].alpha;\n            pCVar15->direction[local_38].alpha =\n                 dVar19 * local_60[4] + pCVar15->direction[local_38].alpha;\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != uVar3);\n      }\n      pCVar14 = this->correlation;\n      dVar1 = pCVar13->direction[local_38].red;\n      dVar1 = dVar1 * dVar1;\n      dVar19 = pCVar14->direction[local_38].red;\n      dVar8 = pCVar15->direction[local_38].red - dVar1;\n      dVar2 = SQRT(dVar8);\n      if (dVar8 < 0.0) {\n        sqrt(dVar8);\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n        dVar2 = pCVar13->direction[local_38].red;\n        dVar9 = pCVar15->direction[local_38].red - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (0.0 <= dVar9) {\n          pCVar14 = this->correlation;\n        }\n        else {\n          sqrt(dVar9);\n          pCVar13 = this->mean;\n          pCVar14 = this->correlation;\n          pCVar15 = this->sum_squares;\n        }\n      }\n      pdVar17[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      dVar1 = pCVar13->direction[local_38].green;\n      dVar1 = dVar1 * dVar1;\n      dVar19 = pCVar14->direction[local_38].green;\n      dVar8 = pCVar15->direction[local_38].green - dVar1;\n      dVar2 = SQRT(dVar8);\n      if (dVar8 < 0.0) {\n        sqrt(dVar8);\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n        dVar2 = pCVar13->direction[local_38].green;\n        dVar9 = pCVar15->direction[local_38].green - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (0.0 <= dVar9) {\n          pCVar14 = this->correlation;\n        }\n        else {\n          sqrt(dVar9);\n          pCVar13 = this->mean;\n          pCVar14 = this->correlation;\n          pCVar15 = this->sum_squares;\n        }\n      }\n      pdVar17[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      dVar1 = pCVar13->direction[local_38].blue;\n      dVar1 = dVar1 * dVar1;\n      dVar19 = pCVar14->direction[local_38].blue;\n      dVar8 = pCVar15->direction[local_38].blue - dVar1;\n      dVar2 = SQRT(dVar8);\n      if (dVar8 < 0.0) {\n        sqrt(dVar8);\n        dVar2 = this->mean->direction[local_38].blue;\n        dVar9 = this->sum_squares->direction[local_38].blue - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (dVar9 < 0.0) {\n          sqrt(dVar9);\n        }\n      }\n      CVar6 = pIVar5->colorspace;\n      pdVar17[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      if (CVar6 == CMYKColorspace) {\n        dVar1 = this->mean->direction[local_38].black;\n        dVar1 = dVar1 * dVar1;\n        dVar19 = this->correlation->direction[local_38].black;\n        dVar8 = this->sum_squares->direction[local_38].black - dVar1;\n        dVar2 = SQRT(dVar8);\n        if (dVar8 < 0.0) {\n          sqrt(dVar8);\n          dVar2 = this->mean->direction[local_38].black;\n          dVar9 = this->sum_squares->direction[local_38].black - dVar2 * dVar2;\n          dVar2 = SQRT(dVar9);\n          if (dVar9 < 0.0) {\n            sqrt(dVar9);\n          }\n        }\n        pdVar17[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      }\n      if (pIVar5->alpha_trait != UndefinedPixelTrait) {\n        dVar1 = this->mean->direction[local_38].alpha;\n        dVar1 = dVar1 * dVar1;\n        dVar19 = this->correlation->direction[local_38].alpha;\n        dVar8 = this->sum_squares->direction[local_38].alpha - dVar1;\n        dVar2 = SQRT(dVar8);\n        if (dVar8 < 0.0) {\n          sqrt(dVar8);\n          dVar2 = this->mean->direction[local_38].alpha;\n          dVar9 = this->sum_squares->direction[local_38].alpha - dVar2 * dVar2;\n          dVar2 = SQRT(dVar9);\n          if (dVar9 < 0.0) {\n            sqrt(dVar9);\n          }\n        }\n        pdVar17[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      }\n      local_38 = local_38 + 1;\n      pdVar17 = pdVar17 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    }" { (if_statement "if ((int)uVar3 < 1) {\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n      }\n      else {\n        local_50 = 0;\n        CVar6 = pIVar5->colorspace;\n        PVar7 = pIVar5->alpha_trait;\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          local_64 = local_3c;\n          pMVar18 = local_34;\n          local_6c = ppCVar4;\n          do {\n            pCVar13 = *local_6c + local_50;\n            dVar1 = pCVar13->direction[local_38].red;\n            *pdVar17 = dVar1 * dVar1 + *pdVar17;\n            dVar19 = pCVar13->direction[local_38].green;\n            pdVar17[0x38] = dVar19 * dVar19 + pdVar17[0x38];\n            dVar19 = pCVar13->direction[local_38].blue;\n            pdVar17[0x70] = dVar19 * dVar19 + pdVar17[0x70];\n            if (CVar6 == CMYKColorspace) {\n              dVar19 = pCVar13->direction[local_38].black;\n              pdVar17[0xa8] = dVar19 * dVar19 + pdVar17[0xa8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              dVar19 = pCVar13->direction[local_38].alpha;\n              pdVar17[0xe0] = dVar19 * dVar19 + pdVar17[0xe0];\n            }\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + pCVar13->direction[local_38].green;\n            local_60[2] = local_60[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_60[3] = local_60[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_60[4] = local_60[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = (double)local_58;\n            pCVar15 = this->correlation;\n            pCVar15->direction[local_38].red =\n                 pCVar13->direction[local_38].red * dVar1 + pCVar15->direction[local_38].red;\n            pCVar15->direction[local_38].green =\n                 pCVar13->direction[local_38].green * dVar1 + pCVar15->direction[local_38].green;\n            pCVar15->direction[local_38].blue =\n                 pCVar13->direction[local_38].blue * dVar1 + pCVar15->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              pCVar15->direction[local_38].black =\n                   pCVar13->direction[local_38].black * dVar1 + pCVar15->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pCVar15->direction[local_38].alpha =\n                   dVar1 * pCVar13->direction[local_38].alpha + pCVar15->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = (double)(int)(local_74 * local_74 + 1);\n            pdVar17[0x10] = dVar1 / dVar19 + pdVar17[0x10];\n            pdVar17[0x48] = pCVar13->direction[local_38].green / dVar19 + pdVar17[0x48];\n            pdVar17[0x80] = pCVar13->direction[local_38].blue / dVar19 + pdVar17[0x80];\n            if (CVar6 == CMYKColorspace) {\n              pdVar17[0xb8] = pCVar13->direction[local_38].black / dVar19 + pdVar17[0xb8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pdVar17[0xf0] = pCVar13->direction[local_38].alpha / dVar19 + pdVar17[0xf0];\n            }\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + pCVar13->direction[local_38].green;\n            local_64[2] = local_64[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_64[3] = local_64[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_64[4] = local_64[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x20] = pdVar17[0x20] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].green;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x58] = pdVar17[0x58] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].blue;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            CVar6 = pIVar5->colorspace;\n            pdVar17[0x90] = pdVar17[0x90] - dVar19 * dVar1;\n            if (CVar6 == CMYKColorspace) {\n              dVar1 = pCVar13->direction[local_38].black;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[200] = pdVar17[200] - dVar19 * dVar1;\n            }\n            PVar16 = pIVar5->alpha_trait;\n            if (PVar16 != UndefinedPixelTrait) {\n              dVar1 = pCVar13->direction[local_38].alpha;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n                PVar16 = pIVar5->alpha_trait;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[0x100] = pdVar17[0x100] - dVar19 * dVar1;\n            }\n            *pMVar18 = *pMVar18 + pCVar13->direction[local_38].red;\n            pMVar18[1] = pMVar18[1] + pCVar13->direction[local_38].green;\n            pMVar18[2] = pMVar18[2] + pCVar13->direction[local_38].blue;\n            if (PVar16 != UndefinedPixelTrait) {\n              pMVar18[4] = pMVar18[4] + pCVar13->direction[local_38].alpha;\n            }\n            if (pIVar5->colorspace == CMYKColorspace) {\n              pMVar18[3] = pMVar18[3] + pCVar13->direction[local_38].black;\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n              local_4c[3] = local_4c[3] + pCVar13->direction[local_38].black;\n            }\n            else {\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n            }\n            if (PVar16 == UndefinedPixelTrait) {\n              PVar7 = UndefinedPixelTrait;\n              CVar6 = pIVar5->colorspace;\n            }\n            else {\n              CVar6 = pIVar5->colorspace;\n              local_4c[4] = local_4c[4] + pCVar13->direction[local_38].alpha;\n              PVar7 = PVar16;\n            }\n            local_74 = local_74 - 1;\n            pMVar18 = pMVar18 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - uVar3 != local_74);\n          dVar1 = (double)(int)local_50;\n          pCVar13 = this->mean;\n          pCVar15 = this->sum_squares;\n          pCVar13->direction[local_38].red = *local_60 * dVar1 + pCVar13->direction[local_38].red;\n          dVar19 = (double)(int)(local_50 * local_50);\n          pCVar15->direction[local_38].red = *local_60 * dVar19 + pCVar15->direction[local_38].red;\n          pCVar13->direction[local_38].green =\n               local_60[1] * dVar1 + pCVar13->direction[local_38].green;\n          pCVar15->direction[local_38].green =\n               local_60[1] * dVar19 + pCVar15->direction[local_38].green;\n          pCVar13->direction[local_38].blue =\n               local_60[2] * dVar1 + pCVar13->direction[local_38].blue;\n          pCVar15->direction[local_38].blue =\n               local_60[2] * dVar19 + pCVar15->direction[local_38].blue;\n          if (CVar6 == CMYKColorspace) {\n            pCVar13->direction[local_38].black =\n                 local_60[3] * dVar1 + pCVar13->direction[local_38].black;\n            pCVar15->direction[local_38].black =\n                 local_60[3] * dVar19 + pCVar15->direction[local_38].black;\n          }\n          if (PVar16 != UndefinedPixelTrait) {\n            pCVar13->direction[local_38].alpha =\n                 dVar1 * local_60[4] + pCVar13->direction[local_38].alpha;\n            pCVar15->direction[local_38].alpha =\n                 dVar19 * local_60[4] + pCVar15->direction[local_38].alpha;\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != uVar3);\n      }" if (parenthesized_expression "((int)uVar3 < 1)" ( (binary_expression "(int)uVar3 < 1" (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n      }" { (expression_statement "pCVar13 = this->mean;" (assignment_expression "pCVar13 = this->mean" identifier = (field_expression "this->mean" identifier -> field_identifier)) ;) (expression_statement "pCVar15 = this->sum_squares;" (assignment_expression "pCVar15 = this->sum_squares" identifier = (field_expression "this->sum_squares" identifier -> field_identifier)) ;) }) (else_clause "else {\n        local_50 = 0;\n        CVar6 = pIVar5->colorspace;\n        PVar7 = pIVar5->alpha_trait;\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          local_64 = local_3c;\n          pMVar18 = local_34;\n          local_6c = ppCVar4;\n          do {\n            pCVar13 = *local_6c + local_50;\n            dVar1 = pCVar13->direction[local_38].red;\n            *pdVar17 = dVar1 * dVar1 + *pdVar17;\n            dVar19 = pCVar13->direction[local_38].green;\n            pdVar17[0x38] = dVar19 * dVar19 + pdVar17[0x38];\n            dVar19 = pCVar13->direction[local_38].blue;\n            pdVar17[0x70] = dVar19 * dVar19 + pdVar17[0x70];\n            if (CVar6 == CMYKColorspace) {\n              dVar19 = pCVar13->direction[local_38].black;\n              pdVar17[0xa8] = dVar19 * dVar19 + pdVar17[0xa8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              dVar19 = pCVar13->direction[local_38].alpha;\n              pdVar17[0xe0] = dVar19 * dVar19 + pdVar17[0xe0];\n            }\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + pCVar13->direction[local_38].green;\n            local_60[2] = local_60[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_60[3] = local_60[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_60[4] = local_60[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = (double)local_58;\n            pCVar15 = this->correlation;\n            pCVar15->direction[local_38].red =\n                 pCVar13->direction[local_38].red * dVar1 + pCVar15->direction[local_38].red;\n            pCVar15->direction[local_38].green =\n                 pCVar13->direction[local_38].green * dVar1 + pCVar15->direction[local_38].green;\n            pCVar15->direction[local_38].blue =\n                 pCVar13->direction[local_38].blue * dVar1 + pCVar15->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              pCVar15->direction[local_38].black =\n                   pCVar13->direction[local_38].black * dVar1 + pCVar15->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pCVar15->direction[local_38].alpha =\n                   dVar1 * pCVar13->direction[local_38].alpha + pCVar15->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = (double)(int)(local_74 * local_74 + 1);\n            pdVar17[0x10] = dVar1 / dVar19 + pdVar17[0x10];\n            pdVar17[0x48] = pCVar13->direction[local_38].green / dVar19 + pdVar17[0x48];\n            pdVar17[0x80] = pCVar13->direction[local_38].blue / dVar19 + pdVar17[0x80];\n            if (CVar6 == CMYKColorspace) {\n              pdVar17[0xb8] = pCVar13->direction[local_38].black / dVar19 + pdVar17[0xb8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pdVar17[0xf0] = pCVar13->direction[local_38].alpha / dVar19 + pdVar17[0xf0];\n            }\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + pCVar13->direction[local_38].green;\n            local_64[2] = local_64[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_64[3] = local_64[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_64[4] = local_64[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x20] = pdVar17[0x20] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].green;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x58] = pdVar17[0x58] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].blue;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            CVar6 = pIVar5->colorspace;\n            pdVar17[0x90] = pdVar17[0x90] - dVar19 * dVar1;\n            if (CVar6 == CMYKColorspace) {\n              dVar1 = pCVar13->direction[local_38].black;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[200] = pdVar17[200] - dVar19 * dVar1;\n            }\n            PVar16 = pIVar5->alpha_trait;\n            if (PVar16 != UndefinedPixelTrait) {\n              dVar1 = pCVar13->direction[local_38].alpha;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n                PVar16 = pIVar5->alpha_trait;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[0x100] = pdVar17[0x100] - dVar19 * dVar1;\n            }\n            *pMVar18 = *pMVar18 + pCVar13->direction[local_38].red;\n            pMVar18[1] = pMVar18[1] + pCVar13->direction[local_38].green;\n            pMVar18[2] = pMVar18[2] + pCVar13->direction[local_38].blue;\n            if (PVar16 != UndefinedPixelTrait) {\n              pMVar18[4] = pMVar18[4] + pCVar13->direction[local_38].alpha;\n            }\n            if (pIVar5->colorspace == CMYKColorspace) {\n              pMVar18[3] = pMVar18[3] + pCVar13->direction[local_38].black;\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n              local_4c[3] = local_4c[3] + pCVar13->direction[local_38].black;\n            }\n            else {\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n            }\n            if (PVar16 == UndefinedPixelTrait) {\n              PVar7 = UndefinedPixelTrait;\n              CVar6 = pIVar5->colorspace;\n            }\n            else {\n              CVar6 = pIVar5->colorspace;\n              local_4c[4] = local_4c[4] + pCVar13->direction[local_38].alpha;\n              PVar7 = PVar16;\n            }\n            local_74 = local_74 - 1;\n            pMVar18 = pMVar18 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - uVar3 != local_74);\n          dVar1 = (double)(int)local_50;\n          pCVar13 = this->mean;\n          pCVar15 = this->sum_squares;\n          pCVar13->direction[local_38].red = *local_60 * dVar1 + pCVar13->direction[local_38].red;\n          dVar19 = (double)(int)(local_50 * local_50);\n          pCVar15->direction[local_38].red = *local_60 * dVar19 + pCVar15->direction[local_38].red;\n          pCVar13->direction[local_38].green =\n               local_60[1] * dVar1 + pCVar13->direction[local_38].green;\n          pCVar15->direction[local_38].green =\n               local_60[1] * dVar19 + pCVar15->direction[local_38].green;\n          pCVar13->direction[local_38].blue =\n               local_60[2] * dVar1 + pCVar13->direction[local_38].blue;\n          pCVar15->direction[local_38].blue =\n               local_60[2] * dVar19 + pCVar15->direction[local_38].blue;\n          if (CVar6 == CMYKColorspace) {\n            pCVar13->direction[local_38].black =\n                 local_60[3] * dVar1 + pCVar13->direction[local_38].black;\n            pCVar15->direction[local_38].black =\n                 local_60[3] * dVar19 + pCVar15->direction[local_38].black;\n          }\n          if (PVar16 != UndefinedPixelTrait) {\n            pCVar13->direction[local_38].alpha =\n                 dVar1 * local_60[4] + pCVar13->direction[local_38].alpha;\n            pCVar15->direction[local_38].alpha =\n                 dVar19 * local_60[4] + pCVar15->direction[local_38].alpha;\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != uVar3);\n      }" else (compound_statement "{\n        local_50 = 0;\n        CVar6 = pIVar5->colorspace;\n        PVar7 = pIVar5->alpha_trait;\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          local_64 = local_3c;\n          pMVar18 = local_34;\n          local_6c = ppCVar4;\n          do {\n            pCVar13 = *local_6c + local_50;\n            dVar1 = pCVar13->direction[local_38].red;\n            *pdVar17 = dVar1 * dVar1 + *pdVar17;\n            dVar19 = pCVar13->direction[local_38].green;\n            pdVar17[0x38] = dVar19 * dVar19 + pdVar17[0x38];\n            dVar19 = pCVar13->direction[local_38].blue;\n            pdVar17[0x70] = dVar19 * dVar19 + pdVar17[0x70];\n            if (CVar6 == CMYKColorspace) {\n              dVar19 = pCVar13->direction[local_38].black;\n              pdVar17[0xa8] = dVar19 * dVar19 + pdVar17[0xa8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              dVar19 = pCVar13->direction[local_38].alpha;\n              pdVar17[0xe0] = dVar19 * dVar19 + pdVar17[0xe0];\n            }\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + pCVar13->direction[local_38].green;\n            local_60[2] = local_60[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_60[3] = local_60[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_60[4] = local_60[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = (double)local_58;\n            pCVar15 = this->correlation;\n            pCVar15->direction[local_38].red =\n                 pCVar13->direction[local_38].red * dVar1 + pCVar15->direction[local_38].red;\n            pCVar15->direction[local_38].green =\n                 pCVar13->direction[local_38].green * dVar1 + pCVar15->direction[local_38].green;\n            pCVar15->direction[local_38].blue =\n                 pCVar13->direction[local_38].blue * dVar1 + pCVar15->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              pCVar15->direction[local_38].black =\n                   pCVar13->direction[local_38].black * dVar1 + pCVar15->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pCVar15->direction[local_38].alpha =\n                   dVar1 * pCVar13->direction[local_38].alpha + pCVar15->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = (double)(int)(local_74 * local_74 + 1);\n            pdVar17[0x10] = dVar1 / dVar19 + pdVar17[0x10];\n            pdVar17[0x48] = pCVar13->direction[local_38].green / dVar19 + pdVar17[0x48];\n            pdVar17[0x80] = pCVar13->direction[local_38].blue / dVar19 + pdVar17[0x80];\n            if (CVar6 == CMYKColorspace) {\n              pdVar17[0xb8] = pCVar13->direction[local_38].black / dVar19 + pdVar17[0xb8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pdVar17[0xf0] = pCVar13->direction[local_38].alpha / dVar19 + pdVar17[0xf0];\n            }\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + pCVar13->direction[local_38].green;\n            local_64[2] = local_64[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_64[3] = local_64[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_64[4] = local_64[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x20] = pdVar17[0x20] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].green;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x58] = pdVar17[0x58] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].blue;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            CVar6 = pIVar5->colorspace;\n            pdVar17[0x90] = pdVar17[0x90] - dVar19 * dVar1;\n            if (CVar6 == CMYKColorspace) {\n              dVar1 = pCVar13->direction[local_38].black;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[200] = pdVar17[200] - dVar19 * dVar1;\n            }\n            PVar16 = pIVar5->alpha_trait;\n            if (PVar16 != UndefinedPixelTrait) {\n              dVar1 = pCVar13->direction[local_38].alpha;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n                PVar16 = pIVar5->alpha_trait;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[0x100] = pdVar17[0x100] - dVar19 * dVar1;\n            }\n            *pMVar18 = *pMVar18 + pCVar13->direction[local_38].red;\n            pMVar18[1] = pMVar18[1] + pCVar13->direction[local_38].green;\n            pMVar18[2] = pMVar18[2] + pCVar13->direction[local_38].blue;\n            if (PVar16 != UndefinedPixelTrait) {\n              pMVar18[4] = pMVar18[4] + pCVar13->direction[local_38].alpha;\n            }\n            if (pIVar5->colorspace == CMYKColorspace) {\n              pMVar18[3] = pMVar18[3] + pCVar13->direction[local_38].black;\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n              local_4c[3] = local_4c[3] + pCVar13->direction[local_38].black;\n            }\n            else {\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n            }\n            if (PVar16 == UndefinedPixelTrait) {\n              PVar7 = UndefinedPixelTrait;\n              CVar6 = pIVar5->colorspace;\n            }\n            else {\n              CVar6 = pIVar5->colorspace;\n              local_4c[4] = local_4c[4] + pCVar13->direction[local_38].alpha;\n              PVar7 = PVar16;\n            }\n            local_74 = local_74 - 1;\n            pMVar18 = pMVar18 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - uVar3 != local_74);\n          dVar1 = (double)(int)local_50;\n          pCVar13 = this->mean;\n          pCVar15 = this->sum_squares;\n          pCVar13->direction[local_38].red = *local_60 * dVar1 + pCVar13->direction[local_38].red;\n          dVar19 = (double)(int)(local_50 * local_50);\n          pCVar15->direction[local_38].red = *local_60 * dVar19 + pCVar15->direction[local_38].red;\n          pCVar13->direction[local_38].green =\n               local_60[1] * dVar1 + pCVar13->direction[local_38].green;\n          pCVar15->direction[local_38].green =\n               local_60[1] * dVar19 + pCVar15->direction[local_38].green;\n          pCVar13->direction[local_38].blue =\n               local_60[2] * dVar1 + pCVar13->direction[local_38].blue;\n          pCVar15->direction[local_38].blue =\n               local_60[2] * dVar19 + pCVar15->direction[local_38].blue;\n          if (CVar6 == CMYKColorspace) {\n            pCVar13->direction[local_38].black =\n                 local_60[3] * dVar1 + pCVar13->direction[local_38].black;\n            pCVar15->direction[local_38].black =\n                 local_60[3] * dVar19 + pCVar15->direction[local_38].black;\n          }\n          if (PVar16 != UndefinedPixelTrait) {\n            pCVar13->direction[local_38].alpha =\n                 dVar1 * local_60[4] + pCVar13->direction[local_38].alpha;\n            pCVar15->direction[local_38].alpha =\n                 dVar19 * local_60[4] + pCVar15->direction[local_38].alpha;\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != uVar3);\n      }" { (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "CVar6 = pIVar5->colorspace;" (assignment_expression "CVar6 = pIVar5->colorspace" identifier = (field_expression "pIVar5->colorspace" identifier -> field_identifier)) ;) (expression_statement "PVar7 = pIVar5->alpha_trait;" (assignment_expression "PVar7 = pIVar5->alpha_trait" identifier = (field_expression "pIVar5->alpha_trait" identifier -> field_identifier)) ;) (expression_statement "local_3c = local_2c;" (assignment_expression "local_3c = local_2c" identifier = identifier) ;) (expression_statement "local_4c = local_28;" (assignment_expression "local_4c = local_28" identifier = identifier) ;) (expression_statement "local_60 = local_24;" (assignment_expression "local_60 = local_24" identifier = identifier) ;) (do_statement "do {\n          local_58 = 0;\n          local_74 = local_50;\n          local_64 = local_3c;\n          pMVar18 = local_34;\n          local_6c = ppCVar4;\n          do {\n            pCVar13 = *local_6c + local_50;\n            dVar1 = pCVar13->direction[local_38].red;\n            *pdVar17 = dVar1 * dVar1 + *pdVar17;\n            dVar19 = pCVar13->direction[local_38].green;\n            pdVar17[0x38] = dVar19 * dVar19 + pdVar17[0x38];\n            dVar19 = pCVar13->direction[local_38].blue;\n            pdVar17[0x70] = dVar19 * dVar19 + pdVar17[0x70];\n            if (CVar6 == CMYKColorspace) {\n              dVar19 = pCVar13->direction[local_38].black;\n              pdVar17[0xa8] = dVar19 * dVar19 + pdVar17[0xa8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              dVar19 = pCVar13->direction[local_38].alpha;\n              pdVar17[0xe0] = dVar19 * dVar19 + pdVar17[0xe0];\n            }\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + pCVar13->direction[local_38].green;\n            local_60[2] = local_60[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_60[3] = local_60[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_60[4] = local_60[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = (double)local_58;\n            pCVar15 = this->correlation;\n            pCVar15->direction[local_38].red =\n                 pCVar13->direction[local_38].red * dVar1 + pCVar15->direction[local_38].red;\n            pCVar15->direction[local_38].green =\n                 pCVar13->direction[local_38].green * dVar1 + pCVar15->direction[local_38].green;\n            pCVar15->direction[local_38].blue =\n                 pCVar13->direction[local_38].blue * dVar1 + pCVar15->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              pCVar15->direction[local_38].black =\n                   pCVar13->direction[local_38].black * dVar1 + pCVar15->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pCVar15->direction[local_38].alpha =\n                   dVar1 * pCVar13->direction[local_38].alpha + pCVar15->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = (double)(int)(local_74 * local_74 + 1);\n            pdVar17[0x10] = dVar1 / dVar19 + pdVar17[0x10];\n            pdVar17[0x48] = pCVar13->direction[local_38].green / dVar19 + pdVar17[0x48];\n            pdVar17[0x80] = pCVar13->direction[local_38].blue / dVar19 + pdVar17[0x80];\n            if (CVar6 == CMYKColorspace) {\n              pdVar17[0xb8] = pCVar13->direction[local_38].black / dVar19 + pdVar17[0xb8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pdVar17[0xf0] = pCVar13->direction[local_38].alpha / dVar19 + pdVar17[0xf0];\n            }\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + pCVar13->direction[local_38].green;\n            local_64[2] = local_64[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_64[3] = local_64[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_64[4] = local_64[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x20] = pdVar17[0x20] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].green;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x58] = pdVar17[0x58] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].blue;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            CVar6 = pIVar5->colorspace;\n            pdVar17[0x90] = pdVar17[0x90] - dVar19 * dVar1;\n            if (CVar6 == CMYKColorspace) {\n              dVar1 = pCVar13->direction[local_38].black;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[200] = pdVar17[200] - dVar19 * dVar1;\n            }\n            PVar16 = pIVar5->alpha_trait;\n            if (PVar16 != UndefinedPixelTrait) {\n              dVar1 = pCVar13->direction[local_38].alpha;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n                PVar16 = pIVar5->alpha_trait;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[0x100] = pdVar17[0x100] - dVar19 * dVar1;\n            }\n            *pMVar18 = *pMVar18 + pCVar13->direction[local_38].red;\n            pMVar18[1] = pMVar18[1] + pCVar13->direction[local_38].green;\n            pMVar18[2] = pMVar18[2] + pCVar13->direction[local_38].blue;\n            if (PVar16 != UndefinedPixelTrait) {\n              pMVar18[4] = pMVar18[4] + pCVar13->direction[local_38].alpha;\n            }\n            if (pIVar5->colorspace == CMYKColorspace) {\n              pMVar18[3] = pMVar18[3] + pCVar13->direction[local_38].black;\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n              local_4c[3] = local_4c[3] + pCVar13->direction[local_38].black;\n            }\n            else {\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n            }\n            if (PVar16 == UndefinedPixelTrait) {\n              PVar7 = UndefinedPixelTrait;\n              CVar6 = pIVar5->colorspace;\n            }\n            else {\n              CVar6 = pIVar5->colorspace;\n              local_4c[4] = local_4c[4] + pCVar13->direction[local_38].alpha;\n              PVar7 = PVar16;\n            }\n            local_74 = local_74 - 1;\n            pMVar18 = pMVar18 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - uVar3 != local_74);\n          dVar1 = (double)(int)local_50;\n          pCVar13 = this->mean;\n          pCVar15 = this->sum_squares;\n          pCVar13->direction[local_38].red = *local_60 * dVar1 + pCVar13->direction[local_38].red;\n          dVar19 = (double)(int)(local_50 * local_50);\n          pCVar15->direction[local_38].red = *local_60 * dVar19 + pCVar15->direction[local_38].red;\n          pCVar13->direction[local_38].green =\n               local_60[1] * dVar1 + pCVar13->direction[local_38].green;\n          pCVar15->direction[local_38].green =\n               local_60[1] * dVar19 + pCVar15->direction[local_38].green;\n          pCVar13->direction[local_38].blue =\n               local_60[2] * dVar1 + pCVar13->direction[local_38].blue;\n          pCVar15->direction[local_38].blue =\n               local_60[2] * dVar19 + pCVar15->direction[local_38].blue;\n          if (CVar6 == CMYKColorspace) {\n            pCVar13->direction[local_38].black =\n                 local_60[3] * dVar1 + pCVar13->direction[local_38].black;\n            pCVar15->direction[local_38].black =\n                 local_60[3] * dVar19 + pCVar15->direction[local_38].black;\n          }\n          if (PVar16 != UndefinedPixelTrait) {\n            pCVar13->direction[local_38].alpha =\n                 dVar1 * local_60[4] + pCVar13->direction[local_38].alpha;\n            pCVar15->direction[local_38].alpha =\n                 dVar19 * local_60[4] + pCVar15->direction[local_38].alpha;\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != uVar3);" do (compound_statement "{\n          local_58 = 0;\n          local_74 = local_50;\n          local_64 = local_3c;\n          pMVar18 = local_34;\n          local_6c = ppCVar4;\n          do {\n            pCVar13 = *local_6c + local_50;\n            dVar1 = pCVar13->direction[local_38].red;\n            *pdVar17 = dVar1 * dVar1 + *pdVar17;\n            dVar19 = pCVar13->direction[local_38].green;\n            pdVar17[0x38] = dVar19 * dVar19 + pdVar17[0x38];\n            dVar19 = pCVar13->direction[local_38].blue;\n            pdVar17[0x70] = dVar19 * dVar19 + pdVar17[0x70];\n            if (CVar6 == CMYKColorspace) {\n              dVar19 = pCVar13->direction[local_38].black;\n              pdVar17[0xa8] = dVar19 * dVar19 + pdVar17[0xa8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              dVar19 = pCVar13->direction[local_38].alpha;\n              pdVar17[0xe0] = dVar19 * dVar19 + pdVar17[0xe0];\n            }\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + pCVar13->direction[local_38].green;\n            local_60[2] = local_60[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_60[3] = local_60[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_60[4] = local_60[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = (double)local_58;\n            pCVar15 = this->correlation;\n            pCVar15->direction[local_38].red =\n                 pCVar13->direction[local_38].red * dVar1 + pCVar15->direction[local_38].red;\n            pCVar15->direction[local_38].green =\n                 pCVar13->direction[local_38].green * dVar1 + pCVar15->direction[local_38].green;\n            pCVar15->direction[local_38].blue =\n                 pCVar13->direction[local_38].blue * dVar1 + pCVar15->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              pCVar15->direction[local_38].black =\n                   pCVar13->direction[local_38].black * dVar1 + pCVar15->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pCVar15->direction[local_38].alpha =\n                   dVar1 * pCVar13->direction[local_38].alpha + pCVar15->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = (double)(int)(local_74 * local_74 + 1);\n            pdVar17[0x10] = dVar1 / dVar19 + pdVar17[0x10];\n            pdVar17[0x48] = pCVar13->direction[local_38].green / dVar19 + pdVar17[0x48];\n            pdVar17[0x80] = pCVar13->direction[local_38].blue / dVar19 + pdVar17[0x80];\n            if (CVar6 == CMYKColorspace) {\n              pdVar17[0xb8] = pCVar13->direction[local_38].black / dVar19 + pdVar17[0xb8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pdVar17[0xf0] = pCVar13->direction[local_38].alpha / dVar19 + pdVar17[0xf0];\n            }\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + pCVar13->direction[local_38].green;\n            local_64[2] = local_64[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_64[3] = local_64[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_64[4] = local_64[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x20] = pdVar17[0x20] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].green;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x58] = pdVar17[0x58] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].blue;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            CVar6 = pIVar5->colorspace;\n            pdVar17[0x90] = pdVar17[0x90] - dVar19 * dVar1;\n            if (CVar6 == CMYKColorspace) {\n              dVar1 = pCVar13->direction[local_38].black;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[200] = pdVar17[200] - dVar19 * dVar1;\n            }\n            PVar16 = pIVar5->alpha_trait;\n            if (PVar16 != UndefinedPixelTrait) {\n              dVar1 = pCVar13->direction[local_38].alpha;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n                PVar16 = pIVar5->alpha_trait;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[0x100] = pdVar17[0x100] - dVar19 * dVar1;\n            }\n            *pMVar18 = *pMVar18 + pCVar13->direction[local_38].red;\n            pMVar18[1] = pMVar18[1] + pCVar13->direction[local_38].green;\n            pMVar18[2] = pMVar18[2] + pCVar13->direction[local_38].blue;\n            if (PVar16 != UndefinedPixelTrait) {\n              pMVar18[4] = pMVar18[4] + pCVar13->direction[local_38].alpha;\n            }\n            if (pIVar5->colorspace == CMYKColorspace) {\n              pMVar18[3] = pMVar18[3] + pCVar13->direction[local_38].black;\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n              local_4c[3] = local_4c[3] + pCVar13->direction[local_38].black;\n            }\n            else {\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n            }\n            if (PVar16 == UndefinedPixelTrait) {\n              PVar7 = UndefinedPixelTrait;\n              CVar6 = pIVar5->colorspace;\n            }\n            else {\n              CVar6 = pIVar5->colorspace;\n              local_4c[4] = local_4c[4] + pCVar13->direction[local_38].alpha;\n              PVar7 = PVar16;\n            }\n            local_74 = local_74 - 1;\n            pMVar18 = pMVar18 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - uVar3 != local_74);\n          dVar1 = (double)(int)local_50;\n          pCVar13 = this->mean;\n          pCVar15 = this->sum_squares;\n          pCVar13->direction[local_38].red = *local_60 * dVar1 + pCVar13->direction[local_38].red;\n          dVar19 = (double)(int)(local_50 * local_50);\n          pCVar15->direction[local_38].red = *local_60 * dVar19 + pCVar15->direction[local_38].red;\n          pCVar13->direction[local_38].green =\n               local_60[1] * dVar1 + pCVar13->direction[local_38].green;\n          pCVar15->direction[local_38].green =\n               local_60[1] * dVar19 + pCVar15->direction[local_38].green;\n          pCVar13->direction[local_38].blue =\n               local_60[2] * dVar1 + pCVar13->direction[local_38].blue;\n          pCVar15->direction[local_38].blue =\n               local_60[2] * dVar19 + pCVar15->direction[local_38].blue;\n          if (CVar6 == CMYKColorspace) {\n            pCVar13->direction[local_38].black =\n                 local_60[3] * dVar1 + pCVar13->direction[local_38].black;\n            pCVar15->direction[local_38].black =\n                 local_60[3] * dVar19 + pCVar15->direction[local_38].black;\n          }\n          if (PVar16 != UndefinedPixelTrait) {\n            pCVar13->direction[local_38].alpha =\n                 dVar1 * local_60[4] + pCVar13->direction[local_38].alpha;\n            pCVar15->direction[local_38].alpha =\n                 dVar19 * local_60[4] + pCVar15->direction[local_38].alpha;\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        }" { (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_74 = local_50;" (assignment_expression "local_74 = local_50" identifier = identifier) ;) (expression_statement "local_64 = local_3c;" (assignment_expression "local_64 = local_3c" identifier = identifier) ;) (expression_statement "pMVar18 = local_34;" (assignment_expression "pMVar18 = local_34" identifier = identifier) ;) (expression_statement "local_6c = ppCVar4;" (assignment_expression "local_6c = ppCVar4" identifier = identifier) ;) (do_statement "do {\n            pCVar13 = *local_6c + local_50;\n            dVar1 = pCVar13->direction[local_38].red;\n            *pdVar17 = dVar1 * dVar1 + *pdVar17;\n            dVar19 = pCVar13->direction[local_38].green;\n            pdVar17[0x38] = dVar19 * dVar19 + pdVar17[0x38];\n            dVar19 = pCVar13->direction[local_38].blue;\n            pdVar17[0x70] = dVar19 * dVar19 + pdVar17[0x70];\n            if (CVar6 == CMYKColorspace) {\n              dVar19 = pCVar13->direction[local_38].black;\n              pdVar17[0xa8] = dVar19 * dVar19 + pdVar17[0xa8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              dVar19 = pCVar13->direction[local_38].alpha;\n              pdVar17[0xe0] = dVar19 * dVar19 + pdVar17[0xe0];\n            }\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + pCVar13->direction[local_38].green;\n            local_60[2] = local_60[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_60[3] = local_60[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_60[4] = local_60[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = (double)local_58;\n            pCVar15 = this->correlation;\n            pCVar15->direction[local_38].red =\n                 pCVar13->direction[local_38].red * dVar1 + pCVar15->direction[local_38].red;\n            pCVar15->direction[local_38].green =\n                 pCVar13->direction[local_38].green * dVar1 + pCVar15->direction[local_38].green;\n            pCVar15->direction[local_38].blue =\n                 pCVar13->direction[local_38].blue * dVar1 + pCVar15->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              pCVar15->direction[local_38].black =\n                   pCVar13->direction[local_38].black * dVar1 + pCVar15->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pCVar15->direction[local_38].alpha =\n                   dVar1 * pCVar13->direction[local_38].alpha + pCVar15->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = (double)(int)(local_74 * local_74 + 1);\n            pdVar17[0x10] = dVar1 / dVar19 + pdVar17[0x10];\n            pdVar17[0x48] = pCVar13->direction[local_38].green / dVar19 + pdVar17[0x48];\n            pdVar17[0x80] = pCVar13->direction[local_38].blue / dVar19 + pdVar17[0x80];\n            if (CVar6 == CMYKColorspace) {\n              pdVar17[0xb8] = pCVar13->direction[local_38].black / dVar19 + pdVar17[0xb8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pdVar17[0xf0] = pCVar13->direction[local_38].alpha / dVar19 + pdVar17[0xf0];\n            }\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + pCVar13->direction[local_38].green;\n            local_64[2] = local_64[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_64[3] = local_64[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_64[4] = local_64[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x20] = pdVar17[0x20] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].green;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x58] = pdVar17[0x58] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].blue;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            CVar6 = pIVar5->colorspace;\n            pdVar17[0x90] = pdVar17[0x90] - dVar19 * dVar1;\n            if (CVar6 == CMYKColorspace) {\n              dVar1 = pCVar13->direction[local_38].black;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[200] = pdVar17[200] - dVar19 * dVar1;\n            }\n            PVar16 = pIVar5->alpha_trait;\n            if (PVar16 != UndefinedPixelTrait) {\n              dVar1 = pCVar13->direction[local_38].alpha;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n                PVar16 = pIVar5->alpha_trait;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[0x100] = pdVar17[0x100] - dVar19 * dVar1;\n            }\n            *pMVar18 = *pMVar18 + pCVar13->direction[local_38].red;\n            pMVar18[1] = pMVar18[1] + pCVar13->direction[local_38].green;\n            pMVar18[2] = pMVar18[2] + pCVar13->direction[local_38].blue;\n            if (PVar16 != UndefinedPixelTrait) {\n              pMVar18[4] = pMVar18[4] + pCVar13->direction[local_38].alpha;\n            }\n            if (pIVar5->colorspace == CMYKColorspace) {\n              pMVar18[3] = pMVar18[3] + pCVar13->direction[local_38].black;\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n              local_4c[3] = local_4c[3] + pCVar13->direction[local_38].black;\n            }\n            else {\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n            }\n            if (PVar16 == UndefinedPixelTrait) {\n              PVar7 = UndefinedPixelTrait;\n              CVar6 = pIVar5->colorspace;\n            }\n            else {\n              CVar6 = pIVar5->colorspace;\n              local_4c[4] = local_4c[4] + pCVar13->direction[local_38].alpha;\n              PVar7 = PVar16;\n            }\n            local_74 = local_74 - 1;\n            pMVar18 = pMVar18 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - uVar3 != local_74);" do (compound_statement "{\n            pCVar13 = *local_6c + local_50;\n            dVar1 = pCVar13->direction[local_38].red;\n            *pdVar17 = dVar1 * dVar1 + *pdVar17;\n            dVar19 = pCVar13->direction[local_38].green;\n            pdVar17[0x38] = dVar19 * dVar19 + pdVar17[0x38];\n            dVar19 = pCVar13->direction[local_38].blue;\n            pdVar17[0x70] = dVar19 * dVar19 + pdVar17[0x70];\n            if (CVar6 == CMYKColorspace) {\n              dVar19 = pCVar13->direction[local_38].black;\n              pdVar17[0xa8] = dVar19 * dVar19 + pdVar17[0xa8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              dVar19 = pCVar13->direction[local_38].alpha;\n              pdVar17[0xe0] = dVar19 * dVar19 + pdVar17[0xe0];\n            }\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + pCVar13->direction[local_38].green;\n            local_60[2] = local_60[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_60[3] = local_60[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_60[4] = local_60[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = (double)local_58;\n            pCVar15 = this->correlation;\n            pCVar15->direction[local_38].red =\n                 pCVar13->direction[local_38].red * dVar1 + pCVar15->direction[local_38].red;\n            pCVar15->direction[local_38].green =\n                 pCVar13->direction[local_38].green * dVar1 + pCVar15->direction[local_38].green;\n            pCVar15->direction[local_38].blue =\n                 pCVar13->direction[local_38].blue * dVar1 + pCVar15->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              pCVar15->direction[local_38].black =\n                   pCVar13->direction[local_38].black * dVar1 + pCVar15->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pCVar15->direction[local_38].alpha =\n                   dVar1 * pCVar13->direction[local_38].alpha + pCVar15->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = (double)(int)(local_74 * local_74 + 1);\n            pdVar17[0x10] = dVar1 / dVar19 + pdVar17[0x10];\n            pdVar17[0x48] = pCVar13->direction[local_38].green / dVar19 + pdVar17[0x48];\n            pdVar17[0x80] = pCVar13->direction[local_38].blue / dVar19 + pdVar17[0x80];\n            if (CVar6 == CMYKColorspace) {\n              pdVar17[0xb8] = pCVar13->direction[local_38].black / dVar19 + pdVar17[0xb8];\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              pdVar17[0xf0] = pCVar13->direction[local_38].alpha / dVar19 + pdVar17[0xf0];\n            }\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + pCVar13->direction[local_38].green;\n            local_64[2] = local_64[2] + pCVar13->direction[local_38].blue;\n            if (CVar6 == CMYKColorspace) {\n              local_64[3] = local_64[3] + pCVar13->direction[local_38].black;\n            }\n            if (PVar7 != UndefinedPixelTrait) {\n              local_64[4] = local_64[4] + pCVar13->direction[local_38].alpha;\n            }\n            dVar1 = pCVar13->direction[local_38].red;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x20] = pdVar17[0x20] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].green;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar17[0x58] = pdVar17[0x58] - dVar19 * dVar1;\n            dVar1 = pCVar13->direction[local_38].blue;\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            CVar6 = pIVar5->colorspace;\n            pdVar17[0x90] = pdVar17[0x90] - dVar19 * dVar1;\n            if (CVar6 == CMYKColorspace) {\n              dVar1 = pCVar13->direction[local_38].black;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[200] = pdVar17[200] - dVar19 * dVar1;\n            }\n            PVar16 = pIVar5->alpha_trait;\n            if (PVar16 != UndefinedPixelTrait) {\n              dVar1 = pCVar13->direction[local_38].alpha;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n                PVar16 = pIVar5->alpha_trait;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[0x100] = pdVar17[0x100] - dVar19 * dVar1;\n            }\n            *pMVar18 = *pMVar18 + pCVar13->direction[local_38].red;\n            pMVar18[1] = pMVar18[1] + pCVar13->direction[local_38].green;\n            pMVar18[2] = pMVar18[2] + pCVar13->direction[local_38].blue;\n            if (PVar16 != UndefinedPixelTrait) {\n              pMVar18[4] = pMVar18[4] + pCVar13->direction[local_38].alpha;\n            }\n            if (pIVar5->colorspace == CMYKColorspace) {\n              pMVar18[3] = pMVar18[3] + pCVar13->direction[local_38].black;\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n              local_4c[3] = local_4c[3] + pCVar13->direction[local_38].black;\n            }\n            else {\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n            }\n            if (PVar16 == UndefinedPixelTrait) {\n              PVar7 = UndefinedPixelTrait;\n              CVar6 = pIVar5->colorspace;\n            }\n            else {\n              CVar6 = pIVar5->colorspace;\n              local_4c[4] = local_4c[4] + pCVar13->direction[local_38].alpha;\n              PVar7 = PVar16;\n            }\n            local_74 = local_74 - 1;\n            pMVar18 = pMVar18 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          }" { (expression_statement "pCVar13 = *local_6c + local_50;" (assignment_expression "pCVar13 = *local_6c + local_50" identifier = (binary_expression "*local_6c + local_50" (pointer_expression "*local_6c" * identifier) + identifier)) ;) (expression_statement "dVar1 = pCVar13->direction[local_38].red;" (assignment_expression "dVar1 = pCVar13->direction[local_38].red" identifier = (field_expression "pCVar13->direction[local_38].red" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "*pdVar17 = dVar1 * dVar1 + *pdVar17;" (assignment_expression "*pdVar17 = dVar1 * dVar1 + *pdVar17" (pointer_expression "*pdVar17" * identifier) = (binary_expression "dVar1 * dVar1 + *pdVar17" (binary_expression "dVar1 * dVar1" identifier * identifier) + (pointer_expression "*pdVar17" * identifier))) ;) (expression_statement "dVar19 = pCVar13->direction[local_38].green;" (assignment_expression "dVar19 = pCVar13->direction[local_38].green" identifier = (field_expression "pCVar13->direction[local_38].green" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "pdVar17[0x38] = dVar19 * dVar19 + pdVar17[0x38];" (assignment_expression "pdVar17[0x38] = dVar19 * dVar19 + pdVar17[0x38]" (subscript_expression "pdVar17[0x38]" identifier [ number_literal ]) = (binary_expression "dVar19 * dVar19 + pdVar17[0x38]" (binary_expression "dVar19 * dVar19" identifier * identifier) + (subscript_expression "pdVar17[0x38]" identifier [ number_literal ]))) ;) (expression_statement "dVar19 = pCVar13->direction[local_38].blue;" (assignment_expression "dVar19 = pCVar13->direction[local_38].blue" identifier = (field_expression "pCVar13->direction[local_38].blue" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "pdVar17[0x70] = dVar19 * dVar19 + pdVar17[0x70];" (assignment_expression "pdVar17[0x70] = dVar19 * dVar19 + pdVar17[0x70]" (subscript_expression "pdVar17[0x70]" identifier [ number_literal ]) = (binary_expression "dVar19 * dVar19 + pdVar17[0x70]" (binary_expression "dVar19 * dVar19" identifier * identifier) + (subscript_expression "pdVar17[0x70]" identifier [ number_literal ]))) ;) (if_statement "if (CVar6 == CMYKColorspace) {\n              dVar19 = pCVar13->direction[local_38].black;\n              pdVar17[0xa8] = dVar19 * dVar19 + pdVar17[0xa8];\n            }" if (parenthesized_expression "(CVar6 == CMYKColorspace)" ( (binary_expression "CVar6 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n              dVar19 = pCVar13->direction[local_38].black;\n              pdVar17[0xa8] = dVar19 * dVar19 + pdVar17[0xa8];\n            }" { (expression_statement "dVar19 = pCVar13->direction[local_38].black;" (assignment_expression "dVar19 = pCVar13->direction[local_38].black" identifier = (field_expression "pCVar13->direction[local_38].black" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "pdVar17[0xa8] = dVar19 * dVar19 + pdVar17[0xa8];" (assignment_expression "pdVar17[0xa8] = dVar19 * dVar19 + pdVar17[0xa8]" (subscript_expression "pdVar17[0xa8]" identifier [ number_literal ]) = (binary_expression "dVar19 * dVar19 + pdVar17[0xa8]" (binary_expression "dVar19 * dVar19" identifier * identifier) + (subscript_expression "pdVar17[0xa8]" identifier [ number_literal ]))) ;) })) (if_statement "if (PVar7 != UndefinedPixelTrait) {\n              dVar19 = pCVar13->direction[local_38].alpha;\n              pdVar17[0xe0] = dVar19 * dVar19 + pdVar17[0xe0];\n            }" if (parenthesized_expression "(PVar7 != UndefinedPixelTrait)" ( (binary_expression "PVar7 != UndefinedPixelTrait" identifier != identifier) )) (compound_statement "{\n              dVar19 = pCVar13->direction[local_38].alpha;\n              pdVar17[0xe0] = dVar19 * dVar19 + pdVar17[0xe0];\n            }" { (expression_statement "dVar19 = pCVar13->direction[local_38].alpha;" (assignment_expression "dVar19 = pCVar13->direction[local_38].alpha" identifier = (field_expression "pCVar13->direction[local_38].alpha" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "pdVar17[0xe0] = dVar19 * dVar19 + pdVar17[0xe0];" (assignment_expression "pdVar17[0xe0] = dVar19 * dVar19 + pdVar17[0xe0]" (subscript_expression "pdVar17[0xe0]" identifier [ number_literal ]) = (binary_expression "dVar19 * dVar19 + pdVar17[0xe0]" (binary_expression "dVar19 * dVar19" identifier * identifier) + (subscript_expression "pdVar17[0xe0]" identifier [ number_literal ]))) ;) })) (expression_statement "*local_60 = dVar1 + *local_60;" (assignment_expression "*local_60 = dVar1 + *local_60" (pointer_expression "*local_60" * identifier) = (binary_expression "dVar1 + *local_60" identifier + (pointer_expression "*local_60" * identifier))) ;) (expression_statement "local_60[1] = local_60[1] + pCVar13->direction[local_38].green;" (assignment_expression "local_60[1] = local_60[1] + pCVar13->direction[local_38].green" (subscript_expression "local_60[1]" identifier [ number_literal ]) = (binary_expression "local_60[1] + pCVar13->direction[local_38].green" (subscript_expression "local_60[1]" identifier [ number_literal ]) + (field_expression "pCVar13->direction[local_38].green" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (expression_statement "local_60[2] = local_60[2] + pCVar13->direction[local_38].blue;" (assignment_expression "local_60[2] = local_60[2] + pCVar13->direction[local_38].blue" (subscript_expression "local_60[2]" identifier [ number_literal ]) = (binary_expression "local_60[2] + pCVar13->direction[local_38].blue" (subscript_expression "local_60[2]" identifier [ number_literal ]) + (field_expression "pCVar13->direction[local_38].blue" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (if_statement "if (CVar6 == CMYKColorspace) {\n              local_60[3] = local_60[3] + pCVar13->direction[local_38].black;\n            }" if (parenthesized_expression "(CVar6 == CMYKColorspace)" ( (binary_expression "CVar6 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n              local_60[3] = local_60[3] + pCVar13->direction[local_38].black;\n            }" { (expression_statement "local_60[3] = local_60[3] + pCVar13->direction[local_38].black;" (assignment_expression "local_60[3] = local_60[3] + pCVar13->direction[local_38].black" (subscript_expression "local_60[3]" identifier [ number_literal ]) = (binary_expression "local_60[3] + pCVar13->direction[local_38].black" (subscript_expression "local_60[3]" identifier [ number_literal ]) + (field_expression "pCVar13->direction[local_38].black" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) })) (if_statement "if (PVar7 != UndefinedPixelTrait) {\n              local_60[4] = local_60[4] + pCVar13->direction[local_38].alpha;\n            }" if (parenthesized_expression "(PVar7 != UndefinedPixelTrait)" ( (binary_expression "PVar7 != UndefinedPixelTrait" identifier != identifier) )) (compound_statement "{\n              local_60[4] = local_60[4] + pCVar13->direction[local_38].alpha;\n            }" { (expression_statement "local_60[4] = local_60[4] + pCVar13->direction[local_38].alpha;" (assignment_expression "local_60[4] = local_60[4] + pCVar13->direction[local_38].alpha" (subscript_expression "local_60[4]" identifier [ number_literal ]) = (binary_expression "local_60[4] + pCVar13->direction[local_38].alpha" (subscript_expression "local_60[4]" identifier [ number_literal ]) + (field_expression "pCVar13->direction[local_38].alpha" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) })) (expression_statement "dVar1 = (double)local_58;" (assignment_expression "dVar1 = (double)local_58" identifier = (cast_expression "(double)local_58" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pCVar15 = this->correlation;" (assignment_expression "pCVar15 = this->correlation" identifier = (field_expression "this->correlation" identifier -> field_identifier)) ;) (expression_statement "pCVar15->direction[local_38].red =\n                 pCVar13->direction[local_38].red * dVar1 + pCVar15->direction[local_38].red;" (assignment_expression "pCVar15->direction[local_38].red =\n                 pCVar13->direction[local_38].red * dVar1 + pCVar15->direction[local_38].red" (field_expression "pCVar15->direction[local_38].red" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) = (binary_expression "pCVar13->direction[local_38].red * dVar1 + pCVar15->direction[local_38].red" (binary_expression "pCVar13->direction[local_38].red * dVar1" (field_expression "pCVar13->direction[local_38].red" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) * identifier) + (field_expression "pCVar15->direction[local_38].red" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (expression_statement "pCVar15->direction[local_38].green =\n                 pCVar13->direction[local_38].green * dVar1 + pCVar15->direction[local_38].green;" (assignment_expression "pCVar15->direction[local_38].green =\n                 pCVar13->direction[local_38].green * dVar1 + pCVar15->direction[local_38].green" (field_expression "pCVar15->direction[local_38].green" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) = (binary_expression "pCVar13->direction[local_38].green * dVar1 + pCVar15->direction[local_38].green" (binary_expression "pCVar13->direction[local_38].green * dVar1" (field_expression "pCVar13->direction[local_38].green" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) * identifier) + (field_expression "pCVar15->direction[local_38].green" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (expression_statement "pCVar15->direction[local_38].blue =\n                 pCVar13->direction[local_38].blue * dVar1 + pCVar15->direction[local_38].blue;" (assignment_expression "pCVar15->direction[local_38].blue =\n                 pCVar13->direction[local_38].blue * dVar1 + pCVar15->direction[local_38].blue" (field_expression "pCVar15->direction[local_38].blue" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) = (binary_expression "pCVar13->direction[local_38].blue * dVar1 + pCVar15->direction[local_38].blue" (binary_expression "pCVar13->direction[local_38].blue * dVar1" (field_expression "pCVar13->direction[local_38].blue" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) * identifier) + (field_expression "pCVar15->direction[local_38].blue" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (if_statement "if (CVar6 == CMYKColorspace) {\n              pCVar15->direction[local_38].black =\n                   pCVar13->direction[local_38].black * dVar1 + pCVar15->direction[local_38].black;\n            }" if (parenthesized_expression "(CVar6 == CMYKColorspace)" ( (binary_expression "CVar6 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n              pCVar15->direction[local_38].black =\n                   pCVar13->direction[local_38].black * dVar1 + pCVar15->direction[local_38].black;\n            }" { (expression_statement "pCVar15->direction[local_38].black =\n                   pCVar13->direction[local_38].black * dVar1 + pCVar15->direction[local_38].black;" (assignment_expression "pCVar15->direction[local_38].black =\n                   pCVar13->direction[local_38].black * dVar1 + pCVar15->direction[local_38].black" (field_expression "pCVar15->direction[local_38].black" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) = (binary_expression "pCVar13->direction[local_38].black * dVar1 + pCVar15->direction[local_38].black" (binary_expression "pCVar13->direction[local_38].black * dVar1" (field_expression "pCVar13->direction[local_38].black" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) * identifier) + (field_expression "pCVar15->direction[local_38].black" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) })) (if_statement "if (PVar7 != UndefinedPixelTrait) {\n              pCVar15->direction[local_38].alpha =\n                   dVar1 * pCVar13->direction[local_38].alpha + pCVar15->direction[local_38].alpha;\n            }" if (parenthesized_expression "(PVar7 != UndefinedPixelTrait)" ( (binary_expression "PVar7 != UndefinedPixelTrait" identifier != identifier) )) (compound_statement "{\n              pCVar15->direction[local_38].alpha =\n                   dVar1 * pCVar13->direction[local_38].alpha + pCVar15->direction[local_38].alpha;\n            }" { (expression_statement "pCVar15->direction[local_38].alpha =\n                   dVar1 * pCVar13->direction[local_38].alpha + pCVar15->direction[local_38].alpha;" (assignment_expression "pCVar15->direction[local_38].alpha =\n                   dVar1 * pCVar13->direction[local_38].alpha + pCVar15->direction[local_38].alpha" (field_expression "pCVar15->direction[local_38].alpha" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) = (binary_expression "dVar1 * pCVar13->direction[local_38].alpha + pCVar15->direction[local_38].alpha" (binary_expression "dVar1 * pCVar13->direction[local_38].alpha" identifier * (field_expression "pCVar13->direction[local_38].alpha" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier)) + (field_expression "pCVar15->direction[local_38].alpha" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) })) (expression_statement "dVar1 = pCVar13->direction[local_38].red;" (assignment_expression "dVar1 = pCVar13->direction[local_38].red" identifier = (field_expression "pCVar13->direction[local_38].red" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "dVar19 = (double)(int)(local_74 * local_74 + 1);" (assignment_expression "dVar19 = (double)(int)(local_74 * local_74 + 1)" identifier = (cast_expression "(double)(int)(local_74 * local_74 + 1)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)(local_74 * local_74 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_74 * local_74 + 1)" ( (binary_expression "local_74 * local_74 + 1" (binary_expression "local_74 * local_74" identifier * identifier) + number_literal) ))))) ;) (expression_statement "pdVar17[0x10] = dVar1 / dVar19 + pdVar17[0x10];" (assignment_expression "pdVar17[0x10] = dVar1 / dVar19 + pdVar17[0x10]" (subscript_expression "pdVar17[0x10]" identifier [ number_literal ]) = (binary_expression "dVar1 / dVar19 + pdVar17[0x10]" (binary_expression "dVar1 / dVar19" identifier / identifier) + (subscript_expression "pdVar17[0x10]" identifier [ number_literal ]))) ;) (expression_statement "pdVar17[0x48] = pCVar13->direction[local_38].green / dVar19 + pdVar17[0x48];" (assignment_expression "pdVar17[0x48] = pCVar13->direction[local_38].green / dVar19 + pdVar17[0x48]" (subscript_expression "pdVar17[0x48]" identifier [ number_literal ]) = (binary_expression "pCVar13->direction[local_38].green / dVar19 + pdVar17[0x48]" (binary_expression "pCVar13->direction[local_38].green / dVar19" (field_expression "pCVar13->direction[local_38].green" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) / identifier) + (subscript_expression "pdVar17[0x48]" identifier [ number_literal ]))) ;) (expression_statement "pdVar17[0x80] = pCVar13->direction[local_38].blue / dVar19 + pdVar17[0x80];" (assignment_expression "pdVar17[0x80] = pCVar13->direction[local_38].blue / dVar19 + pdVar17[0x80]" (subscript_expression "pdVar17[0x80]" identifier [ number_literal ]) = (binary_expression "pCVar13->direction[local_38].blue / dVar19 + pdVar17[0x80]" (binary_expression "pCVar13->direction[local_38].blue / dVar19" (field_expression "pCVar13->direction[local_38].blue" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) / identifier) + (subscript_expression "pdVar17[0x80]" identifier [ number_literal ]))) ;) (if_statement "if (CVar6 == CMYKColorspace) {\n              pdVar17[0xb8] = pCVar13->direction[local_38].black / dVar19 + pdVar17[0xb8];\n            }" if (parenthesized_expression "(CVar6 == CMYKColorspace)" ( (binary_expression "CVar6 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n              pdVar17[0xb8] = pCVar13->direction[local_38].black / dVar19 + pdVar17[0xb8];\n            }" { (expression_statement "pdVar17[0xb8] = pCVar13->direction[local_38].black / dVar19 + pdVar17[0xb8];" (assignment_expression "pdVar17[0xb8] = pCVar13->direction[local_38].black / dVar19 + pdVar17[0xb8]" (subscript_expression "pdVar17[0xb8]" identifier [ number_literal ]) = (binary_expression "pCVar13->direction[local_38].black / dVar19 + pdVar17[0xb8]" (binary_expression "pCVar13->direction[local_38].black / dVar19" (field_expression "pCVar13->direction[local_38].black" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) / identifier) + (subscript_expression "pdVar17[0xb8]" identifier [ number_literal ]))) ;) })) (if_statement "if (PVar7 != UndefinedPixelTrait) {\n              pdVar17[0xf0] = pCVar13->direction[local_38].alpha / dVar19 + pdVar17[0xf0];\n            }" if (parenthesized_expression "(PVar7 != UndefinedPixelTrait)" ( (binary_expression "PVar7 != UndefinedPixelTrait" identifier != identifier) )) (compound_statement "{\n              pdVar17[0xf0] = pCVar13->direction[local_38].alpha / dVar19 + pdVar17[0xf0];\n            }" { (expression_statement "pdVar17[0xf0] = pCVar13->direction[local_38].alpha / dVar19 + pdVar17[0xf0];" (assignment_expression "pdVar17[0xf0] = pCVar13->direction[local_38].alpha / dVar19 + pdVar17[0xf0]" (subscript_expression "pdVar17[0xf0]" identifier [ number_literal ]) = (binary_expression "pCVar13->direction[local_38].alpha / dVar19 + pdVar17[0xf0]" (binary_expression "pCVar13->direction[local_38].alpha / dVar19" (field_expression "pCVar13->direction[local_38].alpha" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) / identifier) + (subscript_expression "pdVar17[0xf0]" identifier [ number_literal ]))) ;) })) (expression_statement "*local_64 = dVar1 + *local_64;" (assignment_expression "*local_64 = dVar1 + *local_64" (pointer_expression "*local_64" * identifier) = (binary_expression "dVar1 + *local_64" identifier + (pointer_expression "*local_64" * identifier))) ;) (expression_statement "local_64[1] = local_64[1] + pCVar13->direction[local_38].green;" (assignment_expression "local_64[1] = local_64[1] + pCVar13->direction[local_38].green" (subscript_expression "local_64[1]" identifier [ number_literal ]) = (binary_expression "local_64[1] + pCVar13->direction[local_38].green" (subscript_expression "local_64[1]" identifier [ number_literal ]) + (field_expression "pCVar13->direction[local_38].green" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (expression_statement "local_64[2] = local_64[2] + pCVar13->direction[local_38].blue;" (assignment_expression "local_64[2] = local_64[2] + pCVar13->direction[local_38].blue" (subscript_expression "local_64[2]" identifier [ number_literal ]) = (binary_expression "local_64[2] + pCVar13->direction[local_38].blue" (subscript_expression "local_64[2]" identifier [ number_literal ]) + (field_expression "pCVar13->direction[local_38].blue" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (if_statement "if (CVar6 == CMYKColorspace) {\n              local_64[3] = local_64[3] + pCVar13->direction[local_38].black;\n            }" if (parenthesized_expression "(CVar6 == CMYKColorspace)" ( (binary_expression "CVar6 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n              local_64[3] = local_64[3] + pCVar13->direction[local_38].black;\n            }" { (expression_statement "local_64[3] = local_64[3] + pCVar13->direction[local_38].black;" (assignment_expression "local_64[3] = local_64[3] + pCVar13->direction[local_38].black" (subscript_expression "local_64[3]" identifier [ number_literal ]) = (binary_expression "local_64[3] + pCVar13->direction[local_38].black" (subscript_expression "local_64[3]" identifier [ number_literal ]) + (field_expression "pCVar13->direction[local_38].black" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) })) (if_statement "if (PVar7 != UndefinedPixelTrait) {\n              local_64[4] = local_64[4] + pCVar13->direction[local_38].alpha;\n            }" if (parenthesized_expression "(PVar7 != UndefinedPixelTrait)" ( (binary_expression "PVar7 != UndefinedPixelTrait" identifier != identifier) )) (compound_statement "{\n              local_64[4] = local_64[4] + pCVar13->direction[local_38].alpha;\n            }" { (expression_statement "local_64[4] = local_64[4] + pCVar13->direction[local_38].alpha;" (assignment_expression "local_64[4] = local_64[4] + pCVar13->direction[local_38].alpha" (subscript_expression "local_64[4]" identifier [ number_literal ]) = (binary_expression "local_64[4] + pCVar13->direction[local_38].alpha" (subscript_expression "local_64[4]" identifier [ number_literal ]) + (field_expression "pCVar13->direction[local_38].alpha" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) })) (expression_statement "dVar1 = pCVar13->direction[local_38].red;" (assignment_expression "dVar1 = pCVar13->direction[local_38].red" identifier = (field_expression "pCVar13->direction[local_38].red" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "dVar19 = ABS(dVar1);" (assignment_expression "dVar19 = ABS(dVar1)" identifier = (call_expression "ABS(dVar1)" identifier (argument_list "(dVar1)" ( identifier )))) ;) (if_statement "if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }" if (parenthesized_expression "(DAT_002ea690 <= dVar19)" ( (binary_expression "DAT_002ea690 <= dVar19" identifier <= identifier) )) (compound_statement "{\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }" { (expression_statement "dVar19 = log10(dVar19);" (assignment_expression "dVar19 = log10(dVar19)" identifier = (call_expression "log10(dVar19)" identifier (argument_list "(dVar19)" ( identifier )))) ;) (expression_statement "pCVar13 = *local_6c + local_50;" (assignment_expression "pCVar13 = *local_6c + local_50" identifier = (binary_expression "*local_6c + local_50" (pointer_expression "*local_6c" * identifier) + identifier)) ;) }) (else_clause "else {\n              dVar19 = (double)DAT_002f4200;\n            }" else (compound_statement "{\n              dVar19 = (double)DAT_002f4200;\n            }" { (expression_statement "dVar19 = (double)DAT_002f4200;" (assignment_expression "dVar19 = (double)DAT_002f4200" identifier = (cast_expression "(double)DAT_002f4200" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "pdVar17[0x20] = pdVar17[0x20] - dVar19 * dVar1;" (assignment_expression "pdVar17[0x20] = pdVar17[0x20] - dVar19 * dVar1" (subscript_expression "pdVar17[0x20]" identifier [ number_literal ]) = (binary_expression "pdVar17[0x20] - dVar19 * dVar1" (subscript_expression "pdVar17[0x20]" identifier [ number_literal ]) - (binary_expression "dVar19 * dVar1" identifier * identifier))) ;) (expression_statement "dVar1 = pCVar13->direction[local_38].green;" (assignment_expression "dVar1 = pCVar13->direction[local_38].green" identifier = (field_expression "pCVar13->direction[local_38].green" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "dVar19 = ABS(dVar1);" (assignment_expression "dVar19 = ABS(dVar1)" identifier = (call_expression "ABS(dVar1)" identifier (argument_list "(dVar1)" ( identifier )))) ;) (if_statement "if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }" if (parenthesized_expression "(DAT_002ea690 <= dVar19)" ( (binary_expression "DAT_002ea690 <= dVar19" identifier <= identifier) )) (compound_statement "{\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }" { (expression_statement "dVar19 = log10(dVar19);" (assignment_expression "dVar19 = log10(dVar19)" identifier = (call_expression "log10(dVar19)" identifier (argument_list "(dVar19)" ( identifier )))) ;) (expression_statement "pCVar13 = *local_6c + local_50;" (assignment_expression "pCVar13 = *local_6c + local_50" identifier = (binary_expression "*local_6c + local_50" (pointer_expression "*local_6c" * identifier) + identifier)) ;) }) (else_clause "else {\n              dVar19 = (double)DAT_002f4200;\n            }" else (compound_statement "{\n              dVar19 = (double)DAT_002f4200;\n            }" { (expression_statement "dVar19 = (double)DAT_002f4200;" (assignment_expression "dVar19 = (double)DAT_002f4200" identifier = (cast_expression "(double)DAT_002f4200" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "pdVar17[0x58] = pdVar17[0x58] - dVar19 * dVar1;" (assignment_expression "pdVar17[0x58] = pdVar17[0x58] - dVar19 * dVar1" (subscript_expression "pdVar17[0x58]" identifier [ number_literal ]) = (binary_expression "pdVar17[0x58] - dVar19 * dVar1" (subscript_expression "pdVar17[0x58]" identifier [ number_literal ]) - (binary_expression "dVar19 * dVar1" identifier * identifier))) ;) (expression_statement "dVar1 = pCVar13->direction[local_38].blue;" (assignment_expression "dVar1 = pCVar13->direction[local_38].blue" identifier = (field_expression "pCVar13->direction[local_38].blue" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "dVar19 = ABS(dVar1);" (assignment_expression "dVar19 = ABS(dVar1)" identifier = (call_expression "ABS(dVar1)" identifier (argument_list "(dVar1)" ( identifier )))) ;) (if_statement "if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }" if (parenthesized_expression "(DAT_002ea690 <= dVar19)" ( (binary_expression "DAT_002ea690 <= dVar19" identifier <= identifier) )) (compound_statement "{\n              dVar19 = log10(dVar19);\n              pCVar13 = *local_6c + local_50;\n            }" { (expression_statement "dVar19 = log10(dVar19);" (assignment_expression "dVar19 = log10(dVar19)" identifier = (call_expression "log10(dVar19)" identifier (argument_list "(dVar19)" ( identifier )))) ;) (expression_statement "pCVar13 = *local_6c + local_50;" (assignment_expression "pCVar13 = *local_6c + local_50" identifier = (binary_expression "*local_6c + local_50" (pointer_expression "*local_6c" * identifier) + identifier)) ;) }) (else_clause "else {\n              dVar19 = (double)DAT_002f4200;\n            }" else (compound_statement "{\n              dVar19 = (double)DAT_002f4200;\n            }" { (expression_statement "dVar19 = (double)DAT_002f4200;" (assignment_expression "dVar19 = (double)DAT_002f4200" identifier = (cast_expression "(double)DAT_002f4200" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "CVar6 = pIVar5->colorspace;" (assignment_expression "CVar6 = pIVar5->colorspace" identifier = (field_expression "pIVar5->colorspace" identifier -> field_identifier)) ;) (expression_statement "pdVar17[0x90] = pdVar17[0x90] - dVar19 * dVar1;" (assignment_expression "pdVar17[0x90] = pdVar17[0x90] - dVar19 * dVar1" (subscript_expression "pdVar17[0x90]" identifier [ number_literal ]) = (binary_expression "pdVar17[0x90] - dVar19 * dVar1" (subscript_expression "pdVar17[0x90]" identifier [ number_literal ]) - (binary_expression "dVar19 * dVar1" identifier * identifier))) ;) (if_statement "if (CVar6 == CMYKColorspace) {\n              dVar1 = pCVar13->direction[local_38].black;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[200] = pdVar17[200] - dVar19 * dVar1;\n            }" if (parenthesized_expression "(CVar6 == CMYKColorspace)" ( (binary_expression "CVar6 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n              dVar1 = pCVar13->direction[local_38].black;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[200] = pdVar17[200] - dVar19 * dVar1;\n            }" { (expression_statement "dVar1 = pCVar13->direction[local_38].black;" (assignment_expression "dVar1 = pCVar13->direction[local_38].black" identifier = (field_expression "pCVar13->direction[local_38].black" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "dVar19 = ABS(dVar1);" (assignment_expression "dVar19 = ABS(dVar1)" identifier = (call_expression "ABS(dVar1)" identifier (argument_list "(dVar1)" ( identifier )))) ;) (if_statement "if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }" if (parenthesized_expression "(DAT_002ea690 <= dVar19)" ( (binary_expression "DAT_002ea690 <= dVar19" identifier <= identifier) )) (compound_statement "{\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n              }" { (expression_statement "dVar19 = log10(dVar19);" (assignment_expression "dVar19 = log10(dVar19)" identifier = (call_expression "log10(dVar19)" identifier (argument_list "(dVar19)" ( identifier )))) ;) (expression_statement "pCVar13 = *local_6c + local_50;" (assignment_expression "pCVar13 = *local_6c + local_50" identifier = (binary_expression "*local_6c + local_50" (pointer_expression "*local_6c" * identifier) + identifier)) ;) }) (else_clause "else {\n                dVar19 = (double)DAT_002f4200;\n              }" else (compound_statement "{\n                dVar19 = (double)DAT_002f4200;\n              }" { (expression_statement "dVar19 = (double)DAT_002f4200;" (assignment_expression "dVar19 = (double)DAT_002f4200" identifier = (cast_expression "(double)DAT_002f4200" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "pdVar17[200] = pdVar17[200] - dVar19 * dVar1;" (assignment_expression "pdVar17[200] = pdVar17[200] - dVar19 * dVar1" (subscript_expression "pdVar17[200]" identifier [ number_literal ]) = (binary_expression "pdVar17[200] - dVar19 * dVar1" (subscript_expression "pdVar17[200]" identifier [ number_literal ]) - (binary_expression "dVar19 * dVar1" identifier * identifier))) ;) })) (expression_statement "PVar16 = pIVar5->alpha_trait;" (assignment_expression "PVar16 = pIVar5->alpha_trait" identifier = (field_expression "pIVar5->alpha_trait" identifier -> field_identifier)) ;) (if_statement "if (PVar16 != UndefinedPixelTrait) {\n              dVar1 = pCVar13->direction[local_38].alpha;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n                PVar16 = pIVar5->alpha_trait;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[0x100] = pdVar17[0x100] - dVar19 * dVar1;\n            }" if (parenthesized_expression "(PVar16 != UndefinedPixelTrait)" ( (binary_expression "PVar16 != UndefinedPixelTrait" identifier != identifier) )) (compound_statement "{\n              dVar1 = pCVar13->direction[local_38].alpha;\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n                PVar16 = pIVar5->alpha_trait;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar17[0x100] = pdVar17[0x100] - dVar19 * dVar1;\n            }" { (expression_statement "dVar1 = pCVar13->direction[local_38].alpha;" (assignment_expression "dVar1 = pCVar13->direction[local_38].alpha" identifier = (field_expression "pCVar13->direction[local_38].alpha" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "dVar19 = ABS(dVar1);" (assignment_expression "dVar19 = ABS(dVar1)" identifier = (call_expression "ABS(dVar1)" identifier (argument_list "(dVar1)" ( identifier )))) ;) (if_statement "if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n                PVar16 = pIVar5->alpha_trait;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }" if (parenthesized_expression "(DAT_002ea690 <= dVar19)" ( (binary_expression "DAT_002ea690 <= dVar19" identifier <= identifier) )) (compound_statement "{\n                dVar19 = log10(dVar19);\n                pCVar13 = *local_6c + local_50;\n                PVar16 = pIVar5->alpha_trait;\n              }" { (expression_statement "dVar19 = log10(dVar19);" (assignment_expression "dVar19 = log10(dVar19)" identifier = (call_expression "log10(dVar19)" identifier (argument_list "(dVar19)" ( identifier )))) ;) (expression_statement "pCVar13 = *local_6c + local_50;" (assignment_expression "pCVar13 = *local_6c + local_50" identifier = (binary_expression "*local_6c + local_50" (pointer_expression "*local_6c" * identifier) + identifier)) ;) (expression_statement "PVar16 = pIVar5->alpha_trait;" (assignment_expression "PVar16 = pIVar5->alpha_trait" identifier = (field_expression "pIVar5->alpha_trait" identifier -> field_identifier)) ;) }) (else_clause "else {\n                dVar19 = (double)DAT_002f4200;\n              }" else (compound_statement "{\n                dVar19 = (double)DAT_002f4200;\n              }" { (expression_statement "dVar19 = (double)DAT_002f4200;" (assignment_expression "dVar19 = (double)DAT_002f4200" identifier = (cast_expression "(double)DAT_002f4200" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "pdVar17[0x100] = pdVar17[0x100] - dVar19 * dVar1;" (assignment_expression "pdVar17[0x100] = pdVar17[0x100] - dVar19 * dVar1" (subscript_expression "pdVar17[0x100]" identifier [ number_literal ]) = (binary_expression "pdVar17[0x100] - dVar19 * dVar1" (subscript_expression "pdVar17[0x100]" identifier [ number_literal ]) - (binary_expression "dVar19 * dVar1" identifier * identifier))) ;) })) (expression_statement "*pMVar18 = *pMVar18 + pCVar13->direction[local_38].red;" (assignment_expression "*pMVar18 = *pMVar18 + pCVar13->direction[local_38].red" (pointer_expression "*pMVar18" * identifier) = (binary_expression "*pMVar18 + pCVar13->direction[local_38].red" (pointer_expression "*pMVar18" * identifier) + (field_expression "pCVar13->direction[local_38].red" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (expression_statement "pMVar18[1] = pMVar18[1] + pCVar13->direction[local_38].green;" (assignment_expression "pMVar18[1] = pMVar18[1] + pCVar13->direction[local_38].green" (subscript_expression "pMVar18[1]" identifier [ number_literal ]) = (binary_expression "pMVar18[1] + pCVar13->direction[local_38].green" (subscript_expression "pMVar18[1]" identifier [ number_literal ]) + (field_expression "pCVar13->direction[local_38].green" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (expression_statement "pMVar18[2] = pMVar18[2] + pCVar13->direction[local_38].blue;" (assignment_expression "pMVar18[2] = pMVar18[2] + pCVar13->direction[local_38].blue" (subscript_expression "pMVar18[2]" identifier [ number_literal ]) = (binary_expression "pMVar18[2] + pCVar13->direction[local_38].blue" (subscript_expression "pMVar18[2]" identifier [ number_literal ]) + (field_expression "pCVar13->direction[local_38].blue" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (if_statement "if (PVar16 != UndefinedPixelTrait) {\n              pMVar18[4] = pMVar18[4] + pCVar13->direction[local_38].alpha;\n            }" if (parenthesized_expression "(PVar16 != UndefinedPixelTrait)" ( (binary_expression "PVar16 != UndefinedPixelTrait" identifier != identifier) )) (compound_statement "{\n              pMVar18[4] = pMVar18[4] + pCVar13->direction[local_38].alpha;\n            }" { (expression_statement "pMVar18[4] = pMVar18[4] + pCVar13->direction[local_38].alpha;" (assignment_expression "pMVar18[4] = pMVar18[4] + pCVar13->direction[local_38].alpha" (subscript_expression "pMVar18[4]" identifier [ number_literal ]) = (binary_expression "pMVar18[4] + pCVar13->direction[local_38].alpha" (subscript_expression "pMVar18[4]" identifier [ number_literal ]) + (field_expression "pCVar13->direction[local_38].alpha" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) })) (if_statement "if (pIVar5->colorspace == CMYKColorspace) {\n              pMVar18[3] = pMVar18[3] + pCVar13->direction[local_38].black;\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n              local_4c[3] = local_4c[3] + pCVar13->direction[local_38].black;\n            }\n            else {\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n            }" if (parenthesized_expression "(pIVar5->colorspace == CMYKColorspace)" ( (binary_expression "pIVar5->colorspace == CMYKColorspace" (field_expression "pIVar5->colorspace" identifier -> field_identifier) == identifier) )) (compound_statement "{\n              pMVar18[3] = pMVar18[3] + pCVar13->direction[local_38].black;\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n              local_4c[3] = local_4c[3] + pCVar13->direction[local_38].black;\n            }" { (expression_statement "pMVar18[3] = pMVar18[3] + pCVar13->direction[local_38].black;" (assignment_expression "pMVar18[3] = pMVar18[3] + pCVar13->direction[local_38].black" (subscript_expression "pMVar18[3]" identifier [ number_literal ]) = (binary_expression "pMVar18[3] + pCVar13->direction[local_38].black" (subscript_expression "pMVar18[3]" identifier [ number_literal ]) + (field_expression "pCVar13->direction[local_38].black" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (expression_statement "*local_4c = *local_4c + pCVar13->direction[local_38].red;" (assignment_expression "*local_4c = *local_4c + pCVar13->direction[local_38].red" (pointer_expression "*local_4c" * identifier) = (binary_expression "*local_4c + pCVar13->direction[local_38].red" (pointer_expression "*local_4c" * identifier) + (field_expression "pCVar13->direction[local_38].red" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (expression_statement "local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;" (assignment_expression "local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green" (subscript_expression "local_4c[1]" identifier [ number_literal ]) = (binary_expression "local_4c[1] + pCVar13->direction[local_38].green" (subscript_expression "local_4c[1]" identifier [ number_literal ]) + (field_expression "pCVar13->direction[local_38].green" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (expression_statement "local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;" (assignment_expression "local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue" (subscript_expression "local_4c[2]" identifier [ number_literal ]) = (binary_expression "local_4c[2] + pCVar13->direction[local_38].blue" (subscript_expression "local_4c[2]" identifier [ number_literal ]) + (field_expression "pCVar13->direction[local_38].blue" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (expression_statement "local_4c[3] = local_4c[3] + pCVar13->direction[local_38].black;" (assignment_expression "local_4c[3] = local_4c[3] + pCVar13->direction[local_38].black" (subscript_expression "local_4c[3]" identifier [ number_literal ]) = (binary_expression "local_4c[3] + pCVar13->direction[local_38].black" (subscript_expression "local_4c[3]" identifier [ number_literal ]) + (field_expression "pCVar13->direction[local_38].black" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) }) (else_clause "else {\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n            }" else (compound_statement "{\n              *local_4c = *local_4c + pCVar13->direction[local_38].red;\n              local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;\n              local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;\n            }" { (expression_statement "*local_4c = *local_4c + pCVar13->direction[local_38].red;" (assignment_expression "*local_4c = *local_4c + pCVar13->direction[local_38].red" (pointer_expression "*local_4c" * identifier) = (binary_expression "*local_4c + pCVar13->direction[local_38].red" (pointer_expression "*local_4c" * identifier) + (field_expression "pCVar13->direction[local_38].red" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (expression_statement "local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green;" (assignment_expression "local_4c[1] = local_4c[1] + pCVar13->direction[local_38].green" (subscript_expression "local_4c[1]" identifier [ number_literal ]) = (binary_expression "local_4c[1] + pCVar13->direction[local_38].green" (subscript_expression "local_4c[1]" identifier [ number_literal ]) + (field_expression "pCVar13->direction[local_38].green" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (expression_statement "local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue;" (assignment_expression "local_4c[2] = local_4c[2] + pCVar13->direction[local_38].blue" (subscript_expression "local_4c[2]" identifier [ number_literal ]) = (binary_expression "local_4c[2] + pCVar13->direction[local_38].blue" (subscript_expression "local_4c[2]" identifier [ number_literal ]) + (field_expression "pCVar13->direction[local_38].blue" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) }))) (if_statement "if (PVar16 == UndefinedPixelTrait) {\n              PVar7 = UndefinedPixelTrait;\n              CVar6 = pIVar5->colorspace;\n            }\n            else {\n              CVar6 = pIVar5->colorspace;\n              local_4c[4] = local_4c[4] + pCVar13->direction[local_38].alpha;\n              PVar7 = PVar16;\n            }" if (parenthesized_expression "(PVar16 == UndefinedPixelTrait)" ( (binary_expression "PVar16 == UndefinedPixelTrait" identifier == identifier) )) (compound_statement "{\n              PVar7 = UndefinedPixelTrait;\n              CVar6 = pIVar5->colorspace;\n            }" { (expression_statement "PVar7 = UndefinedPixelTrait;" (assignment_expression "PVar7 = UndefinedPixelTrait" identifier = identifier) ;) (expression_statement "CVar6 = pIVar5->colorspace;" (assignment_expression "CVar6 = pIVar5->colorspace" identifier = (field_expression "pIVar5->colorspace" identifier -> field_identifier)) ;) }) (else_clause "else {\n              CVar6 = pIVar5->colorspace;\n              local_4c[4] = local_4c[4] + pCVar13->direction[local_38].alpha;\n              PVar7 = PVar16;\n            }" else (compound_statement "{\n              CVar6 = pIVar5->colorspace;\n              local_4c[4] = local_4c[4] + pCVar13->direction[local_38].alpha;\n              PVar7 = PVar16;\n            }" { (expression_statement "CVar6 = pIVar5->colorspace;" (assignment_expression "CVar6 = pIVar5->colorspace" identifier = (field_expression "pIVar5->colorspace" identifier -> field_identifier)) ;) (expression_statement "local_4c[4] = local_4c[4] + pCVar13->direction[local_38].alpha;" (assignment_expression "local_4c[4] = local_4c[4] + pCVar13->direction[local_38].alpha" (subscript_expression "local_4c[4]" identifier [ number_literal ]) = (binary_expression "local_4c[4] + pCVar13->direction[local_38].alpha" (subscript_expression "local_4c[4]" identifier [ number_literal ]) + (field_expression "pCVar13->direction[local_38].alpha" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (expression_statement "PVar7 = PVar16;" (assignment_expression "PVar7 = PVar16" identifier = identifier) ;) }))) (expression_statement "local_74 = local_74 - 1;" (assignment_expression "local_74 = local_74 - 1" identifier = (binary_expression "local_74 - 1" identifier - number_literal)) ;) (expression_statement "pMVar18 = pMVar18 + 0x28;" (assignment_expression "pMVar18 = pMVar18 + 0x28" identifier = (binary_expression "pMVar18 + 0x28" identifier + number_literal)) ;) (expression_statement "local_6c = local_6c + 1;" (assignment_expression "local_6c = local_6c + 1" identifier = (binary_expression "local_6c + 1" identifier + number_literal)) ;) (expression_statement "local_64 = local_64 + 0x28;" (assignment_expression "local_64 = local_64 + 0x28" identifier = (binary_expression "local_64 + 0x28" identifier + number_literal)) ;) (expression_statement "local_58 = local_58 + local_50;" (assignment_expression "local_58 = local_58 + local_50" identifier = (binary_expression "local_58 + local_50" identifier + identifier)) ;) }) while (parenthesized_expression "(local_50 - uVar3 != local_74)" ( (binary_expression "local_50 - uVar3 != local_74" (binary_expression "local_50 - uVar3" identifier - identifier) != identifier) )) ;) (expression_statement "dVar1 = (double)(int)local_50;" (assignment_expression "dVar1 = (double)(int)local_50" identifier = (cast_expression "(double)(int)local_50" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)local_50" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pCVar13 = this->mean;" (assignment_expression "pCVar13 = this->mean" identifier = (field_expression "this->mean" identifier -> field_identifier)) ;) (expression_statement "pCVar15 = this->sum_squares;" (assignment_expression "pCVar15 = this->sum_squares" identifier = (field_expression "this->sum_squares" identifier -> field_identifier)) ;) (expression_statement "pCVar13->direction[local_38].red = *local_60 * dVar1 + pCVar13->direction[local_38].red;" (assignment_expression "pCVar13->direction[local_38].red = *local_60 * dVar1 + pCVar13->direction[local_38].red" (field_expression "pCVar13->direction[local_38].red" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) = (binary_expression "*local_60 * dVar1 + pCVar13->direction[local_38].red" (binary_expression "*local_60 * dVar1" (pointer_expression "*local_60" * identifier) * identifier) + (field_expression "pCVar13->direction[local_38].red" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (expression_statement "dVar19 = (double)(int)(local_50 * local_50);" (assignment_expression "dVar19 = (double)(int)(local_50 * local_50)" identifier = (cast_expression "(double)(int)(local_50 * local_50)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(int)(local_50 * local_50)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_50 * local_50)" ( (binary_expression "local_50 * local_50" identifier * identifier) ))))) ;) (expression_statement "pCVar15->direction[local_38].red = *local_60 * dVar19 + pCVar15->direction[local_38].red;" (assignment_expression "pCVar15->direction[local_38].red = *local_60 * dVar19 + pCVar15->direction[local_38].red" (field_expression "pCVar15->direction[local_38].red" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) = (binary_expression "*local_60 * dVar19 + pCVar15->direction[local_38].red" (binary_expression "*local_60 * dVar19" (pointer_expression "*local_60" * identifier) * identifier) + (field_expression "pCVar15->direction[local_38].red" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (expression_statement "pCVar13->direction[local_38].green =\n               local_60[1] * dVar1 + pCVar13->direction[local_38].green;" (assignment_expression "pCVar13->direction[local_38].green =\n               local_60[1] * dVar1 + pCVar13->direction[local_38].green" (field_expression "pCVar13->direction[local_38].green" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) = (binary_expression "local_60[1] * dVar1 + pCVar13->direction[local_38].green" (binary_expression "local_60[1] * dVar1" (subscript_expression "local_60[1]" identifier [ number_literal ]) * identifier) + (field_expression "pCVar13->direction[local_38].green" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (expression_statement "pCVar15->direction[local_38].green =\n               local_60[1] * dVar19 + pCVar15->direction[local_38].green;" (assignment_expression "pCVar15->direction[local_38].green =\n               local_60[1] * dVar19 + pCVar15->direction[local_38].green" (field_expression "pCVar15->direction[local_38].green" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) = (binary_expression "local_60[1] * dVar19 + pCVar15->direction[local_38].green" (binary_expression "local_60[1] * dVar19" (subscript_expression "local_60[1]" identifier [ number_literal ]) * identifier) + (field_expression "pCVar15->direction[local_38].green" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (expression_statement "pCVar13->direction[local_38].blue =\n               local_60[2] * dVar1 + pCVar13->direction[local_38].blue;" (assignment_expression "pCVar13->direction[local_38].blue =\n               local_60[2] * dVar1 + pCVar13->direction[local_38].blue" (field_expression "pCVar13->direction[local_38].blue" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) = (binary_expression "local_60[2] * dVar1 + pCVar13->direction[local_38].blue" (binary_expression "local_60[2] * dVar1" (subscript_expression "local_60[2]" identifier [ number_literal ]) * identifier) + (field_expression "pCVar13->direction[local_38].blue" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (expression_statement "pCVar15->direction[local_38].blue =\n               local_60[2] * dVar19 + pCVar15->direction[local_38].blue;" (assignment_expression "pCVar15->direction[local_38].blue =\n               local_60[2] * dVar19 + pCVar15->direction[local_38].blue" (field_expression "pCVar15->direction[local_38].blue" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) = (binary_expression "local_60[2] * dVar19 + pCVar15->direction[local_38].blue" (binary_expression "local_60[2] * dVar19" (subscript_expression "local_60[2]" identifier [ number_literal ]) * identifier) + (field_expression "pCVar15->direction[local_38].blue" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (if_statement "if (CVar6 == CMYKColorspace) {\n            pCVar13->direction[local_38].black =\n                 local_60[3] * dVar1 + pCVar13->direction[local_38].black;\n            pCVar15->direction[local_38].black =\n                 local_60[3] * dVar19 + pCVar15->direction[local_38].black;\n          }" if (parenthesized_expression "(CVar6 == CMYKColorspace)" ( (binary_expression "CVar6 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n            pCVar13->direction[local_38].black =\n                 local_60[3] * dVar1 + pCVar13->direction[local_38].black;\n            pCVar15->direction[local_38].black =\n                 local_60[3] * dVar19 + pCVar15->direction[local_38].black;\n          }" { (expression_statement "pCVar13->direction[local_38].black =\n                 local_60[3] * dVar1 + pCVar13->direction[local_38].black;" (assignment_expression "pCVar13->direction[local_38].black =\n                 local_60[3] * dVar1 + pCVar13->direction[local_38].black" (field_expression "pCVar13->direction[local_38].black" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) = (binary_expression "local_60[3] * dVar1 + pCVar13->direction[local_38].black" (binary_expression "local_60[3] * dVar1" (subscript_expression "local_60[3]" identifier [ number_literal ]) * identifier) + (field_expression "pCVar13->direction[local_38].black" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (expression_statement "pCVar15->direction[local_38].black =\n                 local_60[3] * dVar19 + pCVar15->direction[local_38].black;" (assignment_expression "pCVar15->direction[local_38].black =\n                 local_60[3] * dVar19 + pCVar15->direction[local_38].black" (field_expression "pCVar15->direction[local_38].black" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) = (binary_expression "local_60[3] * dVar19 + pCVar15->direction[local_38].black" (binary_expression "local_60[3] * dVar19" (subscript_expression "local_60[3]" identifier [ number_literal ]) * identifier) + (field_expression "pCVar15->direction[local_38].black" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) })) (if_statement "if (PVar16 != UndefinedPixelTrait) {\n            pCVar13->direction[local_38].alpha =\n                 dVar1 * local_60[4] + pCVar13->direction[local_38].alpha;\n            pCVar15->direction[local_38].alpha =\n                 dVar19 * local_60[4] + pCVar15->direction[local_38].alpha;\n          }" if (parenthesized_expression "(PVar16 != UndefinedPixelTrait)" ( (binary_expression "PVar16 != UndefinedPixelTrait" identifier != identifier) )) (compound_statement "{\n            pCVar13->direction[local_38].alpha =\n                 dVar1 * local_60[4] + pCVar13->direction[local_38].alpha;\n            pCVar15->direction[local_38].alpha =\n                 dVar19 * local_60[4] + pCVar15->direction[local_38].alpha;\n          }" { (expression_statement "pCVar13->direction[local_38].alpha =\n                 dVar1 * local_60[4] + pCVar13->direction[local_38].alpha;" (assignment_expression "pCVar13->direction[local_38].alpha =\n                 dVar1 * local_60[4] + pCVar13->direction[local_38].alpha" (field_expression "pCVar13->direction[local_38].alpha" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) = (binary_expression "dVar1 * local_60[4] + pCVar13->direction[local_38].alpha" (binary_expression "dVar1 * local_60[4]" identifier * (subscript_expression "local_60[4]" identifier [ number_literal ])) + (field_expression "pCVar13->direction[local_38].alpha" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) (expression_statement "pCVar15->direction[local_38].alpha =\n                 dVar19 * local_60[4] + pCVar15->direction[local_38].alpha;" (assignment_expression "pCVar15->direction[local_38].alpha =\n                 dVar19 * local_60[4] + pCVar15->direction[local_38].alpha" (field_expression "pCVar15->direction[local_38].alpha" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) = (binary_expression "dVar19 * local_60[4] + pCVar15->direction[local_38].alpha" (binary_expression "dVar19 * local_60[4]" identifier * (subscript_expression "local_60[4]" identifier [ number_literal ])) + (field_expression "pCVar15->direction[local_38].alpha" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier))) ;) })) (expression_statement "local_50 = local_50 + 1;" (assignment_expression "local_50 = local_50 + 1" identifier = (binary_expression "local_50 + 1" identifier + number_literal)) ;) (expression_statement "local_60 = local_60 + 0x28;" (assignment_expression "local_60 = local_60 + 0x28" identifier = (binary_expression "local_60 + 0x28" identifier + number_literal)) ;) (expression_statement "local_4c = local_4c + 0x28;" (assignment_expression "local_4c = local_4c + 0x28" identifier = (binary_expression "local_4c + 0x28" identifier + number_literal)) ;) (expression_statement "local_3c = local_3c + 0x28;" (assignment_expression "local_3c = local_3c + 0x28" identifier = (binary_expression "local_3c + 0x28" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_50 != uVar3)" ( (binary_expression "local_50 != uVar3" identifier != identifier) )) ;) }))) (expression_statement "pCVar14 = this->correlation;" (assignment_expression "pCVar14 = this->correlation" identifier = (field_expression "this->correlation" identifier -> field_identifier)) ;) (expression_statement "dVar1 = pCVar13->direction[local_38].red;" (assignment_expression "dVar1 = pCVar13->direction[local_38].red" identifier = (field_expression "pCVar13->direction[local_38].red" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "dVar1 = dVar1 * dVar1;" (assignment_expression "dVar1 = dVar1 * dVar1" identifier = (binary_expression "dVar1 * dVar1" identifier * identifier)) ;) (expression_statement "dVar19 = pCVar14->direction[local_38].red;" (assignment_expression "dVar19 = pCVar14->direction[local_38].red" identifier = (field_expression "pCVar14->direction[local_38].red" (subscript_expression "pCVar14->direction[local_38]" (field_expression "pCVar14->direction" identifier -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "dVar8 = pCVar15->direction[local_38].red - dVar1;" (assignment_expression "dVar8 = pCVar15->direction[local_38].red - dVar1" identifier = (binary_expression "pCVar15->direction[local_38].red - dVar1" (field_expression "pCVar15->direction[local_38].red" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) - identifier)) ;) (expression_statement "dVar2 = SQRT(dVar8);" (assignment_expression "dVar2 = SQRT(dVar8)" identifier = (call_expression "SQRT(dVar8)" identifier (argument_list "(dVar8)" ( identifier )))) ;) (if_statement "if (dVar8 < 0.0) {\n        sqrt(dVar8);\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n        dVar2 = pCVar13->direction[local_38].red;\n        dVar9 = pCVar15->direction[local_38].red - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (0.0 <= dVar9) {\n          pCVar14 = this->correlation;\n        }\n        else {\n          sqrt(dVar9);\n          pCVar13 = this->mean;\n          pCVar14 = this->correlation;\n          pCVar15 = this->sum_squares;\n        }\n      }" if (parenthesized_expression "(dVar8 < 0.0)" ( (binary_expression "dVar8 < 0.0" identifier < number_literal) )) (compound_statement "{\n        sqrt(dVar8);\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n        dVar2 = pCVar13->direction[local_38].red;\n        dVar9 = pCVar15->direction[local_38].red - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (0.0 <= dVar9) {\n          pCVar14 = this->correlation;\n        }\n        else {\n          sqrt(dVar9);\n          pCVar13 = this->mean;\n          pCVar14 = this->correlation;\n          pCVar15 = this->sum_squares;\n        }\n      }" { (expression_statement "sqrt(dVar8);" (call_expression "sqrt(dVar8)" identifier (argument_list "(dVar8)" ( identifier ))) ;) (expression_statement "pCVar13 = this->mean;" (assignment_expression "pCVar13 = this->mean" identifier = (field_expression "this->mean" identifier -> field_identifier)) ;) (expression_statement "pCVar15 = this->sum_squares;" (assignment_expression "pCVar15 = this->sum_squares" identifier = (field_expression "this->sum_squares" identifier -> field_identifier)) ;) (expression_statement "dVar2 = pCVar13->direction[local_38].red;" (assignment_expression "dVar2 = pCVar13->direction[local_38].red" identifier = (field_expression "pCVar13->direction[local_38].red" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "dVar9 = pCVar15->direction[local_38].red - dVar2 * dVar2;" (assignment_expression "dVar9 = pCVar15->direction[local_38].red - dVar2 * dVar2" identifier = (binary_expression "pCVar15->direction[local_38].red - dVar2 * dVar2" (field_expression "pCVar15->direction[local_38].red" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) - (binary_expression "dVar2 * dVar2" identifier * identifier))) ;) (expression_statement "dVar2 = SQRT(dVar9);" (assignment_expression "dVar2 = SQRT(dVar9)" identifier = (call_expression "SQRT(dVar9)" identifier (argument_list "(dVar9)" ( identifier )))) ;) (if_statement "if (0.0 <= dVar9) {\n          pCVar14 = this->correlation;\n        }\n        else {\n          sqrt(dVar9);\n          pCVar13 = this->mean;\n          pCVar14 = this->correlation;\n          pCVar15 = this->sum_squares;\n        }" if (parenthesized_expression "(0.0 <= dVar9)" ( (binary_expression "0.0 <= dVar9" number_literal <= identifier) )) (compound_statement "{\n          pCVar14 = this->correlation;\n        }" { (expression_statement "pCVar14 = this->correlation;" (assignment_expression "pCVar14 = this->correlation" identifier = (field_expression "this->correlation" identifier -> field_identifier)) ;) }) (else_clause "else {\n          sqrt(dVar9);\n          pCVar13 = this->mean;\n          pCVar14 = this->correlation;\n          pCVar15 = this->sum_squares;\n        }" else (compound_statement "{\n          sqrt(dVar9);\n          pCVar13 = this->mean;\n          pCVar14 = this->correlation;\n          pCVar15 = this->sum_squares;\n        }" { (expression_statement "sqrt(dVar9);" (call_expression "sqrt(dVar9)" identifier (argument_list "(dVar9)" ( identifier ))) ;) (expression_statement "pCVar13 = this->mean;" (assignment_expression "pCVar13 = this->mean" identifier = (field_expression "this->mean" identifier -> field_identifier)) ;) (expression_statement "pCVar14 = this->correlation;" (assignment_expression "pCVar14 = this->correlation" identifier = (field_expression "this->correlation" identifier -> field_identifier)) ;) (expression_statement "pCVar15 = this->sum_squares;" (assignment_expression "pCVar15 = this->sum_squares" identifier = (field_expression "this->sum_squares" identifier -> field_identifier)) ;) }))) })) (expression_statement "pdVar17[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));" (assignment_expression "pdVar17[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8))" (subscript_expression "pdVar17[8]" identifier [ number_literal ]) = (binary_expression "(dVar19 - dVar1) / (dVar2 * SQRT(dVar8))" (parenthesized_expression "(dVar19 - dVar1)" ( (binary_expression "dVar19 - dVar1" identifier - identifier) )) / (parenthesized_expression "(dVar2 * SQRT(dVar8))" ( (binary_expression "dVar2 * SQRT(dVar8)" identifier * (call_expression "SQRT(dVar8)" identifier (argument_list "(dVar8)" ( identifier )))) )))) ;) (expression_statement "dVar1 = pCVar13->direction[local_38].green;" (assignment_expression "dVar1 = pCVar13->direction[local_38].green" identifier = (field_expression "pCVar13->direction[local_38].green" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "dVar1 = dVar1 * dVar1;" (assignment_expression "dVar1 = dVar1 * dVar1" identifier = (binary_expression "dVar1 * dVar1" identifier * identifier)) ;) (expression_statement "dVar19 = pCVar14->direction[local_38].green;" (assignment_expression "dVar19 = pCVar14->direction[local_38].green" identifier = (field_expression "pCVar14->direction[local_38].green" (subscript_expression "pCVar14->direction[local_38]" (field_expression "pCVar14->direction" identifier -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "dVar8 = pCVar15->direction[local_38].green - dVar1;" (assignment_expression "dVar8 = pCVar15->direction[local_38].green - dVar1" identifier = (binary_expression "pCVar15->direction[local_38].green - dVar1" (field_expression "pCVar15->direction[local_38].green" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) - identifier)) ;) (expression_statement "dVar2 = SQRT(dVar8);" (assignment_expression "dVar2 = SQRT(dVar8)" identifier = (call_expression "SQRT(dVar8)" identifier (argument_list "(dVar8)" ( identifier )))) ;) (if_statement "if (dVar8 < 0.0) {\n        sqrt(dVar8);\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n        dVar2 = pCVar13->direction[local_38].green;\n        dVar9 = pCVar15->direction[local_38].green - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (0.0 <= dVar9) {\n          pCVar14 = this->correlation;\n        }\n        else {\n          sqrt(dVar9);\n          pCVar13 = this->mean;\n          pCVar14 = this->correlation;\n          pCVar15 = this->sum_squares;\n        }\n      }" if (parenthesized_expression "(dVar8 < 0.0)" ( (binary_expression "dVar8 < 0.0" identifier < number_literal) )) (compound_statement "{\n        sqrt(dVar8);\n        pCVar13 = this->mean;\n        pCVar15 = this->sum_squares;\n        dVar2 = pCVar13->direction[local_38].green;\n        dVar9 = pCVar15->direction[local_38].green - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (0.0 <= dVar9) {\n          pCVar14 = this->correlation;\n        }\n        else {\n          sqrt(dVar9);\n          pCVar13 = this->mean;\n          pCVar14 = this->correlation;\n          pCVar15 = this->sum_squares;\n        }\n      }" { (expression_statement "sqrt(dVar8);" (call_expression "sqrt(dVar8)" identifier (argument_list "(dVar8)" ( identifier ))) ;) (expression_statement "pCVar13 = this->mean;" (assignment_expression "pCVar13 = this->mean" identifier = (field_expression "this->mean" identifier -> field_identifier)) ;) (expression_statement "pCVar15 = this->sum_squares;" (assignment_expression "pCVar15 = this->sum_squares" identifier = (field_expression "this->sum_squares" identifier -> field_identifier)) ;) (expression_statement "dVar2 = pCVar13->direction[local_38].green;" (assignment_expression "dVar2 = pCVar13->direction[local_38].green" identifier = (field_expression "pCVar13->direction[local_38].green" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "dVar9 = pCVar15->direction[local_38].green - dVar2 * dVar2;" (assignment_expression "dVar9 = pCVar15->direction[local_38].green - dVar2 * dVar2" identifier = (binary_expression "pCVar15->direction[local_38].green - dVar2 * dVar2" (field_expression "pCVar15->direction[local_38].green" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) - (binary_expression "dVar2 * dVar2" identifier * identifier))) ;) (expression_statement "dVar2 = SQRT(dVar9);" (assignment_expression "dVar2 = SQRT(dVar9)" identifier = (call_expression "SQRT(dVar9)" identifier (argument_list "(dVar9)" ( identifier )))) ;) (if_statement "if (0.0 <= dVar9) {\n          pCVar14 = this->correlation;\n        }\n        else {\n          sqrt(dVar9);\n          pCVar13 = this->mean;\n          pCVar14 = this->correlation;\n          pCVar15 = this->sum_squares;\n        }" if (parenthesized_expression "(0.0 <= dVar9)" ( (binary_expression "0.0 <= dVar9" number_literal <= identifier) )) (compound_statement "{\n          pCVar14 = this->correlation;\n        }" { (expression_statement "pCVar14 = this->correlation;" (assignment_expression "pCVar14 = this->correlation" identifier = (field_expression "this->correlation" identifier -> field_identifier)) ;) }) (else_clause "else {\n          sqrt(dVar9);\n          pCVar13 = this->mean;\n          pCVar14 = this->correlation;\n          pCVar15 = this->sum_squares;\n        }" else (compound_statement "{\n          sqrt(dVar9);\n          pCVar13 = this->mean;\n          pCVar14 = this->correlation;\n          pCVar15 = this->sum_squares;\n        }" { (expression_statement "sqrt(dVar9);" (call_expression "sqrt(dVar9)" identifier (argument_list "(dVar9)" ( identifier ))) ;) (expression_statement "pCVar13 = this->mean;" (assignment_expression "pCVar13 = this->mean" identifier = (field_expression "this->mean" identifier -> field_identifier)) ;) (expression_statement "pCVar14 = this->correlation;" (assignment_expression "pCVar14 = this->correlation" identifier = (field_expression "this->correlation" identifier -> field_identifier)) ;) (expression_statement "pCVar15 = this->sum_squares;" (assignment_expression "pCVar15 = this->sum_squares" identifier = (field_expression "this->sum_squares" identifier -> field_identifier)) ;) }))) })) (expression_statement "pdVar17[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));" (assignment_expression "pdVar17[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8))" (subscript_expression "pdVar17[0x40]" identifier [ number_literal ]) = (binary_expression "(dVar19 - dVar1) / (dVar2 * SQRT(dVar8))" (parenthesized_expression "(dVar19 - dVar1)" ( (binary_expression "dVar19 - dVar1" identifier - identifier) )) / (parenthesized_expression "(dVar2 * SQRT(dVar8))" ( (binary_expression "dVar2 * SQRT(dVar8)" identifier * (call_expression "SQRT(dVar8)" identifier (argument_list "(dVar8)" ( identifier )))) )))) ;) (expression_statement "dVar1 = pCVar13->direction[local_38].blue;" (assignment_expression "dVar1 = pCVar13->direction[local_38].blue" identifier = (field_expression "pCVar13->direction[local_38].blue" (subscript_expression "pCVar13->direction[local_38]" (field_expression "pCVar13->direction" identifier -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "dVar1 = dVar1 * dVar1;" (assignment_expression "dVar1 = dVar1 * dVar1" identifier = (binary_expression "dVar1 * dVar1" identifier * identifier)) ;) (expression_statement "dVar19 = pCVar14->direction[local_38].blue;" (assignment_expression "dVar19 = pCVar14->direction[local_38].blue" identifier = (field_expression "pCVar14->direction[local_38].blue" (subscript_expression "pCVar14->direction[local_38]" (field_expression "pCVar14->direction" identifier -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "dVar8 = pCVar15->direction[local_38].blue - dVar1;" (assignment_expression "dVar8 = pCVar15->direction[local_38].blue - dVar1" identifier = (binary_expression "pCVar15->direction[local_38].blue - dVar1" (field_expression "pCVar15->direction[local_38].blue" (subscript_expression "pCVar15->direction[local_38]" (field_expression "pCVar15->direction" identifier -> field_identifier) [ identifier ]) . field_identifier) - identifier)) ;) (expression_statement "dVar2 = SQRT(dVar8);" (assignment_expression "dVar2 = SQRT(dVar8)" identifier = (call_expression "SQRT(dVar8)" identifier (argument_list "(dVar8)" ( identifier )))) ;) (if_statement "if (dVar8 < 0.0) {\n        sqrt(dVar8);\n        dVar2 = this->mean->direction[local_38].blue;\n        dVar9 = this->sum_squares->direction[local_38].blue - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (dVar9 < 0.0) {\n          sqrt(dVar9);\n        }\n      }" if (parenthesized_expression "(dVar8 < 0.0)" ( (binary_expression "dVar8 < 0.0" identifier < number_literal) )) (compound_statement "{\n        sqrt(dVar8);\n        dVar2 = this->mean->direction[local_38].blue;\n        dVar9 = this->sum_squares->direction[local_38].blue - dVar2 * dVar2;\n        dVar2 = SQRT(dVar9);\n        if (dVar9 < 0.0) {\n          sqrt(dVar9);\n        }\n      }" { (expression_statement "sqrt(dVar8);" (call_expression "sqrt(dVar8)" identifier (argument_list "(dVar8)" ( identifier ))) ;) (expression_statement "dVar2 = this->mean->direction[local_38].blue;" (assignment_expression "dVar2 = this->mean->direction[local_38].blue" identifier = (field_expression "this->mean->direction[local_38].blue" (subscript_expression "this->mean->direction[local_38]" (field_expression "this->mean->direction" (field_expression "this->mean" identifier -> field_identifier) -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "dVar9 = this->sum_squares->direction[local_38].blue - dVar2 * dVar2;" (assignment_expression "dVar9 = this->sum_squares->direction[local_38].blue - dVar2 * dVar2" identifier = (binary_expression "this->sum_squares->direction[local_38].blue - dVar2 * dVar2" (field_expression "this->sum_squares->direction[local_38].blue" (subscript_expression "this->sum_squares->direction[local_38]" (field_expression "this->sum_squares->direction" (field_expression "this->sum_squares" identifier -> field_identifier) -> field_identifier) [ identifier ]) . field_identifier) - (binary_expression "dVar2 * dVar2" identifier * identifier))) ;) (expression_statement "dVar2 = SQRT(dVar9);" (assignment_expression "dVar2 = SQRT(dVar9)" identifier = (call_expression "SQRT(dVar9)" identifier (argument_list "(dVar9)" ( identifier )))) ;) (if_statement "if (dVar9 < 0.0) {\n          sqrt(dVar9);\n        }" if (parenthesized_expression "(dVar9 < 0.0)" ( (binary_expression "dVar9 < 0.0" identifier < number_literal) )) (compound_statement "{\n          sqrt(dVar9);\n        }" { (expression_statement "sqrt(dVar9);" (call_expression "sqrt(dVar9)" identifier (argument_list "(dVar9)" ( identifier ))) ;) })) })) (expression_statement "CVar6 = pIVar5->colorspace;" (assignment_expression "CVar6 = pIVar5->colorspace" identifier = (field_expression "pIVar5->colorspace" identifier -> field_identifier)) ;) (expression_statement "pdVar17[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));" (assignment_expression "pdVar17[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8))" (subscript_expression "pdVar17[0x78]" identifier [ number_literal ]) = (binary_expression "(dVar19 - dVar1) / (dVar2 * SQRT(dVar8))" (parenthesized_expression "(dVar19 - dVar1)" ( (binary_expression "dVar19 - dVar1" identifier - identifier) )) / (parenthesized_expression "(dVar2 * SQRT(dVar8))" ( (binary_expression "dVar2 * SQRT(dVar8)" identifier * (call_expression "SQRT(dVar8)" identifier (argument_list "(dVar8)" ( identifier )))) )))) ;) (if_statement "if (CVar6 == CMYKColorspace) {\n        dVar1 = this->mean->direction[local_38].black;\n        dVar1 = dVar1 * dVar1;\n        dVar19 = this->correlation->direction[local_38].black;\n        dVar8 = this->sum_squares->direction[local_38].black - dVar1;\n        dVar2 = SQRT(dVar8);\n        if (dVar8 < 0.0) {\n          sqrt(dVar8);\n          dVar2 = this->mean->direction[local_38].black;\n          dVar9 = this->sum_squares->direction[local_38].black - dVar2 * dVar2;\n          dVar2 = SQRT(dVar9);\n          if (dVar9 < 0.0) {\n            sqrt(dVar9);\n          }\n        }\n        pdVar17[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      }" if (parenthesized_expression "(CVar6 == CMYKColorspace)" ( (binary_expression "CVar6 == CMYKColorspace" identifier == identifier) )) (compound_statement "{\n        dVar1 = this->mean->direction[local_38].black;\n        dVar1 = dVar1 * dVar1;\n        dVar19 = this->correlation->direction[local_38].black;\n        dVar8 = this->sum_squares->direction[local_38].black - dVar1;\n        dVar2 = SQRT(dVar8);\n        if (dVar8 < 0.0) {\n          sqrt(dVar8);\n          dVar2 = this->mean->direction[local_38].black;\n          dVar9 = this->sum_squares->direction[local_38].black - dVar2 * dVar2;\n          dVar2 = SQRT(dVar9);\n          if (dVar9 < 0.0) {\n            sqrt(dVar9);\n          }\n        }\n        pdVar17[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      }" { (expression_statement "dVar1 = this->mean->direction[local_38].black;" (assignment_expression "dVar1 = this->mean->direction[local_38].black" identifier = (field_expression "this->mean->direction[local_38].black" (subscript_expression "this->mean->direction[local_38]" (field_expression "this->mean->direction" (field_expression "this->mean" identifier -> field_identifier) -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "dVar1 = dVar1 * dVar1;" (assignment_expression "dVar1 = dVar1 * dVar1" identifier = (binary_expression "dVar1 * dVar1" identifier * identifier)) ;) (expression_statement "dVar19 = this->correlation->direction[local_38].black;" (assignment_expression "dVar19 = this->correlation->direction[local_38].black" identifier = (field_expression "this->correlation->direction[local_38].black" (subscript_expression "this->correlation->direction[local_38]" (field_expression "this->correlation->direction" (field_expression "this->correlation" identifier -> field_identifier) -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "dVar8 = this->sum_squares->direction[local_38].black - dVar1;" (assignment_expression "dVar8 = this->sum_squares->direction[local_38].black - dVar1" identifier = (binary_expression "this->sum_squares->direction[local_38].black - dVar1" (field_expression "this->sum_squares->direction[local_38].black" (subscript_expression "this->sum_squares->direction[local_38]" (field_expression "this->sum_squares->direction" (field_expression "this->sum_squares" identifier -> field_identifier) -> field_identifier) [ identifier ]) . field_identifier) - identifier)) ;) (expression_statement "dVar2 = SQRT(dVar8);" (assignment_expression "dVar2 = SQRT(dVar8)" identifier = (call_expression "SQRT(dVar8)" identifier (argument_list "(dVar8)" ( identifier )))) ;) (if_statement "if (dVar8 < 0.0) {\n          sqrt(dVar8);\n          dVar2 = this->mean->direction[local_38].black;\n          dVar9 = this->sum_squares->direction[local_38].black - dVar2 * dVar2;\n          dVar2 = SQRT(dVar9);\n          if (dVar9 < 0.0) {\n            sqrt(dVar9);\n          }\n        }" if (parenthesized_expression "(dVar8 < 0.0)" ( (binary_expression "dVar8 < 0.0" identifier < number_literal) )) (compound_statement "{\n          sqrt(dVar8);\n          dVar2 = this->mean->direction[local_38].black;\n          dVar9 = this->sum_squares->direction[local_38].black - dVar2 * dVar2;\n          dVar2 = SQRT(dVar9);\n          if (dVar9 < 0.0) {\n            sqrt(dVar9);\n          }\n        }" { (expression_statement "sqrt(dVar8);" (call_expression "sqrt(dVar8)" identifier (argument_list "(dVar8)" ( identifier ))) ;) (expression_statement "dVar2 = this->mean->direction[local_38].black;" (assignment_expression "dVar2 = this->mean->direction[local_38].black" identifier = (field_expression "this->mean->direction[local_38].black" (subscript_expression "this->mean->direction[local_38]" (field_expression "this->mean->direction" (field_expression "this->mean" identifier -> field_identifier) -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "dVar9 = this->sum_squares->direction[local_38].black - dVar2 * dVar2;" (assignment_expression "dVar9 = this->sum_squares->direction[local_38].black - dVar2 * dVar2" identifier = (binary_expression "this->sum_squares->direction[local_38].black - dVar2 * dVar2" (field_expression "this->sum_squares->direction[local_38].black" (subscript_expression "this->sum_squares->direction[local_38]" (field_expression "this->sum_squares->direction" (field_expression "this->sum_squares" identifier -> field_identifier) -> field_identifier) [ identifier ]) . field_identifier) - (binary_expression "dVar2 * dVar2" identifier * identifier))) ;) (expression_statement "dVar2 = SQRT(dVar9);" (assignment_expression "dVar2 = SQRT(dVar9)" identifier = (call_expression "SQRT(dVar9)" identifier (argument_list "(dVar9)" ( identifier )))) ;) (if_statement "if (dVar9 < 0.0) {\n            sqrt(dVar9);\n          }" if (parenthesized_expression "(dVar9 < 0.0)" ( (binary_expression "dVar9 < 0.0" identifier < number_literal) )) (compound_statement "{\n            sqrt(dVar9);\n          }" { (expression_statement "sqrt(dVar9);" (call_expression "sqrt(dVar9)" identifier (argument_list "(dVar9)" ( identifier ))) ;) })) })) (expression_statement "pdVar17[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));" (assignment_expression "pdVar17[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8))" (subscript_expression "pdVar17[0xb0]" identifier [ number_literal ]) = (binary_expression "(dVar19 - dVar1) / (dVar2 * SQRT(dVar8))" (parenthesized_expression "(dVar19 - dVar1)" ( (binary_expression "dVar19 - dVar1" identifier - identifier) )) / (parenthesized_expression "(dVar2 * SQRT(dVar8))" ( (binary_expression "dVar2 * SQRT(dVar8)" identifier * (call_expression "SQRT(dVar8)" identifier (argument_list "(dVar8)" ( identifier )))) )))) ;) })) (if_statement "if (pIVar5->alpha_trait != UndefinedPixelTrait) {\n        dVar1 = this->mean->direction[local_38].alpha;\n        dVar1 = dVar1 * dVar1;\n        dVar19 = this->correlation->direction[local_38].alpha;\n        dVar8 = this->sum_squares->direction[local_38].alpha - dVar1;\n        dVar2 = SQRT(dVar8);\n        if (dVar8 < 0.0) {\n          sqrt(dVar8);\n          dVar2 = this->mean->direction[local_38].alpha;\n          dVar9 = this->sum_squares->direction[local_38].alpha - dVar2 * dVar2;\n          dVar2 = SQRT(dVar9);\n          if (dVar9 < 0.0) {\n            sqrt(dVar9);\n          }\n        }\n        pdVar17[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      }" if (parenthesized_expression "(pIVar5->alpha_trait != UndefinedPixelTrait)" ( (binary_expression "pIVar5->alpha_trait != UndefinedPixelTrait" (field_expression "pIVar5->alpha_trait" identifier -> field_identifier) != identifier) )) (compound_statement "{\n        dVar1 = this->mean->direction[local_38].alpha;\n        dVar1 = dVar1 * dVar1;\n        dVar19 = this->correlation->direction[local_38].alpha;\n        dVar8 = this->sum_squares->direction[local_38].alpha - dVar1;\n        dVar2 = SQRT(dVar8);\n        if (dVar8 < 0.0) {\n          sqrt(dVar8);\n          dVar2 = this->mean->direction[local_38].alpha;\n          dVar9 = this->sum_squares->direction[local_38].alpha - dVar2 * dVar2;\n          dVar2 = SQRT(dVar9);\n          if (dVar9 < 0.0) {\n            sqrt(dVar9);\n          }\n        }\n        pdVar17[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));\n      }" { (expression_statement "dVar1 = this->mean->direction[local_38].alpha;" (assignment_expression "dVar1 = this->mean->direction[local_38].alpha" identifier = (field_expression "this->mean->direction[local_38].alpha" (subscript_expression "this->mean->direction[local_38]" (field_expression "this->mean->direction" (field_expression "this->mean" identifier -> field_identifier) -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "dVar1 = dVar1 * dVar1;" (assignment_expression "dVar1 = dVar1 * dVar1" identifier = (binary_expression "dVar1 * dVar1" identifier * identifier)) ;) (expression_statement "dVar19 = this->correlation->direction[local_38].alpha;" (assignment_expression "dVar19 = this->correlation->direction[local_38].alpha" identifier = (field_expression "this->correlation->direction[local_38].alpha" (subscript_expression "this->correlation->direction[local_38]" (field_expression "this->correlation->direction" (field_expression "this->correlation" identifier -> field_identifier) -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "dVar8 = this->sum_squares->direction[local_38].alpha - dVar1;" (assignment_expression "dVar8 = this->sum_squares->direction[local_38].alpha - dVar1" identifier = (binary_expression "this->sum_squares->direction[local_38].alpha - dVar1" (field_expression "this->sum_squares->direction[local_38].alpha" (subscript_expression "this->sum_squares->direction[local_38]" (field_expression "this->sum_squares->direction" (field_expression "this->sum_squares" identifier -> field_identifier) -> field_identifier) [ identifier ]) . field_identifier) - identifier)) ;) (expression_statement "dVar2 = SQRT(dVar8);" (assignment_expression "dVar2 = SQRT(dVar8)" identifier = (call_expression "SQRT(dVar8)" identifier (argument_list "(dVar8)" ( identifier )))) ;) (if_statement "if (dVar8 < 0.0) {\n          sqrt(dVar8);\n          dVar2 = this->mean->direction[local_38].alpha;\n          dVar9 = this->sum_squares->direction[local_38].alpha - dVar2 * dVar2;\n          dVar2 = SQRT(dVar9);\n          if (dVar9 < 0.0) {\n            sqrt(dVar9);\n          }\n        }" if (parenthesized_expression "(dVar8 < 0.0)" ( (binary_expression "dVar8 < 0.0" identifier < number_literal) )) (compound_statement "{\n          sqrt(dVar8);\n          dVar2 = this->mean->direction[local_38].alpha;\n          dVar9 = this->sum_squares->direction[local_38].alpha - dVar2 * dVar2;\n          dVar2 = SQRT(dVar9);\n          if (dVar9 < 0.0) {\n            sqrt(dVar9);\n          }\n        }" { (expression_statement "sqrt(dVar8);" (call_expression "sqrt(dVar8)" identifier (argument_list "(dVar8)" ( identifier ))) ;) (expression_statement "dVar2 = this->mean->direction[local_38].alpha;" (assignment_expression "dVar2 = this->mean->direction[local_38].alpha" identifier = (field_expression "this->mean->direction[local_38].alpha" (subscript_expression "this->mean->direction[local_38]" (field_expression "this->mean->direction" (field_expression "this->mean" identifier -> field_identifier) -> field_identifier) [ identifier ]) . field_identifier)) ;) (expression_statement "dVar9 = this->sum_squares->direction[local_38].alpha - dVar2 * dVar2;" (assignment_expression "dVar9 = this->sum_squares->direction[local_38].alpha - dVar2 * dVar2" identifier = (binary_expression "this->sum_squares->direction[local_38].alpha - dVar2 * dVar2" (field_expression "this->sum_squares->direction[local_38].alpha" (subscript_expression "this->sum_squares->direction[local_38]" (field_expression "this->sum_squares->direction" (field_expression "this->sum_squares" identifier -> field_identifier) -> field_identifier) [ identifier ]) . field_identifier) - (binary_expression "dVar2 * dVar2" identifier * identifier))) ;) (expression_statement "dVar2 = SQRT(dVar9);" (assignment_expression "dVar2 = SQRT(dVar9)" identifier = (call_expression "SQRT(dVar9)" identifier (argument_list "(dVar9)" ( identifier )))) ;) (if_statement "if (dVar9 < 0.0) {\n            sqrt(dVar9);\n          }" if (parenthesized_expression "(dVar9 < 0.0)" ( (binary_expression "dVar9 < 0.0" identifier < number_literal) )) (compound_statement "{\n            sqrt(dVar9);\n          }" { (expression_statement "sqrt(dVar9);" (call_expression "sqrt(dVar9)" identifier (argument_list "(dVar9)" ( identifier ))) ;) })) })) (expression_statement "pdVar17[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8));" (assignment_expression "pdVar17[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar8))" (subscript_expression "pdVar17[0xe8]" identifier [ number_literal ]) = (binary_expression "(dVar19 - dVar1) / (dVar2 * SQRT(dVar8))" (parenthesized_expression "(dVar19 - dVar1)" ( (binary_expression "dVar19 - dVar1" identifier - identifier) )) / (parenthesized_expression "(dVar2 * SQRT(dVar8))" ( (binary_expression "dVar2 * SQRT(dVar8)" identifier * (call_expression "SQRT(dVar8)" identifier (argument_list "(dVar8)" ( identifier )))) )))) ;) })) (expression_statement "local_38 = local_38 + 1;" (assignment_expression "local_38 = local_38 + 1" identifier = (binary_expression "local_38 + 1" identifier + number_literal)) ;) (expression_statement "pdVar17 = pdVar17 + 1;" (assignment_expression "pdVar17 = pdVar17 + 1" identifier = (binary_expression "pdVar17 + 1" identifier + number_literal)) ;) (expression_statement "local_34 = local_34 + 10;" (assignment_expression "local_34 = local_34 + 10" identifier = (binary_expression "local_34 + 10" identifier + number_literal)) ;) (expression_statement "local_24 = local_24 + 10;" (assignment_expression "local_24 = local_24 + 10" identifier = (binary_expression "local_24 + 10" identifier + number_literal)) ;) (expression_statement "local_28 = local_28 + 10;" (assignment_expression "local_28 = local_28 + 10" identifier = (binary_expression "local_28 + 10" identifier + number_literal)) ;) (expression_statement "local_2c = local_2c + 10;" (assignment_expression "local_2c = local_2c + 10" identifier = (binary_expression "local_2c + 10" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar12 != local_38)" ( (binary_expression "iVar12 != local_38" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_000d0220(int *param_1)\n\n{\n  double dVar1;\n  double dVar2;\n  int *piVar3;\n  int iVar4;\n  double dVar5;\n  double dVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  double *pdVar16;\n  double *pdVar17;\n  int iVar18;\n  double dVar19;\n  int local_74;\n  int *local_6c;\n  double *local_64;\n  double *local_60;\n  int local_58;\n  int local_50;\n  double *local_4c;\n  double *local_3c;\n  int local_38;\n  double *local_34;\n  double *local_2c;\n  double *local_28;\n  double *local_24;\n  \n  iVar7 = omp_get_num_threads();\n  iVar8 = omp_get_thread_num();\n  iVar9 = (int)(4 / (longlong)iVar7);\n  local_38 = (int)(4 % (longlong)iVar7);\n  if (iVar8 < local_38) {\n    iVar9 = iVar9 + 1;\n    local_38 = 0;\n  }\n  local_38 = iVar8 * iVar9 + local_38;\n  iVar9 = iVar9 + local_38;\n  if (local_38 < iVar9) {\n    iVar8 = param_1[10];\n    piVar3 = (int *)param_1[2];\n    iVar4 = *param_1;\n    pdVar16 = (double *)(param_1[1] + local_38 * 8);\n    iVar7 = local_38 * 0x50 + 0x20;\n    local_34 = (double *)(param_1[4] + iVar7);\n    local_24 = (double *)(param_1[8] + iVar7);\n    local_28 = (double *)(iVar7 + param_1[6]);\n    local_2c = (double *)(param_1[5] + 0x2a0 + local_38 * 0x50);\n    do {\n      if (iVar8 < 1) {\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }\n      else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }\n      iVar12 = param_1[3];\n      iVar18 = local_38 * 0x50;\n      dVar1 = *(double *)(iVar7 + 0x20 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x20 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x28 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x28 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x30 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x30 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }\n      iVar7 = *(int *)(iVar4 + 4);\n      pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      if (iVar7 == 2) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      if (*(int *)(iVar4 + 0x294) != 0) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      local_38 = local_38 + 1;\n      pdVar16 = pdVar16 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    } while (iVar9 != local_38);\n  }\n  return;\n}\n\n" (function_definition "void FUN_000d0220(int *param_1)\n\n{\n  double dVar1;\n  double dVar2;\n  int *piVar3;\n  int iVar4;\n  double dVar5;\n  double dVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  double *pdVar16;\n  double *pdVar17;\n  int iVar18;\n  double dVar19;\n  int local_74;\n  int *local_6c;\n  double *local_64;\n  double *local_60;\n  int local_58;\n  int local_50;\n  double *local_4c;\n  double *local_3c;\n  int local_38;\n  double *local_34;\n  double *local_2c;\n  double *local_28;\n  double *local_24;\n  \n  iVar7 = omp_get_num_threads();\n  iVar8 = omp_get_thread_num();\n  iVar9 = (int)(4 / (longlong)iVar7);\n  local_38 = (int)(4 % (longlong)iVar7);\n  if (iVar8 < local_38) {\n    iVar9 = iVar9 + 1;\n    local_38 = 0;\n  }\n  local_38 = iVar8 * iVar9 + local_38;\n  iVar9 = iVar9 + local_38;\n  if (local_38 < iVar9) {\n    iVar8 = param_1[10];\n    piVar3 = (int *)param_1[2];\n    iVar4 = *param_1;\n    pdVar16 = (double *)(param_1[1] + local_38 * 8);\n    iVar7 = local_38 * 0x50 + 0x20;\n    local_34 = (double *)(param_1[4] + iVar7);\n    local_24 = (double *)(param_1[8] + iVar7);\n    local_28 = (double *)(iVar7 + param_1[6]);\n    local_2c = (double *)(param_1[5] + 0x2a0 + local_38 * 0x50);\n    do {\n      if (iVar8 < 1) {\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }\n      else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }\n      iVar12 = param_1[3];\n      iVar18 = local_38 * 0x50;\n      dVar1 = *(double *)(iVar7 + 0x20 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x20 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x28 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x28 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x30 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x30 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }\n      iVar7 = *(int *)(iVar4 + 4);\n      pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      if (iVar7 == 2) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      if (*(int *)(iVar4 + 0x294) != 0) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      local_38 = local_38 + 1;\n      pdVar16 = pdVar16 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    } while (iVar9 != local_38);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_000d0220(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  double dVar1;\n  double dVar2;\n  int *piVar3;\n  int iVar4;\n  double dVar5;\n  double dVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  double *pdVar16;\n  double *pdVar17;\n  int iVar18;\n  double dVar19;\n  int local_74;\n  int *local_6c;\n  double *local_64;\n  double *local_60;\n  int local_58;\n  int local_50;\n  double *local_4c;\n  double *local_3c;\n  int local_38;\n  double *local_34;\n  double *local_2c;\n  double *local_28;\n  double *local_24;\n  \n  iVar7 = omp_get_num_threads();\n  iVar8 = omp_get_thread_num();\n  iVar9 = (int)(4 / (longlong)iVar7);\n  local_38 = (int)(4 % (longlong)iVar7);\n  if (iVar8 < local_38) {\n    iVar9 = iVar9 + 1;\n    local_38 = 0;\n  }\n  local_38 = iVar8 * iVar9 + local_38;\n  iVar9 = iVar9 + local_38;\n  if (local_38 < iVar9) {\n    iVar8 = param_1[10];\n    piVar3 = (int *)param_1[2];\n    iVar4 = *param_1;\n    pdVar16 = (double *)(param_1[1] + local_38 * 8);\n    iVar7 = local_38 * 0x50 + 0x20;\n    local_34 = (double *)(param_1[4] + iVar7);\n    local_24 = (double *)(param_1[8] + iVar7);\n    local_28 = (double *)(iVar7 + param_1[6]);\n    local_2c = (double *)(param_1[5] + 0x2a0 + local_38 * 0x50);\n    do {\n      if (iVar8 < 1) {\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }\n      else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }\n      iVar12 = param_1[3];\n      iVar18 = local_38 * 0x50;\n      dVar1 = *(double *)(iVar7 + 0x20 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x20 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x28 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x28 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x30 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x30 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }\n      iVar7 = *(int *)(iVar4 + 4);\n      pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      if (iVar7 == 2) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      if (*(int *)(iVar4 + 0x294) != 0) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      local_38 = local_38 + 1;\n      pdVar16 = pdVar16 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    } while (iVar9 != local_38);\n  }\n  return;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "double dVar2;" primitive_type identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "double dVar5;" primitive_type identifier ;) (declaration "double dVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "double *pdVar16;" primitive_type (pointer_declarator "*pdVar16" * identifier) ;) (declaration "double *pdVar17;" primitive_type (pointer_declarator "*pdVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "double dVar19;" primitive_type identifier ;) (declaration "int local_74;" primitive_type identifier ;) (declaration "int *local_6c;" primitive_type (pointer_declarator "*local_6c" * identifier) ;) (declaration "double *local_64;" primitive_type (pointer_declarator "*local_64" * identifier) ;) (declaration "double *local_60;" primitive_type (pointer_declarator "*local_60" * identifier) ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "double *local_4c;" primitive_type (pointer_declarator "*local_4c" * identifier) ;) (declaration "double *local_3c;" primitive_type (pointer_declarator "*local_3c" * identifier) ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "double *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (declaration "double *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (declaration "double *local_28;" primitive_type (pointer_declarator "*local_28" * identifier) ;) (declaration "double *local_24;" primitive_type (pointer_declarator "*local_24" * identifier) ;) (expression_statement "iVar7 = omp_get_num_threads();" (assignment_expression "iVar7 = omp_get_num_threads()" identifier = (call_expression "omp_get_num_threads()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar8 = omp_get_thread_num();" (assignment_expression "iVar8 = omp_get_thread_num()" identifier = (call_expression "omp_get_thread_num()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar9 = (int)(4 / (longlong)iVar7);" (assignment_expression "iVar9 = (int)(4 / (longlong)iVar7)" identifier = (cast_expression "(int)(4 / (longlong)iVar7)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(4 / (longlong)iVar7)" ( (binary_expression "4 / (longlong)iVar7" number_literal / (cast_expression "(longlong)iVar7" ( (type_descriptor "longlong" type_identifier) ) identifier)) )))) ;) (expression_statement "local_38 = (int)(4 % (longlong)iVar7);" (assignment_expression "local_38 = (int)(4 % (longlong)iVar7)" identifier = (cast_expression "(int)(4 % (longlong)iVar7)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(4 % (longlong)iVar7)" ( (binary_expression "4 % (longlong)iVar7" number_literal % (cast_expression "(longlong)iVar7" ( (type_descriptor "longlong" type_identifier) ) identifier)) )))) ;) (if_statement "if (iVar8 < local_38) {\n    iVar9 = iVar9 + 1;\n    local_38 = 0;\n  }" if (parenthesized_expression "(iVar8 < local_38)" ( (binary_expression "iVar8 < local_38" identifier < identifier) )) (compound_statement "{\n    iVar9 = iVar9 + 1;\n    local_38 = 0;\n  }" { (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) })) (expression_statement "local_38 = iVar8 * iVar9 + local_38;" (assignment_expression "local_38 = iVar8 * iVar9 + local_38" identifier = (binary_expression "iVar8 * iVar9 + local_38" (binary_expression "iVar8 * iVar9" identifier * identifier) + identifier)) ;) (expression_statement "iVar9 = iVar9 + local_38;" (assignment_expression "iVar9 = iVar9 + local_38" identifier = (binary_expression "iVar9 + local_38" identifier + identifier)) ;) (if_statement "if (local_38 < iVar9) {\n    iVar8 = param_1[10];\n    piVar3 = (int *)param_1[2];\n    iVar4 = *param_1;\n    pdVar16 = (double *)(param_1[1] + local_38 * 8);\n    iVar7 = local_38 * 0x50 + 0x20;\n    local_34 = (double *)(param_1[4] + iVar7);\n    local_24 = (double *)(param_1[8] + iVar7);\n    local_28 = (double *)(iVar7 + param_1[6]);\n    local_2c = (double *)(param_1[5] + 0x2a0 + local_38 * 0x50);\n    do {\n      if (iVar8 < 1) {\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }\n      else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }\n      iVar12 = param_1[3];\n      iVar18 = local_38 * 0x50;\n      dVar1 = *(double *)(iVar7 + 0x20 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x20 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x28 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x28 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x30 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x30 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }\n      iVar7 = *(int *)(iVar4 + 4);\n      pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      if (iVar7 == 2) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      if (*(int *)(iVar4 + 0x294) != 0) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      local_38 = local_38 + 1;\n      pdVar16 = pdVar16 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    } while (iVar9 != local_38);\n  }" if (parenthesized_expression "(local_38 < iVar9)" ( (binary_expression "local_38 < iVar9" identifier < identifier) )) (compound_statement "{\n    iVar8 = param_1[10];\n    piVar3 = (int *)param_1[2];\n    iVar4 = *param_1;\n    pdVar16 = (double *)(param_1[1] + local_38 * 8);\n    iVar7 = local_38 * 0x50 + 0x20;\n    local_34 = (double *)(param_1[4] + iVar7);\n    local_24 = (double *)(param_1[8] + iVar7);\n    local_28 = (double *)(iVar7 + param_1[6]);\n    local_2c = (double *)(param_1[5] + 0x2a0 + local_38 * 0x50);\n    do {\n      if (iVar8 < 1) {\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }\n      else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }\n      iVar12 = param_1[3];\n      iVar18 = local_38 * 0x50;\n      dVar1 = *(double *)(iVar7 + 0x20 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x20 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x28 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x28 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x30 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x30 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }\n      iVar7 = *(int *)(iVar4 + 4);\n      pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      if (iVar7 == 2) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      if (*(int *)(iVar4 + 0x294) != 0) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      local_38 = local_38 + 1;\n      pdVar16 = pdVar16 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    } while (iVar9 != local_38);\n  }" { (expression_statement "iVar8 = param_1[10];" (assignment_expression "iVar8 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (expression_statement "piVar3 = (int *)param_1[2];" (assignment_expression "piVar3 = (int *)param_1[2]" identifier = (cast_expression "(int *)param_1[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (expression_statement "iVar4 = *param_1;" (assignment_expression "iVar4 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "pdVar16 = (double *)(param_1[1] + local_38 * 8);" (assignment_expression "pdVar16 = (double *)(param_1[1] + local_38 * 8)" identifier = (cast_expression "(double *)(param_1[1] + local_38 * 8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[1] + local_38 * 8)" ( (binary_expression "param_1[1] + local_38 * 8" (subscript_expression "param_1[1]" identifier [ number_literal ]) + (binary_expression "local_38 * 8" identifier * number_literal)) )))) ;) (expression_statement "iVar7 = local_38 * 0x50 + 0x20;" (assignment_expression "iVar7 = local_38 * 0x50 + 0x20" identifier = (binary_expression "local_38 * 0x50 + 0x20" (binary_expression "local_38 * 0x50" identifier * number_literal) + number_literal)) ;) (expression_statement "local_34 = (double *)(param_1[4] + iVar7);" (assignment_expression "local_34 = (double *)(param_1[4] + iVar7)" identifier = (cast_expression "(double *)(param_1[4] + iVar7)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[4] + iVar7)" ( (binary_expression "param_1[4] + iVar7" (subscript_expression "param_1[4]" identifier [ number_literal ]) + identifier) )))) ;) (expression_statement "local_24 = (double *)(param_1[8] + iVar7);" (assignment_expression "local_24 = (double *)(param_1[8] + iVar7)" identifier = (cast_expression "(double *)(param_1[8] + iVar7)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[8] + iVar7)" ( (binary_expression "param_1[8] + iVar7" (subscript_expression "param_1[8]" identifier [ number_literal ]) + identifier) )))) ;) (expression_statement "local_28 = (double *)(iVar7 + param_1[6]);" (assignment_expression "local_28 = (double *)(iVar7 + param_1[6])" identifier = (cast_expression "(double *)(iVar7 + param_1[6])" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + param_1[6])" ( (binary_expression "iVar7 + param_1[6]" identifier + (subscript_expression "param_1[6]" identifier [ number_literal ])) )))) ;) (expression_statement "local_2c = (double *)(param_1[5] + 0x2a0 + local_38 * 0x50);" (assignment_expression "local_2c = (double *)(param_1[5] + 0x2a0 + local_38 * 0x50)" identifier = (cast_expression "(double *)(param_1[5] + 0x2a0 + local_38 * 0x50)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[5] + 0x2a0 + local_38 * 0x50)" ( (binary_expression "param_1[5] + 0x2a0 + local_38 * 0x50" (binary_expression "param_1[5] + 0x2a0" (subscript_expression "param_1[5]" identifier [ number_literal ]) + number_literal) + (binary_expression "local_38 * 0x50" identifier * number_literal)) )))) ;) (do_statement "do {\n      if (iVar8 < 1) {\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }\n      else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }\n      iVar12 = param_1[3];\n      iVar18 = local_38 * 0x50;\n      dVar1 = *(double *)(iVar7 + 0x20 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x20 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x28 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x28 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x30 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x30 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }\n      iVar7 = *(int *)(iVar4 + 4);\n      pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      if (iVar7 == 2) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      if (*(int *)(iVar4 + 0x294) != 0) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      local_38 = local_38 + 1;\n      pdVar16 = pdVar16 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    } while (iVar9 != local_38);" do (compound_statement "{\n      if (iVar8 < 1) {\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }\n      else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }\n      iVar12 = param_1[3];\n      iVar18 = local_38 * 0x50;\n      dVar1 = *(double *)(iVar7 + 0x20 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x20 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x28 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x28 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x30 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x30 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }\n      iVar7 = *(int *)(iVar4 + 4);\n      pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      if (iVar7 == 2) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      if (*(int *)(iVar4 + 0x294) != 0) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      local_38 = local_38 + 1;\n      pdVar16 = pdVar16 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    }" { (if_statement "if (iVar8 < 1) {\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }\n      else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }" if (parenthesized_expression "(iVar8 < 1)" ( (binary_expression "iVar8 < 1" identifier < number_literal) )) (compound_statement "{\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }" { (expression_statement "iVar7 = param_1[7];" (assignment_expression "iVar7 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "iVar14 = param_1[9];" (assignment_expression "iVar14 = param_1[9]" identifier = (subscript_expression "param_1[9]" identifier [ number_literal ])) ;) }) (else_clause "else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }" else (compound_statement "{\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }" { (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "iVar12 = *(int *)(iVar4 + 4);" (assignment_expression "iVar12 = *(int *)(iVar4 + 4)" identifier = (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar18 = *(int *)(iVar4 + 0x294);" (assignment_expression "iVar18 = *(int *)(iVar4 + 0x294)" identifier = (pointer_expression "*(int *)(iVar4 + 0x294)" * (cast_expression "(int *)(iVar4 + 0x294)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x294)" ( (binary_expression "iVar4 + 0x294" identifier + number_literal) ))))) ;) (expression_statement "local_3c = local_2c;" (assignment_expression "local_3c = local_2c" identifier = identifier) ;) (expression_statement "local_4c = local_28;" (assignment_expression "local_4c = local_28" identifier = identifier) ;) (expression_statement "local_60 = local_24;" (assignment_expression "local_60 = local_24" identifier = identifier) ;) (expression_statement "iVar10 = local_38 * 0x50;" (assignment_expression "iVar10 = local_38 * 0x50" identifier = (binary_expression "local_38 * 0x50" identifier * number_literal)) ;) (do_statement "do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);" do (compound_statement "{\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        }" { (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_74 = local_50;" (assignment_expression "local_74 = local_50" identifier = identifier) ;) (expression_statement "iVar7 = local_50 * 0x140;" (assignment_expression "iVar7 = local_50 * 0x140" identifier = (binary_expression "local_50 * 0x140" identifier * number_literal)) ;) (expression_statement "local_64 = local_3c;" (assignment_expression "local_64 = local_3c" identifier = identifier) ;) (expression_statement "pdVar17 = local_34;" (assignment_expression "pdVar17 = local_34" identifier = identifier) ;) (expression_statement "local_6c = piVar3;" (assignment_expression "local_6c = piVar3" identifier = identifier) ;) (do_statement "do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);" do (compound_statement "{\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          }" { (expression_statement "iVar11 = iVar7 + *local_6c;" (assignment_expression "iVar11 = iVar7 + *local_6c" identifier = (binary_expression "iVar7 + *local_6c" identifier + (pointer_expression "*local_6c" * identifier))) ;) (expression_statement "iVar14 = iVar11 + iVar10;" (assignment_expression "iVar14 = iVar11 + iVar10" identifier = (binary_expression "iVar11 + iVar10" identifier + identifier)) ;) (expression_statement "dVar1 = *(double *)(iVar14 + 0x20);" (assignment_expression "dVar1 = *(double *)(iVar14 + 0x20)" identifier = (pointer_expression "*(double *)(iVar14 + 0x20)" * (cast_expression "(double *)(iVar14 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*pdVar16 = dVar1 * dVar1 + *pdVar16;" (assignment_expression "*pdVar16 = dVar1 * dVar1 + *pdVar16" (pointer_expression "*pdVar16" * identifier) = (binary_expression "dVar1 * dVar1 + *pdVar16" (binary_expression "dVar1 * dVar1" identifier * identifier) + (pointer_expression "*pdVar16" * identifier))) ;) (expression_statement "pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];" (assignment_expression "pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38]" (subscript_expression "pdVar16[0x38]" identifier [ number_literal ]) = (binary_expression "*(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38]" (binary_expression "*(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28)" (pointer_expression "*(double *)(iVar14 + 0x28)" * (cast_expression "(double *)(iVar14 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) )))) * (pointer_expression "*(double *)(iVar14 + 0x28)" * (cast_expression "(double *)(iVar14 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) ))))) + (subscript_expression "pdVar16[0x38]" identifier [ number_literal ]))) ;) (expression_statement "pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];" (assignment_expression "pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70]" (subscript_expression "pdVar16[0x70]" identifier [ number_literal ]) = (binary_expression "*(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70]" (binary_expression "*(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30)" (pointer_expression "*(double *)(iVar14 + 0x30)" * (cast_expression "(double *)(iVar14 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))) * (pointer_expression "*(double *)(iVar14 + 0x30)" * (cast_expression "(double *)(iVar14 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) ))))) + (subscript_expression "pdVar16[0x70]" identifier [ number_literal ]))) ;) (if_statement "if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }" if (parenthesized_expression "(iVar12 == 2)" ( (binary_expression "iVar12 == 2" identifier == number_literal) )) (compound_statement "{\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }" { (expression_statement "pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];" (assignment_expression "pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8]" (subscript_expression "pdVar16[0xa8]" identifier [ number_literal ]) = (binary_expression "*(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8]" (binary_expression "*(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38)" (pointer_expression "*(double *)(iVar14 + 0x38)" * (cast_expression "(double *)(iVar14 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x38)" ( (binary_expression "iVar14 + 0x38" identifier + number_literal) )))) * (pointer_expression "*(double *)(iVar14 + 0x38)" * (cast_expression "(double *)(iVar14 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x38)" ( (binary_expression "iVar14 + 0x38" identifier + number_literal) ))))) + (subscript_expression "pdVar16[0xa8]" identifier [ number_literal ]))) ;) })) (if_statement "if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }" { (expression_statement "dVar19 = *(double *)(iVar11 + 0x40 + iVar10);" (assignment_expression "dVar19 = *(double *)(iVar11 + 0x40 + iVar10)" identifier = (pointer_expression "*(double *)(iVar11 + 0x40 + iVar10)" * (cast_expression "(double *)(iVar11 + 0x40 + iVar10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x40 + iVar10)" ( (binary_expression "iVar11 + 0x40 + iVar10" (binary_expression "iVar11 + 0x40" identifier + number_literal) + identifier) ))))) ;) (expression_statement "pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];" (assignment_expression "pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0]" (subscript_expression "pdVar16[0xe0]" identifier [ number_literal ]) = (binary_expression "dVar19 * dVar19 + pdVar16[0xe0]" (binary_expression "dVar19 * dVar19" identifier * identifier) + (subscript_expression "pdVar16[0xe0]" identifier [ number_literal ]))) ;) })) (expression_statement "iVar14 = iVar11 + iVar10;" (assignment_expression "iVar14 = iVar11 + iVar10" identifier = (binary_expression "iVar11 + iVar10" identifier + identifier)) ;) (expression_statement "*local_60 = dVar1 + *local_60;" (assignment_expression "*local_60 = dVar1 + *local_60" (pointer_expression "*local_60" * identifier) = (binary_expression "dVar1 + *local_60" identifier + (pointer_expression "*local_60" * identifier))) ;) (expression_statement "local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);" (assignment_expression "local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "local_60[1]" identifier [ number_literal ]) = (binary_expression "local_60[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "local_60[1]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x28)" * (cast_expression "(double *)(iVar14 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);" (assignment_expression "local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "local_60[2]" identifier [ number_literal ]) = (binary_expression "local_60[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "local_60[2]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x30)" * (cast_expression "(double *)(iVar14 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))))) ;) (if_statement "if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }" if (parenthesized_expression "(iVar12 == 2)" ( (binary_expression "iVar12 == 2" identifier == number_literal) )) (compound_statement "{\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }" { (expression_statement "local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);" (assignment_expression "local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38)" (subscript_expression "local_60[3]" identifier [ number_literal ]) = (binary_expression "local_60[3] + *(double *)(iVar14 + 0x38)" (subscript_expression "local_60[3]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x38)" * (cast_expression "(double *)(iVar14 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x38)" ( (binary_expression "iVar14 + 0x38" identifier + number_literal) )))))) ;) })) (if_statement "if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }" { (expression_statement "local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);" (assignment_expression "local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10)" (subscript_expression "local_60[4]" identifier [ number_literal ]) = (binary_expression "local_60[4] + *(double *)(iVar11 + 0x40 + iVar10)" (subscript_expression "local_60[4]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar11 + 0x40 + iVar10)" * (cast_expression "(double *)(iVar11 + 0x40 + iVar10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x40 + iVar10)" ( (binary_expression "iVar11 + 0x40 + iVar10" (binary_expression "iVar11 + 0x40" identifier + number_literal) + identifier) )))))) ;) })) (expression_statement "dVar1 = (double)local_58;" (assignment_expression "dVar1 = (double)local_58" identifier = (cast_expression "(double)local_58" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "iVar15 = param_1[3];" (assignment_expression "iVar15 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "iVar14 = iVar11 + iVar10;" (assignment_expression "iVar14 = iVar11 + iVar10" identifier = (binary_expression "iVar11 + iVar10" identifier + identifier)) ;) (expression_statement "iVar13 = iVar15 + iVar10;" (assignment_expression "iVar13 = iVar15 + iVar10" identifier = (binary_expression "iVar15 + iVar10" identifier + identifier)) ;) (expression_statement "*(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);" (assignment_expression "*(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20)" (pointer_expression "*(double *)(iVar13 + 0x20)" * (cast_expression "(double *)(iVar13 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x20)" ( (binary_expression "iVar13 + 0x20" identifier + number_literal) )))) = (binary_expression "*(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20)" (binary_expression "*(double *)(iVar14 + 0x20) * dVar1" (pointer_expression "*(double *)(iVar14 + 0x20)" * (cast_expression "(double *)(iVar14 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) )))) * identifier) + (pointer_expression "*(double *)(iVar13 + 0x20)" * (cast_expression "(double *)(iVar13 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x20)" ( (binary_expression "iVar13 + 0x20" identifier + number_literal) )))))) ;) (expression_statement "*(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);" (assignment_expression "*(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28)" (pointer_expression "*(double *)(iVar13 + 0x28)" * (cast_expression "(double *)(iVar13 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x28)" ( (binary_expression "iVar13 + 0x28" identifier + number_literal) )))) = (binary_expression "*(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28)" (binary_expression "*(double *)(iVar14 + 0x28) * dVar1" (pointer_expression "*(double *)(iVar14 + 0x28)" * (cast_expression "(double *)(iVar14 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) )))) * identifier) + (pointer_expression "*(double *)(iVar13 + 0x28)" * (cast_expression "(double *)(iVar13 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x28)" ( (binary_expression "iVar13 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "*(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);" (assignment_expression "*(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30)" (pointer_expression "*(double *)(iVar13 + 0x30)" * (cast_expression "(double *)(iVar13 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x30)" ( (binary_expression "iVar13 + 0x30" identifier + number_literal) )))) = (binary_expression "*(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30)" (binary_expression "*(double *)(iVar14 + 0x30) * dVar1" (pointer_expression "*(double *)(iVar14 + 0x30)" * (cast_expression "(double *)(iVar14 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))) * identifier) + (pointer_expression "*(double *)(iVar13 + 0x30)" * (cast_expression "(double *)(iVar13 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x30)" ( (binary_expression "iVar13 + 0x30" identifier + number_literal) )))))) ;) (if_statement "if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }" if (parenthesized_expression "(iVar12 == 2)" ( (binary_expression "iVar12 == 2" identifier == number_literal) )) (compound_statement "{\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }" { (expression_statement "*(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);" (assignment_expression "*(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38)" (pointer_expression "*(double *)(iVar13 + 0x38)" * (cast_expression "(double *)(iVar13 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x38)" ( (binary_expression "iVar13 + 0x38" identifier + number_literal) )))) = (binary_expression "*(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38)" (binary_expression "*(double *)(iVar14 + 0x38) * dVar1" (pointer_expression "*(double *)(iVar14 + 0x38)" * (cast_expression "(double *)(iVar14 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x38)" ( (binary_expression "iVar14 + 0x38" identifier + number_literal) )))) * identifier) + (pointer_expression "*(double *)(iVar13 + 0x38)" * (cast_expression "(double *)(iVar13 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x38)" ( (binary_expression "iVar13 + 0x38" identifier + number_literal) )))))) ;) })) (if_statement "if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }" { (expression_statement "iVar15 = iVar15 + iVar10;" (assignment_expression "iVar15 = iVar15 + iVar10" identifier = (binary_expression "iVar15 + iVar10" identifier + identifier)) ;) (expression_statement "*(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);" (assignment_expression "*(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40)" (pointer_expression "*(double *)(iVar15 + 0x40)" * (cast_expression "(double *)(iVar15 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x40)" ( (binary_expression "iVar15 + 0x40" identifier + number_literal) )))) = (binary_expression "dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40)" (binary_expression "dVar1 * *(double *)(iVar11 + 0x40 + iVar10)" identifier * (pointer_expression "*(double *)(iVar11 + 0x40 + iVar10)" * (cast_expression "(double *)(iVar11 + 0x40 + iVar10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x40 + iVar10)" ( (binary_expression "iVar11 + 0x40 + iVar10" (binary_expression "iVar11 + 0x40" identifier + number_literal) + identifier) ))))) + (pointer_expression "*(double *)(iVar15 + 0x40)" * (cast_expression "(double *)(iVar15 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x40)" ( (binary_expression "iVar15 + 0x40" identifier + number_literal) )))))) ;) })) (expression_statement "iVar14 = iVar11 + iVar10;" (assignment_expression "iVar14 = iVar11 + iVar10" identifier = (binary_expression "iVar11 + iVar10" identifier + identifier)) ;) (expression_statement "dVar1 = *(double *)(iVar14 + 0x20);" (assignment_expression "dVar1 = *(double *)(iVar14 + 0x20)" identifier = (pointer_expression "*(double *)(iVar14 + 0x20)" * (cast_expression "(double *)(iVar14 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "dVar19 = (double)(local_74 * local_74 + 1);" (assignment_expression "dVar19 = (double)(local_74 * local_74 + 1)" identifier = (cast_expression "(double)(local_74 * local_74 + 1)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(local_74 * local_74 + 1)" ( (binary_expression "local_74 * local_74 + 1" (binary_expression "local_74 * local_74" identifier * identifier) + number_literal) )))) ;) (expression_statement "pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];" (assignment_expression "pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10]" (subscript_expression "pdVar16[0x10]" identifier [ number_literal ]) = (binary_expression "dVar1 / dVar19 + pdVar16[0x10]" (binary_expression "dVar1 / dVar19" identifier / identifier) + (subscript_expression "pdVar16[0x10]" identifier [ number_literal ]))) ;) (expression_statement "pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];" (assignment_expression "pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48]" (subscript_expression "pdVar16[0x48]" identifier [ number_literal ]) = (binary_expression "*(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48]" (binary_expression "*(double *)(iVar14 + 0x28) / dVar19" (pointer_expression "*(double *)(iVar14 + 0x28)" * (cast_expression "(double *)(iVar14 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) )))) / identifier) + (subscript_expression "pdVar16[0x48]" identifier [ number_literal ]))) ;) (expression_statement "pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];" (assignment_expression "pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80]" (subscript_expression "pdVar16[0x80]" identifier [ number_literal ]) = (binary_expression "*(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80]" (binary_expression "*(double *)(iVar14 + 0x30) / dVar19" (pointer_expression "*(double *)(iVar14 + 0x30)" * (cast_expression "(double *)(iVar14 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))) / identifier) + (subscript_expression "pdVar16[0x80]" identifier [ number_literal ]))) ;) (if_statement "if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }" if (parenthesized_expression "(iVar12 == 2)" ( (binary_expression "iVar12 == 2" identifier == number_literal) )) (compound_statement "{\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }" { (expression_statement "pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];" (assignment_expression "pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8]" (subscript_expression "pdVar16[0xb8]" identifier [ number_literal ]) = (binary_expression "*(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8]" (binary_expression "*(double *)(iVar14 + 0x38) / dVar19" (pointer_expression "*(double *)(iVar14 + 0x38)" * (cast_expression "(double *)(iVar14 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x38)" ( (binary_expression "iVar14 + 0x38" identifier + number_literal) )))) / identifier) + (subscript_expression "pdVar16[0xb8]" identifier [ number_literal ]))) ;) })) (if_statement "if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }" { (expression_statement "pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];" (assignment_expression "pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0]" (subscript_expression "pdVar16[0xf0]" identifier [ number_literal ]) = (binary_expression "*(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0]" (binary_expression "*(double *)(iVar11 + 0x40 + iVar10) / dVar19" (pointer_expression "*(double *)(iVar11 + 0x40 + iVar10)" * (cast_expression "(double *)(iVar11 + 0x40 + iVar10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x40 + iVar10)" ( (binary_expression "iVar11 + 0x40 + iVar10" (binary_expression "iVar11 + 0x40" identifier + number_literal) + identifier) )))) / identifier) + (subscript_expression "pdVar16[0xf0]" identifier [ number_literal ]))) ;) })) (expression_statement "iVar14 = iVar11 + iVar10;" (assignment_expression "iVar14 = iVar11 + iVar10" identifier = (binary_expression "iVar11 + iVar10" identifier + identifier)) ;) (expression_statement "*local_64 = dVar1 + *local_64;" (assignment_expression "*local_64 = dVar1 + *local_64" (pointer_expression "*local_64" * identifier) = (binary_expression "dVar1 + *local_64" identifier + (pointer_expression "*local_64" * identifier))) ;) (expression_statement "local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);" (assignment_expression "local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "local_64[1]" identifier [ number_literal ]) = (binary_expression "local_64[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "local_64[1]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x28)" * (cast_expression "(double *)(iVar14 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);" (assignment_expression "local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "local_64[2]" identifier [ number_literal ]) = (binary_expression "local_64[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "local_64[2]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x30)" * (cast_expression "(double *)(iVar14 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))))) ;) (if_statement "if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }" if (parenthesized_expression "(iVar12 == 2)" ( (binary_expression "iVar12 == 2" identifier == number_literal) )) (compound_statement "{\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }" { (expression_statement "local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);" (assignment_expression "local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38)" (subscript_expression "local_64[3]" identifier [ number_literal ]) = (binary_expression "local_64[3] + *(double *)(iVar14 + 0x38)" (subscript_expression "local_64[3]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x38)" * (cast_expression "(double *)(iVar14 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x38)" ( (binary_expression "iVar14 + 0x38" identifier + number_literal) )))))) ;) })) (if_statement "if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }" { (expression_statement "local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);" (assignment_expression "local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10)" (subscript_expression "local_64[4]" identifier [ number_literal ]) = (binary_expression "local_64[4] + *(double *)(iVar11 + 0x40 + iVar10)" (subscript_expression "local_64[4]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar11 + 0x40 + iVar10)" * (cast_expression "(double *)(iVar11 + 0x40 + iVar10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x40 + iVar10)" ( (binary_expression "iVar11 + 0x40 + iVar10" (binary_expression "iVar11 + 0x40" identifier + number_literal) + identifier) )))))) ;) })) (expression_statement "dVar1 = *(double *)(iVar11 + 0x20 + iVar10);" (assignment_expression "dVar1 = *(double *)(iVar11 + 0x20 + iVar10)" identifier = (pointer_expression "*(double *)(iVar11 + 0x20 + iVar10)" * (cast_expression "(double *)(iVar11 + 0x20 + iVar10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x20 + iVar10)" ( (binary_expression "iVar11 + 0x20 + iVar10" (binary_expression "iVar11 + 0x20" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar19 = ABS(dVar1);" (assignment_expression "dVar19 = ABS(dVar1)" identifier = (call_expression "ABS(dVar1)" identifier (argument_list "(dVar1)" ( identifier )))) ;) (if_statement "if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }" if (parenthesized_expression "(DAT_002ea690 <= dVar19)" ( (binary_expression "DAT_002ea690 <= dVar19" identifier <= identifier) )) (compound_statement "{\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }" { (expression_statement "dVar19 = log10(dVar19);" (assignment_expression "dVar19 = log10(dVar19)" identifier = (call_expression "log10(dVar19)" identifier (argument_list "(dVar19)" ( identifier )))) ;) (expression_statement "iVar11 = iVar7 + *local_6c;" (assignment_expression "iVar11 = iVar7 + *local_6c" identifier = (binary_expression "iVar7 + *local_6c" identifier + (pointer_expression "*local_6c" * identifier))) ;) }) (else_clause "else {\n              dVar19 = (double)DAT_002f4200;\n            }" else (compound_statement "{\n              dVar19 = (double)DAT_002f4200;\n            }" { (expression_statement "dVar19 = (double)DAT_002f4200;" (assignment_expression "dVar19 = (double)DAT_002f4200" identifier = (cast_expression "(double)DAT_002f4200" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;" (assignment_expression "pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1" (subscript_expression "pdVar16[0x20]" identifier [ number_literal ]) = (binary_expression "pdVar16[0x20] - dVar19 * dVar1" (subscript_expression "pdVar16[0x20]" identifier [ number_literal ]) - (binary_expression "dVar19 * dVar1" identifier * identifier))) ;) (expression_statement "dVar1 = *(double *)(iVar11 + 0x28 + iVar10);" (assignment_expression "dVar1 = *(double *)(iVar11 + 0x28 + iVar10)" identifier = (pointer_expression "*(double *)(iVar11 + 0x28 + iVar10)" * (cast_expression "(double *)(iVar11 + 0x28 + iVar10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x28 + iVar10)" ( (binary_expression "iVar11 + 0x28 + iVar10" (binary_expression "iVar11 + 0x28" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar19 = ABS(dVar1);" (assignment_expression "dVar19 = ABS(dVar1)" identifier = (call_expression "ABS(dVar1)" identifier (argument_list "(dVar1)" ( identifier )))) ;) (if_statement "if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }" if (parenthesized_expression "(DAT_002ea690 <= dVar19)" ( (binary_expression "DAT_002ea690 <= dVar19" identifier <= identifier) )) (compound_statement "{\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }" { (expression_statement "dVar19 = log10(dVar19);" (assignment_expression "dVar19 = log10(dVar19)" identifier = (call_expression "log10(dVar19)" identifier (argument_list "(dVar19)" ( identifier )))) ;) (expression_statement "iVar11 = iVar7 + *local_6c;" (assignment_expression "iVar11 = iVar7 + *local_6c" identifier = (binary_expression "iVar7 + *local_6c" identifier + (pointer_expression "*local_6c" * identifier))) ;) }) (else_clause "else {\n              dVar19 = (double)DAT_002f4200;\n            }" else (compound_statement "{\n              dVar19 = (double)DAT_002f4200;\n            }" { (expression_statement "dVar19 = (double)DAT_002f4200;" (assignment_expression "dVar19 = (double)DAT_002f4200" identifier = (cast_expression "(double)DAT_002f4200" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;" (assignment_expression "pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1" (subscript_expression "pdVar16[0x58]" identifier [ number_literal ]) = (binary_expression "pdVar16[0x58] - dVar19 * dVar1" (subscript_expression "pdVar16[0x58]" identifier [ number_literal ]) - (binary_expression "dVar19 * dVar1" identifier * identifier))) ;) (expression_statement "dVar1 = *(double *)(iVar11 + 0x30 + iVar10);" (assignment_expression "dVar1 = *(double *)(iVar11 + 0x30 + iVar10)" identifier = (pointer_expression "*(double *)(iVar11 + 0x30 + iVar10)" * (cast_expression "(double *)(iVar11 + 0x30 + iVar10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x30 + iVar10)" ( (binary_expression "iVar11 + 0x30 + iVar10" (binary_expression "iVar11 + 0x30" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar19 = ABS(dVar1);" (assignment_expression "dVar19 = ABS(dVar1)" identifier = (call_expression "ABS(dVar1)" identifier (argument_list "(dVar1)" ( identifier )))) ;) (if_statement "if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }" if (parenthesized_expression "(DAT_002ea690 <= dVar19)" ( (binary_expression "DAT_002ea690 <= dVar19" identifier <= identifier) )) (compound_statement "{\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }" { (expression_statement "dVar19 = log10(dVar19);" (assignment_expression "dVar19 = log10(dVar19)" identifier = (call_expression "log10(dVar19)" identifier (argument_list "(dVar19)" ( identifier )))) ;) (expression_statement "iVar11 = iVar7 + *local_6c;" (assignment_expression "iVar11 = iVar7 + *local_6c" identifier = (binary_expression "iVar7 + *local_6c" identifier + (pointer_expression "*local_6c" * identifier))) ;) }) (else_clause "else {\n              dVar19 = (double)DAT_002f4200;\n            }" else (compound_statement "{\n              dVar19 = (double)DAT_002f4200;\n            }" { (expression_statement "dVar19 = (double)DAT_002f4200;" (assignment_expression "dVar19 = (double)DAT_002f4200" identifier = (cast_expression "(double)DAT_002f4200" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "iVar14 = *(int *)(iVar4 + 4);" (assignment_expression "iVar14 = *(int *)(iVar4 + 4)" identifier = (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;" (assignment_expression "pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1" (subscript_expression "pdVar16[0x90]" identifier [ number_literal ]) = (binary_expression "pdVar16[0x90] - dVar19 * dVar1" (subscript_expression "pdVar16[0x90]" identifier [ number_literal ]) - (binary_expression "dVar19 * dVar1" identifier * identifier))) ;) (if_statement "if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }" if (parenthesized_expression "(iVar14 == 2)" ( (binary_expression "iVar14 == 2" identifier == number_literal) )) (compound_statement "{\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }" { (expression_statement "dVar1 = *(double *)(iVar11 + 0x38 + iVar10);" (assignment_expression "dVar1 = *(double *)(iVar11 + 0x38 + iVar10)" identifier = (pointer_expression "*(double *)(iVar11 + 0x38 + iVar10)" * (cast_expression "(double *)(iVar11 + 0x38 + iVar10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x38 + iVar10)" ( (binary_expression "iVar11 + 0x38 + iVar10" (binary_expression "iVar11 + 0x38" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar19 = ABS(dVar1);" (assignment_expression "dVar19 = ABS(dVar1)" identifier = (call_expression "ABS(dVar1)" identifier (argument_list "(dVar1)" ( identifier )))) ;) (if_statement "if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }" if (parenthesized_expression "(DAT_002ea690 <= dVar19)" ( (binary_expression "DAT_002ea690 <= dVar19" identifier <= identifier) )) (compound_statement "{\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }" { (expression_statement "dVar19 = log10(dVar19);" (assignment_expression "dVar19 = log10(dVar19)" identifier = (call_expression "log10(dVar19)" identifier (argument_list "(dVar19)" ( identifier )))) ;) (expression_statement "iVar11 = iVar7 + *local_6c;" (assignment_expression "iVar11 = iVar7 + *local_6c" identifier = (binary_expression "iVar7 + *local_6c" identifier + (pointer_expression "*local_6c" * identifier))) ;) }) (else_clause "else {\n                dVar19 = (double)DAT_002f4200;\n              }" else (compound_statement "{\n                dVar19 = (double)DAT_002f4200;\n              }" { (expression_statement "dVar19 = (double)DAT_002f4200;" (assignment_expression "dVar19 = (double)DAT_002f4200" identifier = (cast_expression "(double)DAT_002f4200" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "pdVar16[200] = pdVar16[200] - dVar19 * dVar1;" (assignment_expression "pdVar16[200] = pdVar16[200] - dVar19 * dVar1" (subscript_expression "pdVar16[200]" identifier [ number_literal ]) = (binary_expression "pdVar16[200] - dVar19 * dVar1" (subscript_expression "pdVar16[200]" identifier [ number_literal ]) - (binary_expression "dVar19 * dVar1" identifier * identifier))) ;) })) (expression_statement "iVar15 = *(int *)(iVar4 + 0x294);" (assignment_expression "iVar15 = *(int *)(iVar4 + 0x294)" identifier = (pointer_expression "*(int *)(iVar4 + 0x294)" * (cast_expression "(int *)(iVar4 + 0x294)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x294)" ( (binary_expression "iVar4 + 0x294" identifier + number_literal) ))))) ;) (if_statement "if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }" { (expression_statement "dVar1 = *(double *)(iVar11 + 0x40 + iVar10);" (assignment_expression "dVar1 = *(double *)(iVar11 + 0x40 + iVar10)" identifier = (pointer_expression "*(double *)(iVar11 + 0x40 + iVar10)" * (cast_expression "(double *)(iVar11 + 0x40 + iVar10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x40 + iVar10)" ( (binary_expression "iVar11 + 0x40 + iVar10" (binary_expression "iVar11 + 0x40" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar19 = ABS(dVar1);" (assignment_expression "dVar19 = ABS(dVar1)" identifier = (call_expression "ABS(dVar1)" identifier (argument_list "(dVar1)" ( identifier )))) ;) (if_statement "if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }" if (parenthesized_expression "(DAT_002ea690 <= dVar19)" ( (binary_expression "DAT_002ea690 <= dVar19" identifier <= identifier) )) (compound_statement "{\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }" { (expression_statement "dVar19 = log10(dVar19);" (assignment_expression "dVar19 = log10(dVar19)" identifier = (call_expression "log10(dVar19)" identifier (argument_list "(dVar19)" ( identifier )))) ;) (expression_statement "iVar11 = iVar7 + *local_6c;" (assignment_expression "iVar11 = iVar7 + *local_6c" identifier = (binary_expression "iVar7 + *local_6c" identifier + (pointer_expression "*local_6c" * identifier))) ;) (expression_statement "iVar15 = *(int *)(iVar4 + 0x294);" (assignment_expression "iVar15 = *(int *)(iVar4 + 0x294)" identifier = (pointer_expression "*(int *)(iVar4 + 0x294)" * (cast_expression "(int *)(iVar4 + 0x294)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x294)" ( (binary_expression "iVar4 + 0x294" identifier + number_literal) ))))) ;) }) (else_clause "else {\n                dVar19 = (double)DAT_002f4200;\n              }" else (compound_statement "{\n                dVar19 = (double)DAT_002f4200;\n              }" { (expression_statement "dVar19 = (double)DAT_002f4200;" (assignment_expression "dVar19 = (double)DAT_002f4200" identifier = (cast_expression "(double)DAT_002f4200" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;" (assignment_expression "pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1" (subscript_expression "pdVar16[0x100]" identifier [ number_literal ]) = (binary_expression "pdVar16[0x100] - dVar19 * dVar1" (subscript_expression "pdVar16[0x100]" identifier [ number_literal ]) - (binary_expression "dVar19 * dVar1" identifier * identifier))) ;) })) (expression_statement "iVar14 = iVar11 + iVar10;" (assignment_expression "iVar14 = iVar11 + iVar10" identifier = (binary_expression "iVar11 + iVar10" identifier + identifier)) ;) (expression_statement "*pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);" (assignment_expression "*pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20)" (pointer_expression "*pdVar17" * identifier) = (binary_expression "*pdVar17 + *(double *)(iVar14 + 0x20)" (pointer_expression "*pdVar17" * identifier) + (pointer_expression "*(double *)(iVar14 + 0x20)" * (cast_expression "(double *)(iVar14 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) )))))) ;) (expression_statement "pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);" (assignment_expression "pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "pdVar17[1]" identifier [ number_literal ]) = (binary_expression "pdVar17[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "pdVar17[1]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x28)" * (cast_expression "(double *)(iVar14 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);" (assignment_expression "pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "pdVar17[2]" identifier [ number_literal ]) = (binary_expression "pdVar17[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "pdVar17[2]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x30)" * (cast_expression "(double *)(iVar14 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))))) ;) (if_statement "if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }" { (expression_statement "pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);" (assignment_expression "pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40)" (subscript_expression "pdVar17[4]" identifier [ number_literal ]) = (binary_expression "pdVar17[4] + *(double *)(iVar14 + 0x40)" (subscript_expression "pdVar17[4]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x40)" * (cast_expression "(double *)(iVar14 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x40)" ( (binary_expression "iVar14 + 0x40" identifier + number_literal) )))))) ;) })) (if_statement "if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }" if (parenthesized_expression "(*(int *)(iVar4 + 4) == 2)" ( (binary_expression "*(int *)(iVar4 + 4) == 2" (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }" { (expression_statement "iVar14 = iVar11 + iVar10;" (assignment_expression "iVar14 = iVar11 + iVar10" identifier = (binary_expression "iVar11 + iVar10" identifier + identifier)) ;) (expression_statement "pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);" (assignment_expression "pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38)" (subscript_expression "pdVar17[3]" identifier [ number_literal ]) = (binary_expression "pdVar17[3] + *(double *)(iVar14 + 0x38)" (subscript_expression "pdVar17[3]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x38)" * (cast_expression "(double *)(iVar14 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x38)" ( (binary_expression "iVar14 + 0x38" identifier + number_literal) )))))) ;) (expression_statement "*local_4c = *local_4c + *(double *)(iVar14 + 0x20);" (assignment_expression "*local_4c = *local_4c + *(double *)(iVar14 + 0x20)" (pointer_expression "*local_4c" * identifier) = (binary_expression "*local_4c + *(double *)(iVar14 + 0x20)" (pointer_expression "*local_4c" * identifier) + (pointer_expression "*(double *)(iVar14 + 0x20)" * (cast_expression "(double *)(iVar14 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) )))))) ;) (expression_statement "local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);" (assignment_expression "local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "local_4c[1]" identifier [ number_literal ]) = (binary_expression "local_4c[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "local_4c[1]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x28)" * (cast_expression "(double *)(iVar14 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);" (assignment_expression "local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "local_4c[2]" identifier [ number_literal ]) = (binary_expression "local_4c[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "local_4c[2]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x30)" * (cast_expression "(double *)(iVar14 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))))) ;) (expression_statement "local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);" (assignment_expression "local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38)" (subscript_expression "local_4c[3]" identifier [ number_literal ]) = (binary_expression "local_4c[3] + *(double *)(iVar14 + 0x38)" (subscript_expression "local_4c[3]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x38)" * (cast_expression "(double *)(iVar14 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x38)" ( (binary_expression "iVar14 + 0x38" identifier + number_literal) )))))) ;) }) (else_clause "else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }" else (compound_statement "{\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }" { (expression_statement "iVar14 = iVar11 + iVar10;" (assignment_expression "iVar14 = iVar11 + iVar10" identifier = (binary_expression "iVar11 + iVar10" identifier + identifier)) ;) (expression_statement "*local_4c = *local_4c + *(double *)(iVar14 + 0x20);" (assignment_expression "*local_4c = *local_4c + *(double *)(iVar14 + 0x20)" (pointer_expression "*local_4c" * identifier) = (binary_expression "*local_4c + *(double *)(iVar14 + 0x20)" (pointer_expression "*local_4c" * identifier) + (pointer_expression "*(double *)(iVar14 + 0x20)" * (cast_expression "(double *)(iVar14 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) )))))) ;) (expression_statement "local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);" (assignment_expression "local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "local_4c[1]" identifier [ number_literal ]) = (binary_expression "local_4c[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "local_4c[1]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x28)" * (cast_expression "(double *)(iVar14 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28)" ( (binary_expression "iVar14 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);" (assignment_expression "local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "local_4c[2]" identifier [ number_literal ]) = (binary_expression "local_4c[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "local_4c[2]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar14 + 0x30)" * (cast_expression "(double *)(iVar14 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) )))))) ;) }))) (if_statement "if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }" { (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) (expression_statement "iVar12 = *(int *)(iVar4 + 4);" (assignment_expression "iVar12 = *(int *)(iVar4 + 4)" identifier = (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) }) (else_clause "else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }" else (compound_statement "{\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }" { (expression_statement "iVar12 = *(int *)(iVar4 + 4);" (assignment_expression "iVar12 = *(int *)(iVar4 + 4)" identifier = (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);" (assignment_expression "local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10)" (subscript_expression "local_4c[4]" identifier [ number_literal ]) = (binary_expression "local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10)" (subscript_expression "local_4c[4]" identifier [ number_literal ]) + (pointer_expression "*(double *)(iVar11 + 0x40 + iVar10)" * (cast_expression "(double *)(iVar11 + 0x40 + iVar10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x40 + iVar10)" ( (binary_expression "iVar11 + 0x40 + iVar10" (binary_expression "iVar11 + 0x40" identifier + number_literal) + identifier) )))))) ;) (expression_statement "iVar18 = iVar15;" (assignment_expression "iVar18 = iVar15" identifier = identifier) ;) }))) (expression_statement "local_74 = local_74 + -1;" (assignment_expression "local_74 = local_74 + -1" identifier = (binary_expression "local_74 + -1" identifier + number_literal)) ;) (expression_statement "pdVar17 = pdVar17 + 0x28;" (assignment_expression "pdVar17 = pdVar17 + 0x28" identifier = (binary_expression "pdVar17 + 0x28" identifier + number_literal)) ;) (expression_statement "local_6c = local_6c + 1;" (assignment_expression "local_6c = local_6c + 1" identifier = (binary_expression "local_6c + 1" identifier + number_literal)) ;) (expression_statement "local_64 = local_64 + 0x28;" (assignment_expression "local_64 = local_64 + 0x28" identifier = (binary_expression "local_64 + 0x28" identifier + number_literal)) ;) (expression_statement "local_58 = local_58 + local_50;" (assignment_expression "local_58 = local_58 + local_50" identifier = (binary_expression "local_58 + local_50" identifier + identifier)) ;) }) while (parenthesized_expression "(local_50 - iVar8 != local_74)" ( (binary_expression "local_50 - iVar8 != local_74" (binary_expression "local_50 - iVar8" identifier - identifier) != identifier) )) ;) (expression_statement "dVar1 = (double)local_50;" (assignment_expression "dVar1 = (double)local_50" identifier = (cast_expression "(double)local_50" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "iVar7 = param_1[7];" (assignment_expression "iVar7 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "iVar14 = param_1[9];" (assignment_expression "iVar14 = param_1[9]" identifier = (subscript_expression "param_1[9]" identifier [ number_literal ])) ;) (expression_statement "iVar11 = iVar7 + iVar10;" (assignment_expression "iVar11 = iVar7 + iVar10" identifier = (binary_expression "iVar7 + iVar10" identifier + identifier)) ;) (expression_statement "*(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);" (assignment_expression "*(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20)" (pointer_expression "*(double *)(iVar11 + 0x20)" * (cast_expression "(double *)(iVar11 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x20)" ( (binary_expression "iVar11 + 0x20" identifier + number_literal) )))) = (binary_expression "*local_60 * dVar1 + *(double *)(iVar11 + 0x20)" (binary_expression "*local_60 * dVar1" (pointer_expression "*local_60" * identifier) * identifier) + (pointer_expression "*(double *)(iVar11 + 0x20)" * (cast_expression "(double *)(iVar11 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x20)" ( (binary_expression "iVar11 + 0x20" identifier + number_literal) )))))) ;) (expression_statement "dVar19 = (double)(local_50 * local_50);" (assignment_expression "dVar19 = (double)(local_50 * local_50)" identifier = (cast_expression "(double)(local_50 * local_50)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "(local_50 * local_50)" ( (binary_expression "local_50 * local_50" identifier * identifier) )))) ;) (expression_statement "iVar13 = iVar14 + iVar10;" (assignment_expression "iVar13 = iVar14 + iVar10" identifier = (binary_expression "iVar14 + iVar10" identifier + identifier)) ;) (expression_statement "*(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);" (assignment_expression "*(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20)" (pointer_expression "*(double *)(iVar13 + 0x20)" * (cast_expression "(double *)(iVar13 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x20)" ( (binary_expression "iVar13 + 0x20" identifier + number_literal) )))) = (binary_expression "*local_60 * dVar19 + *(double *)(iVar13 + 0x20)" (binary_expression "*local_60 * dVar19" (pointer_expression "*local_60" * identifier) * identifier) + (pointer_expression "*(double *)(iVar13 + 0x20)" * (cast_expression "(double *)(iVar13 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x20)" ( (binary_expression "iVar13 + 0x20" identifier + number_literal) )))))) ;) (expression_statement "*(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);" (assignment_expression "*(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28)" (pointer_expression "*(double *)(iVar11 + 0x28)" * (cast_expression "(double *)(iVar11 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x28)" ( (binary_expression "iVar11 + 0x28" identifier + number_literal) )))) = (binary_expression "local_60[1] * dVar1 + *(double *)(iVar11 + 0x28)" (binary_expression "local_60[1] * dVar1" (subscript_expression "local_60[1]" identifier [ number_literal ]) * identifier) + (pointer_expression "*(double *)(iVar11 + 0x28)" * (cast_expression "(double *)(iVar11 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x28)" ( (binary_expression "iVar11 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "*(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);" (assignment_expression "*(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28)" (pointer_expression "*(double *)(iVar13 + 0x28)" * (cast_expression "(double *)(iVar13 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x28)" ( (binary_expression "iVar13 + 0x28" identifier + number_literal) )))) = (binary_expression "local_60[1] * dVar19 + *(double *)(iVar13 + 0x28)" (binary_expression "local_60[1] * dVar19" (subscript_expression "local_60[1]" identifier [ number_literal ]) * identifier) + (pointer_expression "*(double *)(iVar13 + 0x28)" * (cast_expression "(double *)(iVar13 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x28)" ( (binary_expression "iVar13 + 0x28" identifier + number_literal) )))))) ;) (expression_statement "*(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);" (assignment_expression "*(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30)" (pointer_expression "*(double *)(iVar11 + 0x30)" * (cast_expression "(double *)(iVar11 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x30)" ( (binary_expression "iVar11 + 0x30" identifier + number_literal) )))) = (binary_expression "local_60[2] * dVar1 + *(double *)(iVar11 + 0x30)" (binary_expression "local_60[2] * dVar1" (subscript_expression "local_60[2]" identifier [ number_literal ]) * identifier) + (pointer_expression "*(double *)(iVar11 + 0x30)" * (cast_expression "(double *)(iVar11 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x30)" ( (binary_expression "iVar11 + 0x30" identifier + number_literal) )))))) ;) (expression_statement "*(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);" (assignment_expression "*(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30)" (pointer_expression "*(double *)(iVar13 + 0x30)" * (cast_expression "(double *)(iVar13 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x30)" ( (binary_expression "iVar13 + 0x30" identifier + number_literal) )))) = (binary_expression "local_60[2] * dVar19 + *(double *)(iVar13 + 0x30)" (binary_expression "local_60[2] * dVar19" (subscript_expression "local_60[2]" identifier [ number_literal ]) * identifier) + (pointer_expression "*(double *)(iVar13 + 0x30)" * (cast_expression "(double *)(iVar13 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x30)" ( (binary_expression "iVar13 + 0x30" identifier + number_literal) )))))) ;) (if_statement "if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }" if (parenthesized_expression "(iVar12 == 2)" ( (binary_expression "iVar12 == 2" identifier == number_literal) )) (compound_statement "{\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }" { (expression_statement "*(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);" (assignment_expression "*(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38)" (pointer_expression "*(double *)(iVar11 + 0x38)" * (cast_expression "(double *)(iVar11 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x38)" ( (binary_expression "iVar11 + 0x38" identifier + number_literal) )))) = (binary_expression "local_60[3] * dVar1 + *(double *)(iVar11 + 0x38)" (binary_expression "local_60[3] * dVar1" (subscript_expression "local_60[3]" identifier [ number_literal ]) * identifier) + (pointer_expression "*(double *)(iVar11 + 0x38)" * (cast_expression "(double *)(iVar11 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x38)" ( (binary_expression "iVar11 + 0x38" identifier + number_literal) )))))) ;) (expression_statement "*(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);" (assignment_expression "*(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38)" (pointer_expression "*(double *)(iVar13 + 0x38)" * (cast_expression "(double *)(iVar13 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x38)" ( (binary_expression "iVar13 + 0x38" identifier + number_literal) )))) = (binary_expression "local_60[3] * dVar19 + *(double *)(iVar13 + 0x38)" (binary_expression "local_60[3] * dVar19" (subscript_expression "local_60[3]" identifier [ number_literal ]) * identifier) + (pointer_expression "*(double *)(iVar13 + 0x38)" * (cast_expression "(double *)(iVar13 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x38)" ( (binary_expression "iVar13 + 0x38" identifier + number_literal) )))))) ;) })) (if_statement "if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }" { (expression_statement "*(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);" (assignment_expression "*(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40)" (pointer_expression "*(double *)(iVar7 + iVar10 + 0x40)" * (cast_expression "(double *)(iVar7 + iVar10 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + iVar10 + 0x40)" ( (binary_expression "iVar7 + iVar10 + 0x40" (binary_expression "iVar7 + iVar10" identifier + identifier) + number_literal) )))) = (binary_expression "dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40)" (binary_expression "dVar1 * local_60[4]" identifier * (subscript_expression "local_60[4]" identifier [ number_literal ])) + (pointer_expression "*(double *)(iVar7 + iVar10 + 0x40)" * (cast_expression "(double *)(iVar7 + iVar10 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + iVar10 + 0x40)" ( (binary_expression "iVar7 + iVar10 + 0x40" (binary_expression "iVar7 + iVar10" identifier + identifier) + number_literal) )))))) ;) (expression_statement "*(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);" (assignment_expression "*(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40)" (pointer_expression "*(double *)(iVar14 + iVar10 + 0x40)" * (cast_expression "(double *)(iVar14 + iVar10 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + iVar10 + 0x40)" ( (binary_expression "iVar14 + iVar10 + 0x40" (binary_expression "iVar14 + iVar10" identifier + identifier) + number_literal) )))) = (binary_expression "dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40)" (binary_expression "dVar19 * local_60[4]" identifier * (subscript_expression "local_60[4]" identifier [ number_literal ])) + (pointer_expression "*(double *)(iVar14 + iVar10 + 0x40)" * (cast_expression "(double *)(iVar14 + iVar10 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + iVar10 + 0x40)" ( (binary_expression "iVar14 + iVar10 + 0x40" (binary_expression "iVar14 + iVar10" identifier + identifier) + number_literal) )))))) ;) })) (expression_statement "local_50 = local_50 + 1;" (assignment_expression "local_50 = local_50 + 1" identifier = (binary_expression "local_50 + 1" identifier + number_literal)) ;) (expression_statement "local_60 = local_60 + 0x28;" (assignment_expression "local_60 = local_60 + 0x28" identifier = (binary_expression "local_60 + 0x28" identifier + number_literal)) ;) (expression_statement "local_4c = local_4c + 0x28;" (assignment_expression "local_4c = local_4c + 0x28" identifier = (binary_expression "local_4c + 0x28" identifier + number_literal)) ;) (expression_statement "local_3c = local_3c + 0x28;" (assignment_expression "local_3c = local_3c + 0x28" identifier = (binary_expression "local_3c + 0x28" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_50 != iVar8)" ( (binary_expression "local_50 != iVar8" identifier != identifier) )) ;) }))) (expression_statement "iVar12 = param_1[3];" (assignment_expression "iVar12 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "iVar18 = local_38 * 0x50;" (assignment_expression "iVar18 = local_38 * 0x50" identifier = (binary_expression "local_38 * 0x50" identifier * number_literal)) ;) (expression_statement "dVar1 = *(double *)(iVar7 + 0x20 + iVar18);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x20 + iVar18)" identifier = (pointer_expression "*(double *)(iVar7 + 0x20 + iVar18)" * (cast_expression "(double *)(iVar7 + 0x20 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20 + iVar18)" ( (binary_expression "iVar7 + 0x20 + iVar18" (binary_expression "iVar7 + 0x20" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar1 = dVar1 * dVar1;" (assignment_expression "dVar1 = dVar1 * dVar1" identifier = (binary_expression "dVar1 * dVar1" identifier * identifier)) ;) (expression_statement "dVar19 = *(double *)(iVar12 + 0x20 + iVar18);" (assignment_expression "dVar19 = *(double *)(iVar12 + 0x20 + iVar18)" identifier = (pointer_expression "*(double *)(iVar12 + 0x20 + iVar18)" * (cast_expression "(double *)(iVar12 + 0x20 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x20 + iVar18)" ( (binary_expression "iVar12 + 0x20 + iVar18" (binary_expression "iVar12 + 0x20" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;" (assignment_expression "dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1" identifier = (binary_expression "*(double *)(iVar14 + 0x20 + iVar18) - dVar1" (pointer_expression "*(double *)(iVar14 + 0x20 + iVar18)" * (cast_expression "(double *)(iVar14 + 0x20 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20 + iVar18)" ( (binary_expression "iVar14 + 0x20 + iVar18" (binary_expression "iVar14 + 0x20" identifier + number_literal) + identifier) )))) - identifier)) ;) (expression_statement "dVar2 = SQRT(dVar5);" (assignment_expression "dVar2 = SQRT(dVar5)" identifier = (call_expression "SQRT(dVar5)" identifier (argument_list "(dVar5)" ( identifier )))) ;) (if_statement "if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }" if (parenthesized_expression "(dVar5 < 0.0)" ( (binary_expression "dVar5 < 0.0" identifier < number_literal) )) (compound_statement "{\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }" { (expression_statement "sqrt(dVar5);" (call_expression "sqrt(dVar5)" identifier (argument_list "(dVar5)" ( identifier ))) ;) (expression_statement "iVar7 = param_1[7];" (assignment_expression "iVar7 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "iVar14 = param_1[9];" (assignment_expression "iVar14 = param_1[9]" identifier = (subscript_expression "param_1[9]" identifier [ number_literal ])) ;) (expression_statement "dVar2 = *(double *)(iVar7 + 0x20 + iVar18);" (assignment_expression "dVar2 = *(double *)(iVar7 + 0x20 + iVar18)" identifier = (pointer_expression "*(double *)(iVar7 + 0x20 + iVar18)" * (cast_expression "(double *)(iVar7 + 0x20 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20 + iVar18)" ( (binary_expression "iVar7 + 0x20 + iVar18" (binary_expression "iVar7 + 0x20" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;" (assignment_expression "dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2" identifier = (binary_expression "*(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2" (pointer_expression "*(double *)(iVar14 + 0x20 + iVar18)" * (cast_expression "(double *)(iVar14 + 0x20 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x20 + iVar18)" ( (binary_expression "iVar14 + 0x20 + iVar18" (binary_expression "iVar14 + 0x20" identifier + number_literal) + identifier) )))) - (binary_expression "dVar2 * dVar2" identifier * identifier))) ;) (expression_statement "dVar2 = SQRT(dVar6);" (assignment_expression "dVar2 = SQRT(dVar6)" identifier = (call_expression "SQRT(dVar6)" identifier (argument_list "(dVar6)" ( identifier )))) ;) (if_statement "if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }" if (parenthesized_expression "(0.0 <= dVar6)" ( (binary_expression "0.0 <= dVar6" number_literal <= identifier) )) (compound_statement "{\n          iVar12 = param_1[3];\n        }" { (expression_statement "iVar12 = param_1[3];" (assignment_expression "iVar12 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) }) (else_clause "else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }" else (compound_statement "{\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }" { (expression_statement "sqrt(dVar6);" (call_expression "sqrt(dVar6)" identifier (argument_list "(dVar6)" ( identifier ))) ;) (expression_statement "iVar7 = param_1[7];" (assignment_expression "iVar7 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "iVar12 = param_1[3];" (assignment_expression "iVar12 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "iVar14 = param_1[9];" (assignment_expression "iVar14 = param_1[9]" identifier = (subscript_expression "param_1[9]" identifier [ number_literal ])) ;) }))) })) (expression_statement "iVar18 = local_38 * 0x50;" (assignment_expression "iVar18 = local_38 * 0x50" identifier = (binary_expression "local_38 * 0x50" identifier * number_literal)) ;) (expression_statement "pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));" (assignment_expression "pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (subscript_expression "pdVar16[8]" identifier [ number_literal ]) = (binary_expression "(dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (parenthesized_expression "(dVar19 - dVar1)" ( (binary_expression "dVar19 - dVar1" identifier - identifier) )) / (parenthesized_expression "(dVar2 * SQRT(dVar5))" ( (binary_expression "dVar2 * SQRT(dVar5)" identifier * (call_expression "SQRT(dVar5)" identifier (argument_list "(dVar5)" ( identifier )))) )))) ;) (expression_statement "dVar1 = *(double *)(iVar7 + 0x28 + iVar18);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x28 + iVar18)" identifier = (pointer_expression "*(double *)(iVar7 + 0x28 + iVar18)" * (cast_expression "(double *)(iVar7 + 0x28 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x28 + iVar18)" ( (binary_expression "iVar7 + 0x28 + iVar18" (binary_expression "iVar7 + 0x28" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar1 = dVar1 * dVar1;" (assignment_expression "dVar1 = dVar1 * dVar1" identifier = (binary_expression "dVar1 * dVar1" identifier * identifier)) ;) (expression_statement "dVar19 = *(double *)(iVar12 + 0x28 + iVar18);" (assignment_expression "dVar19 = *(double *)(iVar12 + 0x28 + iVar18)" identifier = (pointer_expression "*(double *)(iVar12 + 0x28 + iVar18)" * (cast_expression "(double *)(iVar12 + 0x28 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x28 + iVar18)" ( (binary_expression "iVar12 + 0x28 + iVar18" (binary_expression "iVar12 + 0x28" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;" (assignment_expression "dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1" identifier = (binary_expression "*(double *)(iVar14 + 0x28 + iVar18) - dVar1" (pointer_expression "*(double *)(iVar14 + 0x28 + iVar18)" * (cast_expression "(double *)(iVar14 + 0x28 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28 + iVar18)" ( (binary_expression "iVar14 + 0x28 + iVar18" (binary_expression "iVar14 + 0x28" identifier + number_literal) + identifier) )))) - identifier)) ;) (expression_statement "dVar2 = SQRT(dVar5);" (assignment_expression "dVar2 = SQRT(dVar5)" identifier = (call_expression "SQRT(dVar5)" identifier (argument_list "(dVar5)" ( identifier )))) ;) (if_statement "if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }" if (parenthesized_expression "(dVar5 < 0.0)" ( (binary_expression "dVar5 < 0.0" identifier < number_literal) )) (compound_statement "{\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }" { (expression_statement "sqrt(dVar5);" (call_expression "sqrt(dVar5)" identifier (argument_list "(dVar5)" ( identifier ))) ;) (expression_statement "iVar7 = param_1[7];" (assignment_expression "iVar7 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "iVar14 = param_1[9];" (assignment_expression "iVar14 = param_1[9]" identifier = (subscript_expression "param_1[9]" identifier [ number_literal ])) ;) (expression_statement "dVar2 = *(double *)(iVar7 + 0x28 + iVar18);" (assignment_expression "dVar2 = *(double *)(iVar7 + 0x28 + iVar18)" identifier = (pointer_expression "*(double *)(iVar7 + 0x28 + iVar18)" * (cast_expression "(double *)(iVar7 + 0x28 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x28 + iVar18)" ( (binary_expression "iVar7 + 0x28 + iVar18" (binary_expression "iVar7 + 0x28" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;" (assignment_expression "dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2" identifier = (binary_expression "*(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2" (pointer_expression "*(double *)(iVar14 + 0x28 + iVar18)" * (cast_expression "(double *)(iVar14 + 0x28 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x28 + iVar18)" ( (binary_expression "iVar14 + 0x28 + iVar18" (binary_expression "iVar14 + 0x28" identifier + number_literal) + identifier) )))) - (binary_expression "dVar2 * dVar2" identifier * identifier))) ;) (expression_statement "dVar2 = SQRT(dVar6);" (assignment_expression "dVar2 = SQRT(dVar6)" identifier = (call_expression "SQRT(dVar6)" identifier (argument_list "(dVar6)" ( identifier )))) ;) (if_statement "if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }" if (parenthesized_expression "(0.0 <= dVar6)" ( (binary_expression "0.0 <= dVar6" number_literal <= identifier) )) (compound_statement "{\n          iVar12 = param_1[3];\n        }" { (expression_statement "iVar12 = param_1[3];" (assignment_expression "iVar12 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) }) (else_clause "else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }" else (compound_statement "{\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }" { (expression_statement "sqrt(dVar6);" (call_expression "sqrt(dVar6)" identifier (argument_list "(dVar6)" ( identifier ))) ;) (expression_statement "iVar7 = param_1[7];" (assignment_expression "iVar7 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "iVar12 = param_1[3];" (assignment_expression "iVar12 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "iVar14 = param_1[9];" (assignment_expression "iVar14 = param_1[9]" identifier = (subscript_expression "param_1[9]" identifier [ number_literal ])) ;) }))) })) (expression_statement "iVar18 = local_38 * 0x50;" (assignment_expression "iVar18 = local_38 * 0x50" identifier = (binary_expression "local_38 * 0x50" identifier * number_literal)) ;) (expression_statement "pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));" (assignment_expression "pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (subscript_expression "pdVar16[0x40]" identifier [ number_literal ]) = (binary_expression "(dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (parenthesized_expression "(dVar19 - dVar1)" ( (binary_expression "dVar19 - dVar1" identifier - identifier) )) / (parenthesized_expression "(dVar2 * SQRT(dVar5))" ( (binary_expression "dVar2 * SQRT(dVar5)" identifier * (call_expression "SQRT(dVar5)" identifier (argument_list "(dVar5)" ( identifier )))) )))) ;) (expression_statement "dVar1 = *(double *)(iVar7 + 0x30 + iVar18);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x30 + iVar18)" identifier = (pointer_expression "*(double *)(iVar7 + 0x30 + iVar18)" * (cast_expression "(double *)(iVar7 + 0x30 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x30 + iVar18)" ( (binary_expression "iVar7 + 0x30 + iVar18" (binary_expression "iVar7 + 0x30" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar1 = dVar1 * dVar1;" (assignment_expression "dVar1 = dVar1 * dVar1" identifier = (binary_expression "dVar1 * dVar1" identifier * identifier)) ;) (expression_statement "dVar19 = *(double *)(iVar12 + 0x30 + iVar18);" (assignment_expression "dVar19 = *(double *)(iVar12 + 0x30 + iVar18)" identifier = (pointer_expression "*(double *)(iVar12 + 0x30 + iVar18)" * (cast_expression "(double *)(iVar12 + 0x30 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x30 + iVar18)" ( (binary_expression "iVar12 + 0x30 + iVar18" (binary_expression "iVar12 + 0x30" identifier + number_literal) + identifier) ))))) ;) (expression_statement "dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;" (assignment_expression "dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1" identifier = (binary_expression "*(double *)(iVar14 + 0x30 + iVar18) - dVar1" (pointer_expression "*(double *)(iVar14 + 0x30 + iVar18)" * (cast_expression "(double *)(iVar14 + 0x30 + iVar18)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x30 + iVar18)" ( (binary_expression "iVar14 + 0x30 + iVar18" (binary_expression "iVar14 + 0x30" identifier + number_literal) + identifier) )))) - identifier)) ;) (expression_statement "dVar2 = SQRT(dVar5);" (assignment_expression "dVar2 = SQRT(dVar5)" identifier = (call_expression "SQRT(dVar5)" identifier (argument_list "(dVar5)" ( identifier )))) ;) (if_statement "if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }" if (parenthesized_expression "(dVar5 < 0.0)" ( (binary_expression "dVar5 < 0.0" identifier < number_literal) )) (compound_statement "{\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }" { (expression_statement "sqrt(dVar5);" (call_expression "sqrt(dVar5)" identifier (argument_list "(dVar5)" ( identifier ))) ;) (expression_statement "dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);" (assignment_expression "dVar2 = *(double *)(param_1[7] + iVar18 + 0x30)" identifier = (pointer_expression "*(double *)(param_1[7] + iVar18 + 0x30)" * (cast_expression "(double *)(param_1[7] + iVar18 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[7] + iVar18 + 0x30)" ( (binary_expression "param_1[7] + iVar18 + 0x30" (binary_expression "param_1[7] + iVar18" (subscript_expression "param_1[7]" identifier [ number_literal ]) + identifier) + number_literal) ))))) ;) (expression_statement "dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;" (assignment_expression "dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2" identifier = (binary_expression "*(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2" (pointer_expression "*(double *)(iVar18 + param_1[9] + 0x30)" * (cast_expression "(double *)(iVar18 + param_1[9] + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + param_1[9] + 0x30)" ( (binary_expression "iVar18 + param_1[9] + 0x30" (binary_expression "iVar18 + param_1[9]" identifier + (subscript_expression "param_1[9]" identifier [ number_literal ])) + number_literal) )))) - (binary_expression "dVar2 * dVar2" identifier * identifier))) ;) (expression_statement "dVar2 = SQRT(dVar6);" (assignment_expression "dVar2 = SQRT(dVar6)" identifier = (call_expression "SQRT(dVar6)" identifier (argument_list "(dVar6)" ( identifier )))) ;) (if_statement "if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }" if (parenthesized_expression "(dVar6 < 0.0)" ( (binary_expression "dVar6 < 0.0" identifier < number_literal) )) (compound_statement "{\n          sqrt(dVar6);\n        }" { (expression_statement "sqrt(dVar6);" (call_expression "sqrt(dVar6)" identifier (argument_list "(dVar6)" ( identifier ))) ;) })) })) (expression_statement "iVar7 = *(int *)(iVar4 + 4);" (assignment_expression "iVar7 = *(int *)(iVar4 + 4)" identifier = (pointer_expression "*(int *)(iVar4 + 4)" * (cast_expression "(int *)(iVar4 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 4)" ( (binary_expression "iVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));" (assignment_expression "pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (subscript_expression "pdVar16[0x78]" identifier [ number_literal ]) = (binary_expression "(dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (parenthesized_expression "(dVar19 - dVar1)" ( (binary_expression "dVar19 - dVar1" identifier - identifier) )) / (parenthesized_expression "(dVar2 * SQRT(dVar5))" ( (binary_expression "dVar2 * SQRT(dVar5)" identifier * (call_expression "SQRT(dVar5)" identifier (argument_list "(dVar5)" ( identifier )))) )))) ;) (if_statement "if (iVar7 == 2) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }" if (parenthesized_expression "(iVar7 == 2)" ( (binary_expression "iVar7 == 2" identifier == number_literal) )) (compound_statement "{\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }" { (expression_statement "iVar7 = local_38 * 0x50;" (assignment_expression "iVar7 = local_38 * 0x50" identifier = (binary_expression "local_38 * 0x50" identifier * number_literal)) ;) (expression_statement "dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);" (assignment_expression "dVar1 = *(double *)(param_1[7] + iVar7 + 0x38)" identifier = (pointer_expression "*(double *)(param_1[7] + iVar7 + 0x38)" * (cast_expression "(double *)(param_1[7] + iVar7 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[7] + iVar7 + 0x38)" ( (binary_expression "param_1[7] + iVar7 + 0x38" (binary_expression "param_1[7] + iVar7" (subscript_expression "param_1[7]" identifier [ number_literal ]) + identifier) + number_literal) ))))) ;) (expression_statement "dVar1 = dVar1 * dVar1;" (assignment_expression "dVar1 = dVar1 * dVar1" identifier = (binary_expression "dVar1 * dVar1" identifier * identifier)) ;) (expression_statement "dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);" (assignment_expression "dVar19 = *(double *)(param_1[3] + iVar7 + 0x38)" identifier = (pointer_expression "*(double *)(param_1[3] + iVar7 + 0x38)" * (cast_expression "(double *)(param_1[3] + iVar7 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[3] + iVar7 + 0x38)" ( (binary_expression "param_1[3] + iVar7 + 0x38" (binary_expression "param_1[3] + iVar7" (subscript_expression "param_1[3]" identifier [ number_literal ]) + identifier) + number_literal) ))))) ;) (expression_statement "dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;" (assignment_expression "dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1" identifier = (binary_expression "*(double *)(param_1[9] + iVar7 + 0x38) - dVar1" (pointer_expression "*(double *)(param_1[9] + iVar7 + 0x38)" * (cast_expression "(double *)(param_1[9] + iVar7 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[9] + iVar7 + 0x38)" ( (binary_expression "param_1[9] + iVar7 + 0x38" (binary_expression "param_1[9] + iVar7" (subscript_expression "param_1[9]" identifier [ number_literal ]) + identifier) + number_literal) )))) - identifier)) ;) (expression_statement "dVar2 = SQRT(dVar5);" (assignment_expression "dVar2 = SQRT(dVar5)" identifier = (call_expression "SQRT(dVar5)" identifier (argument_list "(dVar5)" ( identifier )))) ;) (if_statement "if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }" if (parenthesized_expression "(dVar5 < 0.0)" ( (binary_expression "dVar5 < 0.0" identifier < number_literal) )) (compound_statement "{\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }" { (expression_statement "sqrt(dVar5);" (call_expression "sqrt(dVar5)" identifier (argument_list "(dVar5)" ( identifier ))) ;) (expression_statement "dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);" (assignment_expression "dVar2 = *(double *)(param_1[7] + iVar7 + 0x38)" identifier = (pointer_expression "*(double *)(param_1[7] + iVar7 + 0x38)" * (cast_expression "(double *)(param_1[7] + iVar7 + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[7] + iVar7 + 0x38)" ( (binary_expression "param_1[7] + iVar7 + 0x38" (binary_expression "param_1[7] + iVar7" (subscript_expression "param_1[7]" identifier [ number_literal ]) + identifier) + number_literal) ))))) ;) (expression_statement "dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;" (assignment_expression "dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2" identifier = (binary_expression "*(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2" (pointer_expression "*(double *)(iVar7 + param_1[9] + 0x38)" * (cast_expression "(double *)(iVar7 + param_1[9] + 0x38)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + param_1[9] + 0x38)" ( (binary_expression "iVar7 + param_1[9] + 0x38" (binary_expression "iVar7 + param_1[9]" identifier + (subscript_expression "param_1[9]" identifier [ number_literal ])) + number_literal) )))) - (binary_expression "dVar2 * dVar2" identifier * identifier))) ;) (expression_statement "dVar2 = SQRT(dVar6);" (assignment_expression "dVar2 = SQRT(dVar6)" identifier = (call_expression "SQRT(dVar6)" identifier (argument_list "(dVar6)" ( identifier )))) ;) (if_statement "if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }" if (parenthesized_expression "(dVar6 < 0.0)" ( (binary_expression "dVar6 < 0.0" identifier < number_literal) )) (compound_statement "{\n            sqrt(dVar6);\n          }" { (expression_statement "sqrt(dVar6);" (call_expression "sqrt(dVar6)" identifier (argument_list "(dVar6)" ( identifier ))) ;) })) })) (expression_statement "pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));" (assignment_expression "pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (subscript_expression "pdVar16[0xb0]" identifier [ number_literal ]) = (binary_expression "(dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (parenthesized_expression "(dVar19 - dVar1)" ( (binary_expression "dVar19 - dVar1" identifier - identifier) )) / (parenthesized_expression "(dVar2 * SQRT(dVar5))" ( (binary_expression "dVar2 * SQRT(dVar5)" identifier * (call_expression "SQRT(dVar5)" identifier (argument_list "(dVar5)" ( identifier )))) )))) ;) })) (if_statement "if (*(int *)(iVar4 + 0x294) != 0) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }" if (parenthesized_expression "(*(int *)(iVar4 + 0x294) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x294) != 0" (pointer_expression "*(int *)(iVar4 + 0x294)" * (cast_expression "(int *)(iVar4 + 0x294)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x294)" ( (binary_expression "iVar4 + 0x294" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }" { (expression_statement "iVar7 = local_38 * 0x50;" (assignment_expression "iVar7 = local_38 * 0x50" identifier = (binary_expression "local_38 * 0x50" identifier * number_literal)) ;) (expression_statement "dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);" (assignment_expression "dVar1 = *(double *)(param_1[7] + iVar7 + 0x40)" identifier = (pointer_expression "*(double *)(param_1[7] + iVar7 + 0x40)" * (cast_expression "(double *)(param_1[7] + iVar7 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[7] + iVar7 + 0x40)" ( (binary_expression "param_1[7] + iVar7 + 0x40" (binary_expression "param_1[7] + iVar7" (subscript_expression "param_1[7]" identifier [ number_literal ]) + identifier) + number_literal) ))))) ;) (expression_statement "dVar1 = dVar1 * dVar1;" (assignment_expression "dVar1 = dVar1 * dVar1" identifier = (binary_expression "dVar1 * dVar1" identifier * identifier)) ;) (expression_statement "dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);" (assignment_expression "dVar19 = *(double *)(param_1[3] + iVar7 + 0x40)" identifier = (pointer_expression "*(double *)(param_1[3] + iVar7 + 0x40)" * (cast_expression "(double *)(param_1[3] + iVar7 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[3] + iVar7 + 0x40)" ( (binary_expression "param_1[3] + iVar7 + 0x40" (binary_expression "param_1[3] + iVar7" (subscript_expression "param_1[3]" identifier [ number_literal ]) + identifier) + number_literal) ))))) ;) (expression_statement "dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;" (assignment_expression "dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1" identifier = (binary_expression "*(double *)(param_1[9] + iVar7 + 0x40) - dVar1" (pointer_expression "*(double *)(param_1[9] + iVar7 + 0x40)" * (cast_expression "(double *)(param_1[9] + iVar7 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[9] + iVar7 + 0x40)" ( (binary_expression "param_1[9] + iVar7 + 0x40" (binary_expression "param_1[9] + iVar7" (subscript_expression "param_1[9]" identifier [ number_literal ]) + identifier) + number_literal) )))) - identifier)) ;) (expression_statement "dVar2 = SQRT(dVar5);" (assignment_expression "dVar2 = SQRT(dVar5)" identifier = (call_expression "SQRT(dVar5)" identifier (argument_list "(dVar5)" ( identifier )))) ;) (if_statement "if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }" if (parenthesized_expression "(dVar5 < 0.0)" ( (binary_expression "dVar5 < 0.0" identifier < number_literal) )) (compound_statement "{\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }" { (expression_statement "sqrt(dVar5);" (call_expression "sqrt(dVar5)" identifier (argument_list "(dVar5)" ( identifier ))) ;) (expression_statement "dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);" (assignment_expression "dVar2 = *(double *)(param_1[7] + iVar7 + 0x40)" identifier = (pointer_expression "*(double *)(param_1[7] + iVar7 + 0x40)" * (cast_expression "(double *)(param_1[7] + iVar7 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[7] + iVar7 + 0x40)" ( (binary_expression "param_1[7] + iVar7 + 0x40" (binary_expression "param_1[7] + iVar7" (subscript_expression "param_1[7]" identifier [ number_literal ]) + identifier) + number_literal) ))))) ;) (expression_statement "dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;" (assignment_expression "dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2" identifier = (binary_expression "*(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2" (pointer_expression "*(double *)(iVar7 + param_1[9] + 0x40)" * (cast_expression "(double *)(iVar7 + param_1[9] + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + param_1[9] + 0x40)" ( (binary_expression "iVar7 + param_1[9] + 0x40" (binary_expression "iVar7 + param_1[9]" identifier + (subscript_expression "param_1[9]" identifier [ number_literal ])) + number_literal) )))) - (binary_expression "dVar2 * dVar2" identifier * identifier))) ;) (expression_statement "dVar2 = SQRT(dVar6);" (assignment_expression "dVar2 = SQRT(dVar6)" identifier = (call_expression "SQRT(dVar6)" identifier (argument_list "(dVar6)" ( identifier )))) ;) (if_statement "if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }" if (parenthesized_expression "(dVar6 < 0.0)" ( (binary_expression "dVar6 < 0.0" identifier < number_literal) )) (compound_statement "{\n            sqrt(dVar6);\n          }" { (expression_statement "sqrt(dVar6);" (call_expression "sqrt(dVar6)" identifier (argument_list "(dVar6)" ( identifier ))) ;) })) })) (expression_statement "pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));" (assignment_expression "pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (subscript_expression "pdVar16[0xe8]" identifier [ number_literal ]) = (binary_expression "(dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (parenthesized_expression "(dVar19 - dVar1)" ( (binary_expression "dVar19 - dVar1" identifier - identifier) )) / (parenthesized_expression "(dVar2 * SQRT(dVar5))" ( (binary_expression "dVar2 * SQRT(dVar5)" identifier * (call_expression "SQRT(dVar5)" identifier (argument_list "(dVar5)" ( identifier )))) )))) ;) })) (expression_statement "local_38 = local_38 + 1;" (assignment_expression "local_38 = local_38 + 1" identifier = (binary_expression "local_38 + 1" identifier + number_literal)) ;) (expression_statement "pdVar16 = pdVar16 + 1;" (assignment_expression "pdVar16 = pdVar16 + 1" identifier = (binary_expression "pdVar16 + 1" identifier + number_literal)) ;) (expression_statement "local_34 = local_34 + 10;" (assignment_expression "local_34 = local_34 + 10" identifier = (binary_expression "local_34 + 10" identifier + number_literal)) ;) (expression_statement "local_24 = local_24 + 10;" (assignment_expression "local_24 = local_24 + 10" identifier = (binary_expression "local_24 + 10" identifier + number_literal)) ;) (expression_statement "local_28 = local_28 + 10;" (assignment_expression "local_28 = local_28 + 10" identifier = (binary_expression "local_28 + 10" identifier + number_literal)) ;) (expression_statement "local_2c = local_2c + 10;" (assignment_expression "local_2c = local_2c + 10" identifier = (binary_expression "local_2c + 10" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar9 != local_38)" ( (binary_expression "iVar9 != local_38" 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 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 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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * 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) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression LIT / (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression LIT % (cast_expression ( (type_descriptor TYPE) ) 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)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + (binary_expression IDENT * LIT)) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (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 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) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_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 { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression IDENT * IDENT) + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (subscript_expression IDENT [ LIT ]))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression IDENT * IDENT) + (subscript_expression IDENT [ LIT ]))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )))))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (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) )))) * 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 + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * 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 + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * 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 == LIT) )) (compound_statement { (expression_statement (assignment_expression (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) )))) * 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 != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression IDENT * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT * IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression IDENT / IDENT) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) / IDENT) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) / IDENT) + (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) / IDENT) + (subscript_expression IDENT [ LIT ]))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )))) / IDENT) + (subscript_expression IDENT [ LIT ]))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )))))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) - (binary_expression IDENT * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) - (binary_expression IDENT * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) 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 (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) - (binary_expression IDENT * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) - (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 != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_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) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) - (binary_expression IDENT * IDENT))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + (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 = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (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 (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )))))) ;) (expression_statement (assignment_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)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT - IDENT) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * IDENT) * IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * IDENT) * 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 + LIT) )))) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) * 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 + LIT) )))) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) * 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 + LIT) )))) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) * 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 + LIT) )))) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) * 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 == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) * 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 + LIT) )))) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) * 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 != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = (binary_expression (binary_expression IDENT * (subscript_expression IDENT [ LIT ])) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = (binary_expression (binary_expression IDENT * (subscript_expression IDENT [ LIT ])) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) }))) (expression_statement (assignment_expression IDENT = (subscript_expression 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 *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + 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 (binary_expression IDENT + LIT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )))) - IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )))) - (binary_expression IDENT * IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) / (parenthesized_expression ( (binary_expression IDENT * (call_expression IDENT (argument_list ( IDENT )))) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + 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 (binary_expression IDENT + LIT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )))) - IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )))) - (binary_expression IDENT * IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) / (parenthesized_expression ( (binary_expression IDENT * (call_expression IDENT (argument_list ( IDENT )))) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + 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 (binary_expression IDENT + LIT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )))) - IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) + LIT) )))) - (binary_expression IDENT * IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( 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 (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) / (parenthesized_expression ( (binary_expression IDENT * (call_expression IDENT (argument_list ( IDENT )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + 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 *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) + LIT) )))) - IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) + LIT) )))) - (binary_expression IDENT * IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) / (parenthesized_expression ( (binary_expression IDENT * (call_expression IDENT (argument_list ( 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 IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + 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 *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) + LIT) )))) - IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) + LIT) )))) - (binary_expression IDENT * IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) / (parenthesized_expression ( (binary_expression IDENT * (call_expression IDENT (argument_list ( 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)) ;) (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 IDENT != IDENT) )) ;) })) (return_statement return ;) })))
(function_definition "void FUN_000d0220(int *param_1)\n\n{\n  double dVar1;\n  double dVar2;\n  int *piVar3;\n  int iVar4;\n  double dVar5;\n  double dVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  double *pdVar16;\n  double *pdVar17;\n  int iVar18;\n  double dVar19;\n  int local_74;\n  int *local_6c;\n  double *local_64;\n  double *local_60;\n  int local_58;\n  int local_50;\n  double *local_4c;\n  double *local_3c;\n  int local_38;\n  double *local_34;\n  double *local_2c;\n  double *local_28;\n  double *local_24;\n  \n  iVar7 = omp_get_num_threads();\n  iVar8 = omp_get_thread_num();\n  iVar9 = (int)(4 / (longlong)iVar7);\n  local_38 = (int)(4 % (longlong)iVar7);\n  if (iVar8 < local_38) {\n    iVar9 = iVar9 + 1;\n    local_38 = 0;\n  }\n  local_38 = iVar8 * iVar9 + local_38;\n  iVar9 = iVar9 + local_38;\n  if (local_38 < iVar9) {\n    iVar8 = param_1[10];\n    piVar3 = (int *)param_1[2];\n    iVar4 = *param_1;\n    pdVar16 = (double *)(param_1[1] + local_38 * 8);\n    iVar7 = local_38 * 0x50 + 0x20;\n    local_34 = (double *)(param_1[4] + iVar7);\n    local_24 = (double *)(param_1[8] + iVar7);\n    local_28 = (double *)(iVar7 + param_1[6]);\n    local_2c = (double *)(param_1[5] + 0x2a0 + local_38 * 0x50);\n    do {\n      if (iVar8 < 1) {\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }\n      else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }\n      iVar12 = param_1[3];\n      iVar18 = local_38 * 0x50;\n      dVar1 = *(double *)(iVar7 + 0x20 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x20 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x28 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x28 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x30 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x30 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }\n      iVar7 = *(int *)(iVar4 + 4);\n      pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      if (iVar7 == 2) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      if (*(int *)(iVar4 + 0x294) != 0) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      local_38 = local_38 + 1;\n      pdVar16 = pdVar16 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    } while (iVar9 != local_38);\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_000d0220(int *param_1)" (identifier "FUN_000d0220") (parameter_list "(int *param_1)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  double dVar1;\n  double dVar2;\n  int *piVar3;\n  int iVar4;\n  double dVar5;\n  double dVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  double *pdVar16;\n  double *pdVar17;\n  int iVar18;\n  double dVar19;\n  int local_74;\n  int *local_6c;\n  double *local_64;\n  double *local_60;\n  int local_58;\n  int local_50;\n  double *local_4c;\n  double *local_3c;\n  int local_38;\n  double *local_34;\n  double *local_2c;\n  double *local_28;\n  double *local_24;\n  \n  iVar7 = omp_get_num_threads();\n  iVar8 = omp_get_thread_num();\n  iVar9 = (int)(4 / (longlong)iVar7);\n  local_38 = (int)(4 % (longlong)iVar7);\n  if (iVar8 < local_38) {\n    iVar9 = iVar9 + 1;\n    local_38 = 0;\n  }\n  local_38 = iVar8 * iVar9 + local_38;\n  iVar9 = iVar9 + local_38;\n  if (local_38 < iVar9) {\n    iVar8 = param_1[10];\n    piVar3 = (int *)param_1[2];\n    iVar4 = *param_1;\n    pdVar16 = (double *)(param_1[1] + local_38 * 8);\n    iVar7 = local_38 * 0x50 + 0x20;\n    local_34 = (double *)(param_1[4] + iVar7);\n    local_24 = (double *)(param_1[8] + iVar7);\n    local_28 = (double *)(iVar7 + param_1[6]);\n    local_2c = (double *)(param_1[5] + 0x2a0 + local_38 * 0x50);\n    do {\n      if (iVar8 < 1) {\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }\n      else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }\n      iVar12 = param_1[3];\n      iVar18 = local_38 * 0x50;\n      dVar1 = *(double *)(iVar7 + 0x20 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x20 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x28 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x28 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x30 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x30 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }\n      iVar7 = *(int *)(iVar4 + 4);\n      pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      if (iVar7 == 2) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      if (*(int *)(iVar4 + 0x294) != 0) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      local_38 = local_38 + 1;\n      pdVar16 = pdVar16 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    } while (iVar9 != local_38);\n  }\n  return;\n}" ({ "{") (declaration "double dVar1;" (primitive_type "double") (identifier "dVar1") (; ";")) (declaration "double dVar2;" (primitive_type "double") (identifier "dVar2") (; ";")) (declaration "int *piVar3;" (primitive_type "int") (pointer_declarator "*piVar3" (* "*") (identifier "piVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "double dVar5;" (primitive_type "double") (identifier "dVar5") (; ";")) (declaration "double dVar6;" (primitive_type "double") (identifier "dVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "double *pdVar16;" (primitive_type "double") (pointer_declarator "*pdVar16" (* "*") (identifier "pdVar16")) (; ";")) (declaration "double *pdVar17;" (primitive_type "double") (pointer_declarator "*pdVar17" (* "*") (identifier "pdVar17")) (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "double dVar19;" (primitive_type "double") (identifier "dVar19") (; ";")) (declaration "int local_74;" (primitive_type "int") (identifier "local_74") (; ";")) (declaration "int *local_6c;" (primitive_type "int") (pointer_declarator "*local_6c" (* "*") (identifier "local_6c")) (; ";")) (declaration "double *local_64;" (primitive_type "double") (pointer_declarator "*local_64" (* "*") (identifier "local_64")) (; ";")) (declaration "double *local_60;" (primitive_type "double") (pointer_declarator "*local_60" (* "*") (identifier "local_60")) (; ";")) (declaration "int local_58;" (primitive_type "int") (identifier "local_58") (; ";")) (declaration "int local_50;" (primitive_type "int") (identifier "local_50") (; ";")) (declaration "double *local_4c;" (primitive_type "double") (pointer_declarator "*local_4c" (* "*") (identifier "local_4c")) (; ";")) (declaration "double *local_3c;" (primitive_type "double") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c")) (; ";")) (declaration "int local_38;" (primitive_type "int") (identifier "local_38") (; ";")) (declaration "double *local_34;" (primitive_type "double") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (declaration "double *local_2c;" (primitive_type "double") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (declaration "double *local_28;" (primitive_type "double") (pointer_declarator "*local_28" (* "*") (identifier "local_28")) (; ";")) (declaration "double *local_24;" (primitive_type "double") (pointer_declarator "*local_24" (* "*") (identifier "local_24")) (; ";")) (expression_statement "iVar7 = omp_get_num_threads();" (assignment_expression "iVar7 = omp_get_num_threads()" (identifier "iVar7") (= "=") (call_expression "omp_get_num_threads()" (identifier "omp_get_num_threads") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar8 = omp_get_thread_num();" (assignment_expression "iVar8 = omp_get_thread_num()" (identifier "iVar8") (= "=") (call_expression "omp_get_thread_num()" (identifier "omp_get_thread_num") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar9 = (int)(4 / (longlong)iVar7);" (assignment_expression "iVar9 = (int)(4 / (longlong)iVar7)" (identifier "iVar9") (= "=") (cast_expression "(int)(4 / (longlong)iVar7)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(4 / (longlong)iVar7)" (( "(") (binary_expression "4 / (longlong)iVar7" (number_literal "4") (/ "/") (cast_expression "(longlong)iVar7" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (identifier "iVar7"))) () ")")))) (; ";")) (expression_statement "local_38 = (int)(4 % (longlong)iVar7);" (assignment_expression "local_38 = (int)(4 % (longlong)iVar7)" (identifier "local_38") (= "=") (cast_expression "(int)(4 % (longlong)iVar7)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(4 % (longlong)iVar7)" (( "(") (binary_expression "4 % (longlong)iVar7" (number_literal "4") (% "%") (cast_expression "(longlong)iVar7" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (identifier "iVar7"))) () ")")))) (; ";")) (if_statement "if (iVar8 < local_38) {\n    iVar9 = iVar9 + 1;\n    local_38 = 0;\n  }" (if "if") (parenthesized_expression "(iVar8 < local_38)" (( "(") (binary_expression "iVar8 < local_38" (identifier "iVar8") (< "<") (identifier "local_38")) () ")")) (compound_statement "{\n    iVar9 = iVar9 + 1;\n    local_38 = 0;\n  }" ({ "{") (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" (identifier "local_38") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "local_38 = iVar8 * iVar9 + local_38;" (assignment_expression "local_38 = iVar8 * iVar9 + local_38" (identifier "local_38") (= "=") (binary_expression "iVar8 * iVar9 + local_38" (binary_expression "iVar8 * iVar9" (identifier "iVar8") (* "*") (identifier "iVar9")) (+ "+") (identifier "local_38"))) (; ";")) (expression_statement "iVar9 = iVar9 + local_38;" (assignment_expression "iVar9 = iVar9 + local_38" (identifier "iVar9") (= "=") (binary_expression "iVar9 + local_38" (identifier "iVar9") (+ "+") (identifier "local_38"))) (; ";")) (if_statement "if (local_38 < iVar9) {\n    iVar8 = param_1[10];\n    piVar3 = (int *)param_1[2];\n    iVar4 = *param_1;\n    pdVar16 = (double *)(param_1[1] + local_38 * 8);\n    iVar7 = local_38 * 0x50 + 0x20;\n    local_34 = (double *)(param_1[4] + iVar7);\n    local_24 = (double *)(param_1[8] + iVar7);\n    local_28 = (double *)(iVar7 + param_1[6]);\n    local_2c = (double *)(param_1[5] + 0x2a0 + local_38 * 0x50);\n    do {\n      if (iVar8 < 1) {\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }\n      else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }\n      iVar12 = param_1[3];\n      iVar18 = local_38 * 0x50;\n      dVar1 = *(double *)(iVar7 + 0x20 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x20 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x28 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x28 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x30 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x30 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }\n      iVar7 = *(int *)(iVar4 + 4);\n      pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      if (iVar7 == 2) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      if (*(int *)(iVar4 + 0x294) != 0) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      local_38 = local_38 + 1;\n      pdVar16 = pdVar16 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    } while (iVar9 != local_38);\n  }" (if "if") (parenthesized_expression "(local_38 < iVar9)" (( "(") (binary_expression "local_38 < iVar9" (identifier "local_38") (< "<") (identifier "iVar9")) () ")")) (compound_statement "{\n    iVar8 = param_1[10];\n    piVar3 = (int *)param_1[2];\n    iVar4 = *param_1;\n    pdVar16 = (double *)(param_1[1] + local_38 * 8);\n    iVar7 = local_38 * 0x50 + 0x20;\n    local_34 = (double *)(param_1[4] + iVar7);\n    local_24 = (double *)(param_1[8] + iVar7);\n    local_28 = (double *)(iVar7 + param_1[6]);\n    local_2c = (double *)(param_1[5] + 0x2a0 + local_38 * 0x50);\n    do {\n      if (iVar8 < 1) {\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }\n      else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }\n      iVar12 = param_1[3];\n      iVar18 = local_38 * 0x50;\n      dVar1 = *(double *)(iVar7 + 0x20 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x20 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x28 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x28 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x30 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x30 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }\n      iVar7 = *(int *)(iVar4 + 4);\n      pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      if (iVar7 == 2) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      if (*(int *)(iVar4 + 0x294) != 0) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      local_38 = local_38 + 1;\n      pdVar16 = pdVar16 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    } while (iVar9 != local_38);\n  }" ({ "{") (expression_statement "iVar8 = param_1[10];" (assignment_expression "iVar8 = param_1[10]" (identifier "iVar8") (= "=") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (; ";")) (expression_statement "piVar3 = (int *)param_1[2];" (assignment_expression "piVar3 = (int *)param_1[2]" (identifier "piVar3") (= "=") (cast_expression "(int *)param_1[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "iVar4 = *param_1;" (assignment_expression "iVar4 = *param_1" (identifier "iVar4") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "pdVar16 = (double *)(param_1[1] + local_38 * 8);" (assignment_expression "pdVar16 = (double *)(param_1[1] + local_38 * 8)" (identifier "pdVar16") (= "=") (cast_expression "(double *)(param_1[1] + local_38 * 8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[1] + local_38 * 8)" (( "(") (binary_expression "param_1[1] + local_38 * 8" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (binary_expression "local_38 * 8" (identifier "local_38") (* "*") (number_literal "8"))) () ")")))) (; ";")) (expression_statement "iVar7 = local_38 * 0x50 + 0x20;" (assignment_expression "iVar7 = local_38 * 0x50 + 0x20" (identifier "iVar7") (= "=") (binary_expression "local_38 * 0x50 + 0x20" (binary_expression "local_38 * 0x50" (identifier "local_38") (* "*") (number_literal "0x50")) (+ "+") (number_literal "0x20"))) (; ";")) (expression_statement "local_34 = (double *)(param_1[4] + iVar7);" (assignment_expression "local_34 = (double *)(param_1[4] + iVar7)" (identifier "local_34") (= "=") (cast_expression "(double *)(param_1[4] + iVar7)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[4] + iVar7)" (( "(") (binary_expression "param_1[4] + iVar7" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (+ "+") (identifier "iVar7")) () ")")))) (; ";")) (expression_statement "local_24 = (double *)(param_1[8] + iVar7);" (assignment_expression "local_24 = (double *)(param_1[8] + iVar7)" (identifier "local_24") (= "=") (cast_expression "(double *)(param_1[8] + iVar7)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[8] + iVar7)" (( "(") (binary_expression "param_1[8] + iVar7" (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")) (+ "+") (identifier "iVar7")) () ")")))) (; ";")) (expression_statement "local_28 = (double *)(iVar7 + param_1[6]);" (assignment_expression "local_28 = (double *)(iVar7 + param_1[6])" (identifier "local_28") (= "=") (cast_expression "(double *)(iVar7 + param_1[6])" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + param_1[6])" (( "(") (binary_expression "iVar7 + param_1[6]" (identifier "iVar7") (+ "+") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]"))) () ")")))) (; ";")) (expression_statement "local_2c = (double *)(param_1[5] + 0x2a0 + local_38 * 0x50);" (assignment_expression "local_2c = (double *)(param_1[5] + 0x2a0 + local_38 * 0x50)" (identifier "local_2c") (= "=") (cast_expression "(double *)(param_1[5] + 0x2a0 + local_38 * 0x50)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[5] + 0x2a0 + local_38 * 0x50)" (( "(") (binary_expression "param_1[5] + 0x2a0 + local_38 * 0x50" (binary_expression "param_1[5] + 0x2a0" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (+ "+") (number_literal "0x2a0")) (+ "+") (binary_expression "local_38 * 0x50" (identifier "local_38") (* "*") (number_literal "0x50"))) () ")")))) (; ";")) (do_statement "do {\n      if (iVar8 < 1) {\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }\n      else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }\n      iVar12 = param_1[3];\n      iVar18 = local_38 * 0x50;\n      dVar1 = *(double *)(iVar7 + 0x20 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x20 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x28 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x28 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x30 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x30 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }\n      iVar7 = *(int *)(iVar4 + 4);\n      pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      if (iVar7 == 2) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      if (*(int *)(iVar4 + 0x294) != 0) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      local_38 = local_38 + 1;\n      pdVar16 = pdVar16 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    } while (iVar9 != local_38);" (do "do") (compound_statement "{\n      if (iVar8 < 1) {\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }\n      else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }\n      iVar12 = param_1[3];\n      iVar18 = local_38 * 0x50;\n      dVar1 = *(double *)(iVar7 + 0x20 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x20 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x28 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x28 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }\n      iVar18 = local_38 * 0x50;\n      pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      dVar1 = *(double *)(iVar7 + 0x30 + iVar18);\n      dVar1 = dVar1 * dVar1;\n      dVar19 = *(double *)(iVar12 + 0x30 + iVar18);\n      dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;\n      dVar2 = SQRT(dVar5);\n      if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }\n      iVar7 = *(int *)(iVar4 + 4);\n      pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      if (iVar7 == 2) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      if (*(int *)(iVar4 + 0x294) != 0) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }\n      local_38 = local_38 + 1;\n      pdVar16 = pdVar16 + 1;\n      local_34 = local_34 + 10;\n      local_24 = local_24 + 10;\n      local_28 = local_28 + 10;\n      local_2c = local_2c + 10;\n    }" ({ "{") (if_statement "if (iVar8 < 1) {\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }\n      else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }" (if "if") (parenthesized_expression "(iVar8 < 1)" (( "(") (binary_expression "iVar8 < 1" (identifier "iVar8") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n      }" ({ "{") (expression_statement "iVar7 = param_1[7];" (assignment_expression "iVar7 = param_1[7]" (identifier "iVar7") (= "=") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "iVar14 = param_1[9];" (assignment_expression "iVar14 = param_1[9]" (identifier "iVar14") (= "=") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }" (else "else") (compound_statement "{\n        local_50 = 0;\n        iVar12 = *(int *)(iVar4 + 4);\n        iVar18 = *(int *)(iVar4 + 0x294);\n        local_3c = local_2c;\n        local_4c = local_28;\n        local_60 = local_24;\n        iVar10 = local_38 * 0x50;\n        do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);\n      }" ({ "{") (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar12 = *(int *)(iVar4 + 4);" (assignment_expression "iVar12 = *(int *)(iVar4 + 4)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(iVar4 + 4)" (* "*") (cast_expression "(int *)(iVar4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar18 = *(int *)(iVar4 + 0x294);" (assignment_expression "iVar18 = *(int *)(iVar4 + 0x294)" (identifier "iVar18") (= "=") (pointer_expression "*(int *)(iVar4 + 0x294)" (* "*") (cast_expression "(int *)(iVar4 + 0x294)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x294)" (( "(") (binary_expression "iVar4 + 0x294" (identifier "iVar4") (+ "+") (number_literal "0x294")) () ")"))))) (; ";")) (expression_statement "local_3c = local_2c;" (assignment_expression "local_3c = local_2c" (identifier "local_3c") (= "=") (identifier "local_2c")) (; ";")) (expression_statement "local_4c = local_28;" (assignment_expression "local_4c = local_28" (identifier "local_4c") (= "=") (identifier "local_28")) (; ";")) (expression_statement "local_60 = local_24;" (assignment_expression "local_60 = local_24" (identifier "local_60") (= "=") (identifier "local_24")) (; ";")) (expression_statement "iVar10 = local_38 * 0x50;" (assignment_expression "iVar10 = local_38 * 0x50" (identifier "iVar10") (= "=") (binary_expression "local_38 * 0x50" (identifier "local_38") (* "*") (number_literal "0x50"))) (; ";")) (do_statement "do {\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        } while (local_50 != iVar8);" (do "do") (compound_statement "{\n          local_58 = 0;\n          local_74 = local_50;\n          iVar7 = local_50 * 0x140;\n          local_64 = local_3c;\n          pdVar17 = local_34;\n          local_6c = piVar3;\n          do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);\n          dVar1 = (double)local_50;\n          iVar7 = param_1[7];\n          iVar14 = param_1[9];\n          iVar11 = iVar7 + iVar10;\n          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);\n          dVar19 = (double)(local_50 * local_50);\n          iVar13 = iVar14 + iVar10;\n          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);\n          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);\n          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);\n          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);\n          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);\n          if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }\n          if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }\n          local_50 = local_50 + 1;\n          local_60 = local_60 + 0x28;\n          local_4c = local_4c + 0x28;\n          local_3c = local_3c + 0x28;\n        }" ({ "{") (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" (identifier "local_58") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_74 = local_50;" (assignment_expression "local_74 = local_50" (identifier "local_74") (= "=") (identifier "local_50")) (; ";")) (expression_statement "iVar7 = local_50 * 0x140;" (assignment_expression "iVar7 = local_50 * 0x140" (identifier "iVar7") (= "=") (binary_expression "local_50 * 0x140" (identifier "local_50") (* "*") (number_literal "0x140"))) (; ";")) (expression_statement "local_64 = local_3c;" (assignment_expression "local_64 = local_3c" (identifier "local_64") (= "=") (identifier "local_3c")) (; ";")) (expression_statement "pdVar17 = local_34;" (assignment_expression "pdVar17 = local_34" (identifier "pdVar17") (= "=") (identifier "local_34")) (; ";")) (expression_statement "local_6c = piVar3;" (assignment_expression "local_6c = piVar3" (identifier "local_6c") (= "=") (identifier "piVar3")) (; ";")) (do_statement "do {\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          } while (local_50 - iVar8 != local_74);" (do "do") (compound_statement "{\n            iVar11 = iVar7 + *local_6c;\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            *pdVar16 = dVar1 * dVar1 + *pdVar16;\n            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];\n            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];\n            if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }\n            if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_60 = dVar1 + *local_60;\n            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);\n            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = (double)local_58;\n            iVar15 = param_1[3];\n            iVar14 = iVar11 + iVar10;\n            iVar13 = iVar15 + iVar10;\n            *(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);\n            *(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);\n            *(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);\n            if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }\n            if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }\n            iVar14 = iVar11 + iVar10;\n            dVar1 = *(double *)(iVar14 + 0x20);\n            dVar19 = (double)(local_74 * local_74 + 1);\n            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];\n            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];\n            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];\n            if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }\n            if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }\n            iVar14 = iVar11 + iVar10;\n            *local_64 = dVar1 + *local_64;\n            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);\n            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);\n            if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }\n            if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }\n            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;\n            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);\n            dVar19 = ABS(dVar1);\n            if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }\n            iVar14 = *(int *)(iVar4 + 4);\n            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;\n            if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }\n            iVar15 = *(int *)(iVar4 + 0x294);\n            if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }\n            iVar14 = iVar11 + iVar10;\n            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);\n            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);\n            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);\n            if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }\n            if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }\n            if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }\n            local_74 = local_74 + -1;\n            pdVar17 = pdVar17 + 0x28;\n            local_6c = local_6c + 1;\n            local_64 = local_64 + 0x28;\n            local_58 = local_58 + local_50;\n          }" ({ "{") (expression_statement "iVar11 = iVar7 + *local_6c;" (assignment_expression "iVar11 = iVar7 + *local_6c" (identifier "iVar11") (= "=") (binary_expression "iVar7 + *local_6c" (identifier "iVar7") (+ "+") (pointer_expression "*local_6c" (* "*") (identifier "local_6c")))) (; ";")) (expression_statement "iVar14 = iVar11 + iVar10;" (assignment_expression "iVar14 = iVar11 + iVar10" (identifier "iVar14") (= "=") (binary_expression "iVar11 + iVar10" (identifier "iVar11") (+ "+") (identifier "iVar10"))) (; ";")) (expression_statement "dVar1 = *(double *)(iVar14 + 0x20);" (assignment_expression "dVar1 = *(double *)(iVar14 + 0x20)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar14 + 0x20)" (* "*") (cast_expression "(double *)(iVar14 + 0x20)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x20)" (( "(") (binary_expression "iVar14 + 0x20" (identifier "iVar14") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*pdVar16 = dVar1 * dVar1 + *pdVar16;" (assignment_expression "*pdVar16 = dVar1 * dVar1 + *pdVar16" (pointer_expression "*pdVar16" (* "*") (identifier "pdVar16")) (= "=") (binary_expression "dVar1 * dVar1 + *pdVar16" (binary_expression "dVar1 * dVar1" (identifier "dVar1") (* "*") (identifier "dVar1")) (+ "+") (pointer_expression "*pdVar16" (* "*") (identifier "pdVar16")))) (; ";")) (expression_statement "pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];" (assignment_expression "pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38]" (subscript_expression "pdVar16[0x38]" (identifier "pdVar16") ([ "[") (number_literal "0x38") (] "]")) (= "=") (binary_expression "*(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38]" (binary_expression "*(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28)" (pointer_expression "*(double *)(iVar14 + 0x28)" (* "*") (cast_expression "(double *)(iVar14 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x28)" (( "(") (binary_expression "iVar14 + 0x28" (identifier "iVar14") (+ "+") (number_literal "0x28")) () ")")))) (* "*") (pointer_expression "*(double *)(iVar14 + 0x28)" (* "*") (cast_expression "(double *)(iVar14 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x28)" (( "(") (binary_expression "iVar14 + 0x28" (identifier "iVar14") (+ "+") (number_literal "0x28")) () ")"))))) (+ "+") (subscript_expression "pdVar16[0x38]" (identifier "pdVar16") ([ "[") (number_literal "0x38") (] "]")))) (; ";")) (expression_statement "pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];" (assignment_expression "pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70]" (subscript_expression "pdVar16[0x70]" (identifier "pdVar16") ([ "[") (number_literal "0x70") (] "]")) (= "=") (binary_expression "*(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70]" (binary_expression "*(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30)" (pointer_expression "*(double *)(iVar14 + 0x30)" (* "*") (cast_expression "(double *)(iVar14 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x30)" (( "(") (binary_expression "iVar14 + 0x30" (identifier "iVar14") (+ "+") (number_literal "0x30")) () ")")))) (* "*") (pointer_expression "*(double *)(iVar14 + 0x30)" (* "*") (cast_expression "(double *)(iVar14 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x30)" (( "(") (binary_expression "iVar14 + 0x30" (identifier "iVar14") (+ "+") (number_literal "0x30")) () ")"))))) (+ "+") (subscript_expression "pdVar16[0x70]" (identifier "pdVar16") ([ "[") (number_literal "0x70") (] "]")))) (; ";")) (if_statement "if (iVar12 == 2) {\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }" (if "if") (parenthesized_expression "(iVar12 == 2)" (( "(") (binary_expression "iVar12 == 2" (identifier "iVar12") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n              pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];\n            }" ({ "{") (expression_statement "pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];" (assignment_expression "pdVar16[0xa8] =\n                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8]" (subscript_expression "pdVar16[0xa8]" (identifier "pdVar16") ([ "[") (number_literal "0xa8") (] "]")) (= "=") (binary_expression "*(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8]" (binary_expression "*(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38)" (pointer_expression "*(double *)(iVar14 + 0x38)" (* "*") (cast_expression "(double *)(iVar14 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x38)" (( "(") (binary_expression "iVar14 + 0x38" (identifier "iVar14") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (pointer_expression "*(double *)(iVar14 + 0x38)" (* "*") (cast_expression "(double *)(iVar14 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x38)" (( "(") (binary_expression "iVar14 + 0x38" (identifier "iVar14") (+ "+") (number_literal "0x38")) () ")"))))) (+ "+") (subscript_expression "pdVar16[0xa8]" (identifier "pdVar16") ([ "[") (number_literal "0xa8") (] "]")))) (; ";")) (} "}"))) (if_statement "if (iVar18 != 0) {\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }" (if "if") (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);\n              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];\n            }" ({ "{") (expression_statement "dVar19 = *(double *)(iVar11 + 0x40 + iVar10);" (assignment_expression "dVar19 = *(double *)(iVar11 + 0x40 + iVar10)" (identifier "dVar19") (= "=") (pointer_expression "*(double *)(iVar11 + 0x40 + iVar10)" (* "*") (cast_expression "(double *)(iVar11 + 0x40 + iVar10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x40 + iVar10)" (( "(") (binary_expression "iVar11 + 0x40 + iVar10" (binary_expression "iVar11 + 0x40" (identifier "iVar11") (+ "+") (number_literal "0x40")) (+ "+") (identifier "iVar10")) () ")"))))) (; ";")) (expression_statement "pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];" (assignment_expression "pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0]" (subscript_expression "pdVar16[0xe0]" (identifier "pdVar16") ([ "[") (number_literal "0xe0") (] "]")) (= "=") (binary_expression "dVar19 * dVar19 + pdVar16[0xe0]" (binary_expression "dVar19 * dVar19" (identifier "dVar19") (* "*") (identifier "dVar19")) (+ "+") (subscript_expression "pdVar16[0xe0]" (identifier "pdVar16") ([ "[") (number_literal "0xe0") (] "]")))) (; ";")) (} "}"))) (expression_statement "iVar14 = iVar11 + iVar10;" (assignment_expression "iVar14 = iVar11 + iVar10" (identifier "iVar14") (= "=") (binary_expression "iVar11 + iVar10" (identifier "iVar11") (+ "+") (identifier "iVar10"))) (; ";")) (expression_statement "*local_60 = dVar1 + *local_60;" (assignment_expression "*local_60 = dVar1 + *local_60" (pointer_expression "*local_60" (* "*") (identifier "local_60")) (= "=") (binary_expression "dVar1 + *local_60" (identifier "dVar1") (+ "+") (pointer_expression "*local_60" (* "*") (identifier "local_60")))) (; ";")) (expression_statement "local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);" (assignment_expression "local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "local_60[1]" (identifier "local_60") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "local_60[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "local_60[1]" (identifier "local_60") ([ "[") (number_literal "1") (] "]")) (+ "+") (pointer_expression "*(double *)(iVar14 + 0x28)" (* "*") (cast_expression "(double *)(iVar14 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x28)" (( "(") (binary_expression "iVar14 + 0x28" (identifier "iVar14") (+ "+") (number_literal "0x28")) () ")")))))) (; ";")) (expression_statement "local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);" (assignment_expression "local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "local_60[2]" (identifier "local_60") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "local_60[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "local_60[2]" (identifier "local_60") ([ "[") (number_literal "2") (] "]")) (+ "+") (pointer_expression "*(double *)(iVar14 + 0x30)" (* "*") (cast_expression "(double *)(iVar14 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x30)" (( "(") (binary_expression "iVar14 + 0x30" (identifier "iVar14") (+ "+") (number_literal "0x30")) () ")")))))) (; ";")) (if_statement "if (iVar12 == 2) {\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }" (if "if") (parenthesized_expression "(iVar12 == 2)" (( "(") (binary_expression "iVar12 == 2" (identifier "iVar12") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);\n            }" ({ "{") (expression_statement "local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);" (assignment_expression "local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38)" (subscript_expression "local_60[3]" (identifier "local_60") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "local_60[3] + *(double *)(iVar14 + 0x38)" (subscript_expression "local_60[3]" (identifier "local_60") ([ "[") (number_literal "3") (] "]")) (+ "+") (pointer_expression "*(double *)(iVar14 + 0x38)" (* "*") (cast_expression "(double *)(iVar14 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x38)" (( "(") (binary_expression "iVar14 + 0x38" (identifier "iVar14") (+ "+") (number_literal "0x38")) () ")")))))) (; ";")) (} "}"))) (if_statement "if (iVar18 != 0) {\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }" (if "if") (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }" ({ "{") (expression_statement "local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);" (assignment_expression "local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10)" (subscript_expression "local_60[4]" (identifier "local_60") ([ "[") (number_literal "4") (] "]")) (= "=") (binary_expression "local_60[4] + *(double *)(iVar11 + 0x40 + iVar10)" (subscript_expression "local_60[4]" (identifier "local_60") ([ "[") (number_literal "4") (] "]")) (+ "+") (pointer_expression "*(double *)(iVar11 + 0x40 + iVar10)" (* "*") (cast_expression "(double *)(iVar11 + 0x40 + iVar10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x40 + iVar10)" (( "(") (binary_expression "iVar11 + 0x40 + iVar10" (binary_expression "iVar11 + 0x40" (identifier "iVar11") (+ "+") (number_literal "0x40")) (+ "+") (identifier "iVar10")) () ")")))))) (; ";")) (} "}"))) (expression_statement "dVar1 = (double)local_58;" (assignment_expression "dVar1 = (double)local_58" (identifier "dVar1") (= "=") (cast_expression "(double)local_58" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_58"))) (; ";")) (expression_statement "iVar15 = param_1[3];" (assignment_expression "iVar15 = param_1[3]" (identifier "iVar15") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "iVar14 = iVar11 + iVar10;" (assignment_expression "iVar14 = iVar11 + iVar10" (identifier "iVar14") (= "=") (binary_expression "iVar11 + iVar10" (identifier "iVar11") (+ "+") (identifier "iVar10"))) (; ";")) (expression_statement "iVar13 = iVar15 + iVar10;" (assignment_expression "iVar13 = iVar15 + iVar10" (identifier "iVar13") (= "=") (binary_expression "iVar15 + iVar10" (identifier "iVar15") (+ "+") (identifier "iVar10"))) (; ";")) (expression_statement "*(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);" (assignment_expression "*(double *)(iVar13 + 0x20) =\n                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20)" (pointer_expression "*(double *)(iVar13 + 0x20)" (* "*") (cast_expression "(double *)(iVar13 + 0x20)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x20)" (( "(") (binary_expression "iVar13 + 0x20" (identifier "iVar13") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (binary_expression "*(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20)" (binary_expression "*(double *)(iVar14 + 0x20) * dVar1" (pointer_expression "*(double *)(iVar14 + 0x20)" (* "*") (cast_expression "(double *)(iVar14 + 0x20)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x20)" (( "(") (binary_expression "iVar14 + 0x20" (identifier "iVar14") (+ "+") (number_literal "0x20")) () ")")))) (* "*") (identifier "dVar1")) (+ "+") (pointer_expression "*(double *)(iVar13 + 0x20)" (* "*") (cast_expression "(double *)(iVar13 + 0x20)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x20)" (( "(") (binary_expression "iVar13 + 0x20" (identifier "iVar13") (+ "+") (number_literal "0x20")) () ")")))))) (; ";")) (expression_statement "*(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);" (assignment_expression "*(double *)(iVar13 + 0x28) =\n                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28)" (pointer_expression "*(double *)(iVar13 + 0x28)" (* "*") (cast_expression "(double *)(iVar13 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x28)" (( "(") (binary_expression "iVar13 + 0x28" (identifier "iVar13") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "*(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28)" (binary_expression "*(double *)(iVar14 + 0x28) * dVar1" (pointer_expression "*(double *)(iVar14 + 0x28)" (* "*") (cast_expression "(double *)(iVar14 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x28)" (( "(") (binary_expression "iVar14 + 0x28" (identifier "iVar14") (+ "+") (number_literal "0x28")) () ")")))) (* "*") (identifier "dVar1")) (+ "+") (pointer_expression "*(double *)(iVar13 + 0x28)" (* "*") (cast_expression "(double *)(iVar13 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x28)" (( "(") (binary_expression "iVar13 + 0x28" (identifier "iVar13") (+ "+") (number_literal "0x28")) () ")")))))) (; ";")) (expression_statement "*(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);" (assignment_expression "*(double *)(iVar13 + 0x30) =\n                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30)" (pointer_expression "*(double *)(iVar13 + 0x30)" (* "*") (cast_expression "(double *)(iVar13 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x30)" (( "(") (binary_expression "iVar13 + 0x30" (identifier "iVar13") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (binary_expression "*(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30)" (binary_expression "*(double *)(iVar14 + 0x30) * dVar1" (pointer_expression "*(double *)(iVar14 + 0x30)" (* "*") (cast_expression "(double *)(iVar14 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x30)" (( "(") (binary_expression "iVar14 + 0x30" (identifier "iVar14") (+ "+") (number_literal "0x30")) () ")")))) (* "*") (identifier "dVar1")) (+ "+") (pointer_expression "*(double *)(iVar13 + 0x30)" (* "*") (cast_expression "(double *)(iVar13 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x30)" (( "(") (binary_expression "iVar13 + 0x30" (identifier "iVar13") (+ "+") (number_literal "0x30")) () ")")))))) (; ";")) (if_statement "if (iVar12 == 2) {\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }" (if "if") (parenthesized_expression "(iVar12 == 2)" (( "(") (binary_expression "iVar12 == 2" (identifier "iVar12") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n              *(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);\n            }" ({ "{") (expression_statement "*(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);" (assignment_expression "*(double *)(iVar13 + 0x38) =\n                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38)" (pointer_expression "*(double *)(iVar13 + 0x38)" (* "*") (cast_expression "(double *)(iVar13 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x38)" (( "(") (binary_expression "iVar13 + 0x38" (identifier "iVar13") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (binary_expression "*(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38)" (binary_expression "*(double *)(iVar14 + 0x38) * dVar1" (pointer_expression "*(double *)(iVar14 + 0x38)" (* "*") (cast_expression "(double *)(iVar14 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x38)" (( "(") (binary_expression "iVar14 + 0x38" (identifier "iVar14") (+ "+") (number_literal "0x38")) () ")")))) (* "*") (identifier "dVar1")) (+ "+") (pointer_expression "*(double *)(iVar13 + 0x38)" (* "*") (cast_expression "(double *)(iVar13 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x38)" (( "(") (binary_expression "iVar13 + 0x38" (identifier "iVar13") (+ "+") (number_literal "0x38")) () ")")))))) (; ";")) (} "}"))) (if_statement "if (iVar18 != 0) {\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }" (if "if") (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              iVar15 = iVar15 + iVar10;\n              *(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);\n            }" ({ "{") (expression_statement "iVar15 = iVar15 + iVar10;" (assignment_expression "iVar15 = iVar15 + iVar10" (identifier "iVar15") (= "=") (binary_expression "iVar15 + iVar10" (identifier "iVar15") (+ "+") (identifier "iVar10"))) (; ";")) (expression_statement "*(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);" (assignment_expression "*(double *)(iVar15 + 0x40) =\n                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40)" (pointer_expression "*(double *)(iVar15 + 0x40)" (* "*") (cast_expression "(double *)(iVar15 + 0x40)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x40)" (( "(") (binary_expression "iVar15 + 0x40" (identifier "iVar15") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (binary_expression "dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40)" (binary_expression "dVar1 * *(double *)(iVar11 + 0x40 + iVar10)" (identifier "dVar1") (* "*") (pointer_expression "*(double *)(iVar11 + 0x40 + iVar10)" (* "*") (cast_expression "(double *)(iVar11 + 0x40 + iVar10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x40 + iVar10)" (( "(") (binary_expression "iVar11 + 0x40 + iVar10" (binary_expression "iVar11 + 0x40" (identifier "iVar11") (+ "+") (number_literal "0x40")) (+ "+") (identifier "iVar10")) () ")"))))) (+ "+") (pointer_expression "*(double *)(iVar15 + 0x40)" (* "*") (cast_expression "(double *)(iVar15 + 0x40)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x40)" (( "(") (binary_expression "iVar15 + 0x40" (identifier "iVar15") (+ "+") (number_literal "0x40")) () ")")))))) (; ";")) (} "}"))) (expression_statement "iVar14 = iVar11 + iVar10;" (assignment_expression "iVar14 = iVar11 + iVar10" (identifier "iVar14") (= "=") (binary_expression "iVar11 + iVar10" (identifier "iVar11") (+ "+") (identifier "iVar10"))) (; ";")) (expression_statement "dVar1 = *(double *)(iVar14 + 0x20);" (assignment_expression "dVar1 = *(double *)(iVar14 + 0x20)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar14 + 0x20)" (* "*") (cast_expression "(double *)(iVar14 + 0x20)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x20)" (( "(") (binary_expression "iVar14 + 0x20" (identifier "iVar14") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "dVar19 = (double)(local_74 * local_74 + 1);" (assignment_expression "dVar19 = (double)(local_74 * local_74 + 1)" (identifier "dVar19") (= "=") (cast_expression "(double)(local_74 * local_74 + 1)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "(local_74 * local_74 + 1)" (( "(") (binary_expression "local_74 * local_74 + 1" (binary_expression "local_74 * local_74" (identifier "local_74") (* "*") (identifier "local_74")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];" (assignment_expression "pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10]" (subscript_expression "pdVar16[0x10]" (identifier "pdVar16") ([ "[") (number_literal "0x10") (] "]")) (= "=") (binary_expression "dVar1 / dVar19 + pdVar16[0x10]" (binary_expression "dVar1 / dVar19" (identifier "dVar1") (/ "/") (identifier "dVar19")) (+ "+") (subscript_expression "pdVar16[0x10]" (identifier "pdVar16") ([ "[") (number_literal "0x10") (] "]")))) (; ";")) (expression_statement "pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];" (assignment_expression "pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48]" (subscript_expression "pdVar16[0x48]" (identifier "pdVar16") ([ "[") (number_literal "0x48") (] "]")) (= "=") (binary_expression "*(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48]" (binary_expression "*(double *)(iVar14 + 0x28) / dVar19" (pointer_expression "*(double *)(iVar14 + 0x28)" (* "*") (cast_expression "(double *)(iVar14 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x28)" (( "(") (binary_expression "iVar14 + 0x28" (identifier "iVar14") (+ "+") (number_literal "0x28")) () ")")))) (/ "/") (identifier "dVar19")) (+ "+") (subscript_expression "pdVar16[0x48]" (identifier "pdVar16") ([ "[") (number_literal "0x48") (] "]")))) (; ";")) (expression_statement "pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];" (assignment_expression "pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80]" (subscript_expression "pdVar16[0x80]" (identifier "pdVar16") ([ "[") (number_literal "0x80") (] "]")) (= "=") (binary_expression "*(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80]" (binary_expression "*(double *)(iVar14 + 0x30) / dVar19" (pointer_expression "*(double *)(iVar14 + 0x30)" (* "*") (cast_expression "(double *)(iVar14 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x30)" (( "(") (binary_expression "iVar14 + 0x30" (identifier "iVar14") (+ "+") (number_literal "0x30")) () ")")))) (/ "/") (identifier "dVar19")) (+ "+") (subscript_expression "pdVar16[0x80]" (identifier "pdVar16") ([ "[") (number_literal "0x80") (] "]")))) (; ";")) (if_statement "if (iVar12 == 2) {\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }" (if "if") (parenthesized_expression "(iVar12 == 2)" (( "(") (binary_expression "iVar12 == 2" (identifier "iVar12") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];\n            }" ({ "{") (expression_statement "pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];" (assignment_expression "pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8]" (subscript_expression "pdVar16[0xb8]" (identifier "pdVar16") ([ "[") (number_literal "0xb8") (] "]")) (= "=") (binary_expression "*(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8]" (binary_expression "*(double *)(iVar14 + 0x38) / dVar19" (pointer_expression "*(double *)(iVar14 + 0x38)" (* "*") (cast_expression "(double *)(iVar14 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x38)" (( "(") (binary_expression "iVar14 + 0x38" (identifier "iVar14") (+ "+") (number_literal "0x38")) () ")")))) (/ "/") (identifier "dVar19")) (+ "+") (subscript_expression "pdVar16[0xb8]" (identifier "pdVar16") ([ "[") (number_literal "0xb8") (] "]")))) (; ";")) (} "}"))) (if_statement "if (iVar18 != 0) {\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }" (if "if") (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];\n            }" ({ "{") (expression_statement "pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];" (assignment_expression "pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0]" (subscript_expression "pdVar16[0xf0]" (identifier "pdVar16") ([ "[") (number_literal "0xf0") (] "]")) (= "=") (binary_expression "*(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0]" (binary_expression "*(double *)(iVar11 + 0x40 + iVar10) / dVar19" (pointer_expression "*(double *)(iVar11 + 0x40 + iVar10)" (* "*") (cast_expression "(double *)(iVar11 + 0x40 + iVar10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x40 + iVar10)" (( "(") (binary_expression "iVar11 + 0x40 + iVar10" (binary_expression "iVar11 + 0x40" (identifier "iVar11") (+ "+") (number_literal "0x40")) (+ "+") (identifier "iVar10")) () ")")))) (/ "/") (identifier "dVar19")) (+ "+") (subscript_expression "pdVar16[0xf0]" (identifier "pdVar16") ([ "[") (number_literal "0xf0") (] "]")))) (; ";")) (} "}"))) (expression_statement "iVar14 = iVar11 + iVar10;" (assignment_expression "iVar14 = iVar11 + iVar10" (identifier "iVar14") (= "=") (binary_expression "iVar11 + iVar10" (identifier "iVar11") (+ "+") (identifier "iVar10"))) (; ";")) (expression_statement "*local_64 = dVar1 + *local_64;" (assignment_expression "*local_64 = dVar1 + *local_64" (pointer_expression "*local_64" (* "*") (identifier "local_64")) (= "=") (binary_expression "dVar1 + *local_64" (identifier "dVar1") (+ "+") (pointer_expression "*local_64" (* "*") (identifier "local_64")))) (; ";")) (expression_statement "local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);" (assignment_expression "local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "local_64[1]" (identifier "local_64") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "local_64[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "local_64[1]" (identifier "local_64") ([ "[") (number_literal "1") (] "]")) (+ "+") (pointer_expression "*(double *)(iVar14 + 0x28)" (* "*") (cast_expression "(double *)(iVar14 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x28)" (( "(") (binary_expression "iVar14 + 0x28" (identifier "iVar14") (+ "+") (number_literal "0x28")) () ")")))))) (; ";")) (expression_statement "local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);" (assignment_expression "local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "local_64[2]" (identifier "local_64") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "local_64[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "local_64[2]" (identifier "local_64") ([ "[") (number_literal "2") (] "]")) (+ "+") (pointer_expression "*(double *)(iVar14 + 0x30)" (* "*") (cast_expression "(double *)(iVar14 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x30)" (( "(") (binary_expression "iVar14 + 0x30" (identifier "iVar14") (+ "+") (number_literal "0x30")) () ")")))))) (; ";")) (if_statement "if (iVar12 == 2) {\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }" (if "if") (parenthesized_expression "(iVar12 == 2)" (( "(") (binary_expression "iVar12 == 2" (identifier "iVar12") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);\n            }" ({ "{") (expression_statement "local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);" (assignment_expression "local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38)" (subscript_expression "local_64[3]" (identifier "local_64") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "local_64[3] + *(double *)(iVar14 + 0x38)" (subscript_expression "local_64[3]" (identifier "local_64") ([ "[") (number_literal "3") (] "]")) (+ "+") (pointer_expression "*(double *)(iVar14 + 0x38)" (* "*") (cast_expression "(double *)(iVar14 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x38)" (( "(") (binary_expression "iVar14 + 0x38" (identifier "iVar14") (+ "+") (number_literal "0x38")) () ")")))))) (; ";")) (} "}"))) (if_statement "if (iVar18 != 0) {\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }" (if "if") (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);\n            }" ({ "{") (expression_statement "local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);" (assignment_expression "local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10)" (subscript_expression "local_64[4]" (identifier "local_64") ([ "[") (number_literal "4") (] "]")) (= "=") (binary_expression "local_64[4] + *(double *)(iVar11 + 0x40 + iVar10)" (subscript_expression "local_64[4]" (identifier "local_64") ([ "[") (number_literal "4") (] "]")) (+ "+") (pointer_expression "*(double *)(iVar11 + 0x40 + iVar10)" (* "*") (cast_expression "(double *)(iVar11 + 0x40 + iVar10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x40 + iVar10)" (( "(") (binary_expression "iVar11 + 0x40 + iVar10" (binary_expression "iVar11 + 0x40" (identifier "iVar11") (+ "+") (number_literal "0x40")) (+ "+") (identifier "iVar10")) () ")")))))) (; ";")) (} "}"))) (expression_statement "dVar1 = *(double *)(iVar11 + 0x20 + iVar10);" (assignment_expression "dVar1 = *(double *)(iVar11 + 0x20 + iVar10)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar11 + 0x20 + iVar10)" (* "*") (cast_expression "(double *)(iVar11 + 0x20 + iVar10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x20 + iVar10)" (( "(") (binary_expression "iVar11 + 0x20 + iVar10" (binary_expression "iVar11 + 0x20" (identifier "iVar11") (+ "+") (number_literal "0x20")) (+ "+") (identifier "iVar10")) () ")"))))) (; ";")) (expression_statement "dVar19 = ABS(dVar1);" (assignment_expression "dVar19 = ABS(dVar1)" (identifier "dVar19") (= "=") (call_expression "ABS(dVar1)" (identifier "ABS") (argument_list "(dVar1)" (( "(") (identifier "dVar1") () ")")))) (; ";")) (if_statement "if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }" (if "if") (parenthesized_expression "(DAT_002ea690 <= dVar19)" (( "(") (binary_expression "DAT_002ea690 <= dVar19" (identifier "DAT_002ea690") (<= "<=") (identifier "dVar19")) () ")")) (compound_statement "{\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }" ({ "{") (expression_statement "dVar19 = log10(dVar19);" (assignment_expression "dVar19 = log10(dVar19)" (identifier "dVar19") (= "=") (call_expression "log10(dVar19)" (identifier "log10") (argument_list "(dVar19)" (( "(") (identifier "dVar19") () ")")))) (; ";")) (expression_statement "iVar11 = iVar7 + *local_6c;" (assignment_expression "iVar11 = iVar7 + *local_6c" (identifier "iVar11") (= "=") (binary_expression "iVar7 + *local_6c" (identifier "iVar7") (+ "+") (pointer_expression "*local_6c" (* "*") (identifier "local_6c")))) (; ";")) (} "}")) (else_clause "else {\n              dVar19 = (double)DAT_002f4200;\n            }" (else "else") (compound_statement "{\n              dVar19 = (double)DAT_002f4200;\n            }" ({ "{") (expression_statement "dVar19 = (double)DAT_002f4200;" (assignment_expression "dVar19 = (double)DAT_002f4200" (identifier "dVar19") (= "=") (cast_expression "(double)DAT_002f4200" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002f4200"))) (; ";")) (} "}")))) (expression_statement "pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;" (assignment_expression "pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1" (subscript_expression "pdVar16[0x20]" (identifier "pdVar16") ([ "[") (number_literal "0x20") (] "]")) (= "=") (binary_expression "pdVar16[0x20] - dVar19 * dVar1" (subscript_expression "pdVar16[0x20]" (identifier "pdVar16") ([ "[") (number_literal "0x20") (] "]")) (- "-") (binary_expression "dVar19 * dVar1" (identifier "dVar19") (* "*") (identifier "dVar1")))) (; ";")) (expression_statement "dVar1 = *(double *)(iVar11 + 0x28 + iVar10);" (assignment_expression "dVar1 = *(double *)(iVar11 + 0x28 + iVar10)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar11 + 0x28 + iVar10)" (* "*") (cast_expression "(double *)(iVar11 + 0x28 + iVar10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x28 + iVar10)" (( "(") (binary_expression "iVar11 + 0x28 + iVar10" (binary_expression "iVar11 + 0x28" (identifier "iVar11") (+ "+") (number_literal "0x28")) (+ "+") (identifier "iVar10")) () ")"))))) (; ";")) (expression_statement "dVar19 = ABS(dVar1);" (assignment_expression "dVar19 = ABS(dVar1)" (identifier "dVar19") (= "=") (call_expression "ABS(dVar1)" (identifier "ABS") (argument_list "(dVar1)" (( "(") (identifier "dVar1") () ")")))) (; ";")) (if_statement "if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }" (if "if") (parenthesized_expression "(DAT_002ea690 <= dVar19)" (( "(") (binary_expression "DAT_002ea690 <= dVar19" (identifier "DAT_002ea690") (<= "<=") (identifier "dVar19")) () ")")) (compound_statement "{\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }" ({ "{") (expression_statement "dVar19 = log10(dVar19);" (assignment_expression "dVar19 = log10(dVar19)" (identifier "dVar19") (= "=") (call_expression "log10(dVar19)" (identifier "log10") (argument_list "(dVar19)" (( "(") (identifier "dVar19") () ")")))) (; ";")) (expression_statement "iVar11 = iVar7 + *local_6c;" (assignment_expression "iVar11 = iVar7 + *local_6c" (identifier "iVar11") (= "=") (binary_expression "iVar7 + *local_6c" (identifier "iVar7") (+ "+") (pointer_expression "*local_6c" (* "*") (identifier "local_6c")))) (; ";")) (} "}")) (else_clause "else {\n              dVar19 = (double)DAT_002f4200;\n            }" (else "else") (compound_statement "{\n              dVar19 = (double)DAT_002f4200;\n            }" ({ "{") (expression_statement "dVar19 = (double)DAT_002f4200;" (assignment_expression "dVar19 = (double)DAT_002f4200" (identifier "dVar19") (= "=") (cast_expression "(double)DAT_002f4200" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002f4200"))) (; ";")) (} "}")))) (expression_statement "pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;" (assignment_expression "pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1" (subscript_expression "pdVar16[0x58]" (identifier "pdVar16") ([ "[") (number_literal "0x58") (] "]")) (= "=") (binary_expression "pdVar16[0x58] - dVar19 * dVar1" (subscript_expression "pdVar16[0x58]" (identifier "pdVar16") ([ "[") (number_literal "0x58") (] "]")) (- "-") (binary_expression "dVar19 * dVar1" (identifier "dVar19") (* "*") (identifier "dVar1")))) (; ";")) (expression_statement "dVar1 = *(double *)(iVar11 + 0x30 + iVar10);" (assignment_expression "dVar1 = *(double *)(iVar11 + 0x30 + iVar10)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar11 + 0x30 + iVar10)" (* "*") (cast_expression "(double *)(iVar11 + 0x30 + iVar10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x30 + iVar10)" (( "(") (binary_expression "iVar11 + 0x30 + iVar10" (binary_expression "iVar11 + 0x30" (identifier "iVar11") (+ "+") (number_literal "0x30")) (+ "+") (identifier "iVar10")) () ")"))))) (; ";")) (expression_statement "dVar19 = ABS(dVar1);" (assignment_expression "dVar19 = ABS(dVar1)" (identifier "dVar19") (= "=") (call_expression "ABS(dVar1)" (identifier "ABS") (argument_list "(dVar1)" (( "(") (identifier "dVar1") () ")")))) (; ";")) (if_statement "if (DAT_002ea690 <= dVar19) {\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }\n            else {\n              dVar19 = (double)DAT_002f4200;\n            }" (if "if") (parenthesized_expression "(DAT_002ea690 <= dVar19)" (( "(") (binary_expression "DAT_002ea690 <= dVar19" (identifier "DAT_002ea690") (<= "<=") (identifier "dVar19")) () ")")) (compound_statement "{\n              dVar19 = log10(dVar19);\n              iVar11 = iVar7 + *local_6c;\n            }" ({ "{") (expression_statement "dVar19 = log10(dVar19);" (assignment_expression "dVar19 = log10(dVar19)" (identifier "dVar19") (= "=") (call_expression "log10(dVar19)" (identifier "log10") (argument_list "(dVar19)" (( "(") (identifier "dVar19") () ")")))) (; ";")) (expression_statement "iVar11 = iVar7 + *local_6c;" (assignment_expression "iVar11 = iVar7 + *local_6c" (identifier "iVar11") (= "=") (binary_expression "iVar7 + *local_6c" (identifier "iVar7") (+ "+") (pointer_expression "*local_6c" (* "*") (identifier "local_6c")))) (; ";")) (} "}")) (else_clause "else {\n              dVar19 = (double)DAT_002f4200;\n            }" (else "else") (compound_statement "{\n              dVar19 = (double)DAT_002f4200;\n            }" ({ "{") (expression_statement "dVar19 = (double)DAT_002f4200;" (assignment_expression "dVar19 = (double)DAT_002f4200" (identifier "dVar19") (= "=") (cast_expression "(double)DAT_002f4200" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002f4200"))) (; ";")) (} "}")))) (expression_statement "iVar14 = *(int *)(iVar4 + 4);" (assignment_expression "iVar14 = *(int *)(iVar4 + 4)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(iVar4 + 4)" (* "*") (cast_expression "(int *)(iVar4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;" (assignment_expression "pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1" (subscript_expression "pdVar16[0x90]" (identifier "pdVar16") ([ "[") (number_literal "0x90") (] "]")) (= "=") (binary_expression "pdVar16[0x90] - dVar19 * dVar1" (subscript_expression "pdVar16[0x90]" (identifier "pdVar16") ([ "[") (number_literal "0x90") (] "]")) (- "-") (binary_expression "dVar19 * dVar1" (identifier "dVar19") (* "*") (identifier "dVar1")))) (; ";")) (if_statement "if (iVar14 == 2) {\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }" (if "if") (parenthesized_expression "(iVar14 == 2)" (( "(") (binary_expression "iVar14 == 2" (identifier "iVar14") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;\n            }" ({ "{") (expression_statement "dVar1 = *(double *)(iVar11 + 0x38 + iVar10);" (assignment_expression "dVar1 = *(double *)(iVar11 + 0x38 + iVar10)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar11 + 0x38 + iVar10)" (* "*") (cast_expression "(double *)(iVar11 + 0x38 + iVar10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x38 + iVar10)" (( "(") (binary_expression "iVar11 + 0x38 + iVar10" (binary_expression "iVar11 + 0x38" (identifier "iVar11") (+ "+") (number_literal "0x38")) (+ "+") (identifier "iVar10")) () ")"))))) (; ";")) (expression_statement "dVar19 = ABS(dVar1);" (assignment_expression "dVar19 = ABS(dVar1)" (identifier "dVar19") (= "=") (call_expression "ABS(dVar1)" (identifier "ABS") (argument_list "(dVar1)" (( "(") (identifier "dVar1") () ")")))) (; ";")) (if_statement "if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }" (if "if") (parenthesized_expression "(DAT_002ea690 <= dVar19)" (( "(") (binary_expression "DAT_002ea690 <= dVar19" (identifier "DAT_002ea690") (<= "<=") (identifier "dVar19")) () ")")) (compound_statement "{\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n              }" ({ "{") (expression_statement "dVar19 = log10(dVar19);" (assignment_expression "dVar19 = log10(dVar19)" (identifier "dVar19") (= "=") (call_expression "log10(dVar19)" (identifier "log10") (argument_list "(dVar19)" (( "(") (identifier "dVar19") () ")")))) (; ";")) (expression_statement "iVar11 = iVar7 + *local_6c;" (assignment_expression "iVar11 = iVar7 + *local_6c" (identifier "iVar11") (= "=") (binary_expression "iVar7 + *local_6c" (identifier "iVar7") (+ "+") (pointer_expression "*local_6c" (* "*") (identifier "local_6c")))) (; ";")) (} "}")) (else_clause "else {\n                dVar19 = (double)DAT_002f4200;\n              }" (else "else") (compound_statement "{\n                dVar19 = (double)DAT_002f4200;\n              }" ({ "{") (expression_statement "dVar19 = (double)DAT_002f4200;" (assignment_expression "dVar19 = (double)DAT_002f4200" (identifier "dVar19") (= "=") (cast_expression "(double)DAT_002f4200" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002f4200"))) (; ";")) (} "}")))) (expression_statement "pdVar16[200] = pdVar16[200] - dVar19 * dVar1;" (assignment_expression "pdVar16[200] = pdVar16[200] - dVar19 * dVar1" (subscript_expression "pdVar16[200]" (identifier "pdVar16") ([ "[") (number_literal "200") (] "]")) (= "=") (binary_expression "pdVar16[200] - dVar19 * dVar1" (subscript_expression "pdVar16[200]" (identifier "pdVar16") ([ "[") (number_literal "200") (] "]")) (- "-") (binary_expression "dVar19 * dVar1" (identifier "dVar19") (* "*") (identifier "dVar1")))) (; ";")) (} "}"))) (expression_statement "iVar15 = *(int *)(iVar4 + 0x294);" (assignment_expression "iVar15 = *(int *)(iVar4 + 0x294)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(iVar4 + 0x294)" (* "*") (cast_expression "(int *)(iVar4 + 0x294)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x294)" (( "(") (binary_expression "iVar4 + 0x294" (identifier "iVar4") (+ "+") (number_literal "0x294")) () ")"))))) (; ";")) (if_statement "if (iVar15 != 0) {\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }" (if "if") (parenthesized_expression "(iVar15 != 0)" (( "(") (binary_expression "iVar15 != 0" (identifier "iVar15") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);\n              dVar19 = ABS(dVar1);\n              if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }\n              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;\n            }" ({ "{") (expression_statement "dVar1 = *(double *)(iVar11 + 0x40 + iVar10);" (assignment_expression "dVar1 = *(double *)(iVar11 + 0x40 + iVar10)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar11 + 0x40 + iVar10)" (* "*") (cast_expression "(double *)(iVar11 + 0x40 + iVar10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x40 + iVar10)" (( "(") (binary_expression "iVar11 + 0x40 + iVar10" (binary_expression "iVar11 + 0x40" (identifier "iVar11") (+ "+") (number_literal "0x40")) (+ "+") (identifier "iVar10")) () ")"))))) (; ";")) (expression_statement "dVar19 = ABS(dVar1);" (assignment_expression "dVar19 = ABS(dVar1)" (identifier "dVar19") (= "=") (call_expression "ABS(dVar1)" (identifier "ABS") (argument_list "(dVar1)" (( "(") (identifier "dVar1") () ")")))) (; ";")) (if_statement "if (DAT_002ea690 <= dVar19) {\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }\n              else {\n                dVar19 = (double)DAT_002f4200;\n              }" (if "if") (parenthesized_expression "(DAT_002ea690 <= dVar19)" (( "(") (binary_expression "DAT_002ea690 <= dVar19" (identifier "DAT_002ea690") (<= "<=") (identifier "dVar19")) () ")")) (compound_statement "{\n                dVar19 = log10(dVar19);\n                iVar11 = iVar7 + *local_6c;\n                iVar15 = *(int *)(iVar4 + 0x294);\n              }" ({ "{") (expression_statement "dVar19 = log10(dVar19);" (assignment_expression "dVar19 = log10(dVar19)" (identifier "dVar19") (= "=") (call_expression "log10(dVar19)" (identifier "log10") (argument_list "(dVar19)" (( "(") (identifier "dVar19") () ")")))) (; ";")) (expression_statement "iVar11 = iVar7 + *local_6c;" (assignment_expression "iVar11 = iVar7 + *local_6c" (identifier "iVar11") (= "=") (binary_expression "iVar7 + *local_6c" (identifier "iVar7") (+ "+") (pointer_expression "*local_6c" (* "*") (identifier "local_6c")))) (; ";")) (expression_statement "iVar15 = *(int *)(iVar4 + 0x294);" (assignment_expression "iVar15 = *(int *)(iVar4 + 0x294)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(iVar4 + 0x294)" (* "*") (cast_expression "(int *)(iVar4 + 0x294)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x294)" (( "(") (binary_expression "iVar4 + 0x294" (identifier "iVar4") (+ "+") (number_literal "0x294")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n                dVar19 = (double)DAT_002f4200;\n              }" (else "else") (compound_statement "{\n                dVar19 = (double)DAT_002f4200;\n              }" ({ "{") (expression_statement "dVar19 = (double)DAT_002f4200;" (assignment_expression "dVar19 = (double)DAT_002f4200" (identifier "dVar19") (= "=") (cast_expression "(double)DAT_002f4200" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_002f4200"))) (; ";")) (} "}")))) (expression_statement "pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;" (assignment_expression "pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1" (subscript_expression "pdVar16[0x100]" (identifier "pdVar16") ([ "[") (number_literal "0x100") (] "]")) (= "=") (binary_expression "pdVar16[0x100] - dVar19 * dVar1" (subscript_expression "pdVar16[0x100]" (identifier "pdVar16") ([ "[") (number_literal "0x100") (] "]")) (- "-") (binary_expression "dVar19 * dVar1" (identifier "dVar19") (* "*") (identifier "dVar1")))) (; ";")) (} "}"))) (expression_statement "iVar14 = iVar11 + iVar10;" (assignment_expression "iVar14 = iVar11 + iVar10" (identifier "iVar14") (= "=") (binary_expression "iVar11 + iVar10" (identifier "iVar11") (+ "+") (identifier "iVar10"))) (; ";")) (expression_statement "*pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);" (assignment_expression "*pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20)" (pointer_expression "*pdVar17" (* "*") (identifier "pdVar17")) (= "=") (binary_expression "*pdVar17 + *(double *)(iVar14 + 0x20)" (pointer_expression "*pdVar17" (* "*") (identifier "pdVar17")) (+ "+") (pointer_expression "*(double *)(iVar14 + 0x20)" (* "*") (cast_expression "(double *)(iVar14 + 0x20)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x20)" (( "(") (binary_expression "iVar14 + 0x20" (identifier "iVar14") (+ "+") (number_literal "0x20")) () ")")))))) (; ";")) (expression_statement "pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);" (assignment_expression "pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "pdVar17[1]" (identifier "pdVar17") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "pdVar17[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "pdVar17[1]" (identifier "pdVar17") ([ "[") (number_literal "1") (] "]")) (+ "+") (pointer_expression "*(double *)(iVar14 + 0x28)" (* "*") (cast_expression "(double *)(iVar14 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x28)" (( "(") (binary_expression "iVar14 + 0x28" (identifier "iVar14") (+ "+") (number_literal "0x28")) () ")")))))) (; ";")) (expression_statement "pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);" (assignment_expression "pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "pdVar17[2]" (identifier "pdVar17") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "pdVar17[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "pdVar17[2]" (identifier "pdVar17") ([ "[") (number_literal "2") (] "]")) (+ "+") (pointer_expression "*(double *)(iVar14 + 0x30)" (* "*") (cast_expression "(double *)(iVar14 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x30)" (( "(") (binary_expression "iVar14 + 0x30" (identifier "iVar14") (+ "+") (number_literal "0x30")) () ")")))))) (; ";")) (if_statement "if (iVar15 != 0) {\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }" (if "if") (parenthesized_expression "(iVar15 != 0)" (( "(") (binary_expression "iVar15 != 0" (identifier "iVar15") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);\n            }" ({ "{") (expression_statement "pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);" (assignment_expression "pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40)" (subscript_expression "pdVar17[4]" (identifier "pdVar17") ([ "[") (number_literal "4") (] "]")) (= "=") (binary_expression "pdVar17[4] + *(double *)(iVar14 + 0x40)" (subscript_expression "pdVar17[4]" (identifier "pdVar17") ([ "[") (number_literal "4") (] "]")) (+ "+") (pointer_expression "*(double *)(iVar14 + 0x40)" (* "*") (cast_expression "(double *)(iVar14 + 0x40)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x40)" (( "(") (binary_expression "iVar14 + 0x40" (identifier "iVar14") (+ "+") (number_literal "0x40")) () ")")))))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar4 + 4) == 2) {\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }\n            else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 4) == 2)" (( "(") (binary_expression "*(int *)(iVar4 + 4) == 2" (pointer_expression "*(int *)(iVar4 + 4)" (* "*") (cast_expression "(int *)(iVar4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n              iVar14 = iVar11 + iVar10;\n              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);\n            }" ({ "{") (expression_statement "iVar14 = iVar11 + iVar10;" (assignment_expression "iVar14 = iVar11 + iVar10" (identifier "iVar14") (= "=") (binary_expression "iVar11 + iVar10" (identifier "iVar11") (+ "+") (identifier "iVar10"))) (; ";")) (expression_statement "pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);" (assignment_expression "pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38)" (subscript_expression "pdVar17[3]" (identifier "pdVar17") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "pdVar17[3] + *(double *)(iVar14 + 0x38)" (subscript_expression "pdVar17[3]" (identifier "pdVar17") ([ "[") (number_literal "3") (] "]")) (+ "+") (pointer_expression "*(double *)(iVar14 + 0x38)" (* "*") (cast_expression "(double *)(iVar14 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x38)" (( "(") (binary_expression "iVar14 + 0x38" (identifier "iVar14") (+ "+") (number_literal "0x38")) () ")")))))) (; ";")) (expression_statement "*local_4c = *local_4c + *(double *)(iVar14 + 0x20);" (assignment_expression "*local_4c = *local_4c + *(double *)(iVar14 + 0x20)" (pointer_expression "*local_4c" (* "*") (identifier "local_4c")) (= "=") (binary_expression "*local_4c + *(double *)(iVar14 + 0x20)" (pointer_expression "*local_4c" (* "*") (identifier "local_4c")) (+ "+") (pointer_expression "*(double *)(iVar14 + 0x20)" (* "*") (cast_expression "(double *)(iVar14 + 0x20)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x20)" (( "(") (binary_expression "iVar14 + 0x20" (identifier "iVar14") (+ "+") (number_literal "0x20")) () ")")))))) (; ";")) (expression_statement "local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);" (assignment_expression "local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "local_4c[1]" (identifier "local_4c") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "local_4c[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "local_4c[1]" (identifier "local_4c") ([ "[") (number_literal "1") (] "]")) (+ "+") (pointer_expression "*(double *)(iVar14 + 0x28)" (* "*") (cast_expression "(double *)(iVar14 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x28)" (( "(") (binary_expression "iVar14 + 0x28" (identifier "iVar14") (+ "+") (number_literal "0x28")) () ")")))))) (; ";")) (expression_statement "local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);" (assignment_expression "local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "local_4c[2]" (identifier "local_4c") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "local_4c[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "local_4c[2]" (identifier "local_4c") ([ "[") (number_literal "2") (] "]")) (+ "+") (pointer_expression "*(double *)(iVar14 + 0x30)" (* "*") (cast_expression "(double *)(iVar14 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x30)" (( "(") (binary_expression "iVar14 + 0x30" (identifier "iVar14") (+ "+") (number_literal "0x30")) () ")")))))) (; ";")) (expression_statement "local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);" (assignment_expression "local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38)" (subscript_expression "local_4c[3]" (identifier "local_4c") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "local_4c[3] + *(double *)(iVar14 + 0x38)" (subscript_expression "local_4c[3]" (identifier "local_4c") ([ "[") (number_literal "3") (] "]")) (+ "+") (pointer_expression "*(double *)(iVar14 + 0x38)" (* "*") (cast_expression "(double *)(iVar14 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x38)" (( "(") (binary_expression "iVar14 + 0x38" (identifier "iVar14") (+ "+") (number_literal "0x38")) () ")")))))) (; ";")) (} "}")) (else_clause "else {\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }" (else "else") (compound_statement "{\n              iVar14 = iVar11 + iVar10;\n              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);\n              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);\n              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);\n            }" ({ "{") (expression_statement "iVar14 = iVar11 + iVar10;" (assignment_expression "iVar14 = iVar11 + iVar10" (identifier "iVar14") (= "=") (binary_expression "iVar11 + iVar10" (identifier "iVar11") (+ "+") (identifier "iVar10"))) (; ";")) (expression_statement "*local_4c = *local_4c + *(double *)(iVar14 + 0x20);" (assignment_expression "*local_4c = *local_4c + *(double *)(iVar14 + 0x20)" (pointer_expression "*local_4c" (* "*") (identifier "local_4c")) (= "=") (binary_expression "*local_4c + *(double *)(iVar14 + 0x20)" (pointer_expression "*local_4c" (* "*") (identifier "local_4c")) (+ "+") (pointer_expression "*(double *)(iVar14 + 0x20)" (* "*") (cast_expression "(double *)(iVar14 + 0x20)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x20)" (( "(") (binary_expression "iVar14 + 0x20" (identifier "iVar14") (+ "+") (number_literal "0x20")) () ")")))))) (; ";")) (expression_statement "local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);" (assignment_expression "local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "local_4c[1]" (identifier "local_4c") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "local_4c[1] + *(double *)(iVar14 + 0x28)" (subscript_expression "local_4c[1]" (identifier "local_4c") ([ "[") (number_literal "1") (] "]")) (+ "+") (pointer_expression "*(double *)(iVar14 + 0x28)" (* "*") (cast_expression "(double *)(iVar14 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x28)" (( "(") (binary_expression "iVar14 + 0x28" (identifier "iVar14") (+ "+") (number_literal "0x28")) () ")")))))) (; ";")) (expression_statement "local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);" (assignment_expression "local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "local_4c[2]" (identifier "local_4c") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "local_4c[2] + *(double *)(iVar14 + 0x30)" (subscript_expression "local_4c[2]" (identifier "local_4c") ([ "[") (number_literal "2") (] "]")) (+ "+") (pointer_expression "*(double *)(iVar14 + 0x30)" (* "*") (cast_expression "(double *)(iVar14 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x30)" (( "(") (binary_expression "iVar14 + 0x30" (identifier "iVar14") (+ "+") (number_literal "0x30")) () ")")))))) (; ";")) (} "}")))) (if_statement "if (iVar15 == 0) {\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }\n            else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }" (if "if") (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              iVar18 = 0;\n              iVar12 = *(int *)(iVar4 + 4);\n            }" ({ "{") (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" (identifier "iVar18") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar12 = *(int *)(iVar4 + 4);" (assignment_expression "iVar12 = *(int *)(iVar4 + 4)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(iVar4 + 4)" (* "*") (cast_expression "(int *)(iVar4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }" (else "else") (compound_statement "{\n              iVar12 = *(int *)(iVar4 + 4);\n              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);\n              iVar18 = iVar15;\n            }" ({ "{") (expression_statement "iVar12 = *(int *)(iVar4 + 4);" (assignment_expression "iVar12 = *(int *)(iVar4 + 4)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(iVar4 + 4)" (* "*") (cast_expression "(int *)(iVar4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);" (assignment_expression "local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10)" (subscript_expression "local_4c[4]" (identifier "local_4c") ([ "[") (number_literal "4") (] "]")) (= "=") (binary_expression "local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10)" (subscript_expression "local_4c[4]" (identifier "local_4c") ([ "[") (number_literal "4") (] "]")) (+ "+") (pointer_expression "*(double *)(iVar11 + 0x40 + iVar10)" (* "*") (cast_expression "(double *)(iVar11 + 0x40 + iVar10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x40 + iVar10)" (( "(") (binary_expression "iVar11 + 0x40 + iVar10" (binary_expression "iVar11 + 0x40" (identifier "iVar11") (+ "+") (number_literal "0x40")) (+ "+") (identifier "iVar10")) () ")")))))) (; ";")) (expression_statement "iVar18 = iVar15;" (assignment_expression "iVar18 = iVar15" (identifier "iVar18") (= "=") (identifier "iVar15")) (; ";")) (} "}")))) (expression_statement "local_74 = local_74 + -1;" (assignment_expression "local_74 = local_74 + -1" (identifier "local_74") (= "=") (binary_expression "local_74 + -1" (identifier "local_74") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "pdVar17 = pdVar17 + 0x28;" (assignment_expression "pdVar17 = pdVar17 + 0x28" (identifier "pdVar17") (= "=") (binary_expression "pdVar17 + 0x28" (identifier "pdVar17") (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "local_6c = local_6c + 1;" (assignment_expression "local_6c = local_6c + 1" (identifier "local_6c") (= "=") (binary_expression "local_6c + 1" (identifier "local_6c") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_64 = local_64 + 0x28;" (assignment_expression "local_64 = local_64 + 0x28" (identifier "local_64") (= "=") (binary_expression "local_64 + 0x28" (identifier "local_64") (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "local_58 = local_58 + local_50;" (assignment_expression "local_58 = local_58 + local_50" (identifier "local_58") (= "=") (binary_expression "local_58 + local_50" (identifier "local_58") (+ "+") (identifier "local_50"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_50 - iVar8 != local_74)" (( "(") (binary_expression "local_50 - iVar8 != local_74" (binary_expression "local_50 - iVar8" (identifier "local_50") (- "-") (identifier "iVar8")) (!= "!=") (identifier "local_74")) () ")")) (; ";")) (expression_statement "dVar1 = (double)local_50;" (assignment_expression "dVar1 = (double)local_50" (identifier "dVar1") (= "=") (cast_expression "(double)local_50" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_50"))) (; ";")) (expression_statement "iVar7 = param_1[7];" (assignment_expression "iVar7 = param_1[7]" (identifier "iVar7") (= "=") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "iVar14 = param_1[9];" (assignment_expression "iVar14 = param_1[9]" (identifier "iVar14") (= "=") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "iVar11 = iVar7 + iVar10;" (assignment_expression "iVar11 = iVar7 + iVar10" (identifier "iVar11") (= "=") (binary_expression "iVar7 + iVar10" (identifier "iVar7") (+ "+") (identifier "iVar10"))) (; ";")) (expression_statement "*(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);" (assignment_expression "*(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20)" (pointer_expression "*(double *)(iVar11 + 0x20)" (* "*") (cast_expression "(double *)(iVar11 + 0x20)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x20)" (( "(") (binary_expression "iVar11 + 0x20" (identifier "iVar11") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (binary_expression "*local_60 * dVar1 + *(double *)(iVar11 + 0x20)" (binary_expression "*local_60 * dVar1" (pointer_expression "*local_60" (* "*") (identifier "local_60")) (* "*") (identifier "dVar1")) (+ "+") (pointer_expression "*(double *)(iVar11 + 0x20)" (* "*") (cast_expression "(double *)(iVar11 + 0x20)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x20)" (( "(") (binary_expression "iVar11 + 0x20" (identifier "iVar11") (+ "+") (number_literal "0x20")) () ")")))))) (; ";")) (expression_statement "dVar19 = (double)(local_50 * local_50);" (assignment_expression "dVar19 = (double)(local_50 * local_50)" (identifier "dVar19") (= "=") (cast_expression "(double)(local_50 * local_50)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "(local_50 * local_50)" (( "(") (binary_expression "local_50 * local_50" (identifier "local_50") (* "*") (identifier "local_50")) () ")")))) (; ";")) (expression_statement "iVar13 = iVar14 + iVar10;" (assignment_expression "iVar13 = iVar14 + iVar10" (identifier "iVar13") (= "=") (binary_expression "iVar14 + iVar10" (identifier "iVar14") (+ "+") (identifier "iVar10"))) (; ";")) (expression_statement "*(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);" (assignment_expression "*(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20)" (pointer_expression "*(double *)(iVar13 + 0x20)" (* "*") (cast_expression "(double *)(iVar13 + 0x20)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x20)" (( "(") (binary_expression "iVar13 + 0x20" (identifier "iVar13") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (binary_expression "*local_60 * dVar19 + *(double *)(iVar13 + 0x20)" (binary_expression "*local_60 * dVar19" (pointer_expression "*local_60" (* "*") (identifier "local_60")) (* "*") (identifier "dVar19")) (+ "+") (pointer_expression "*(double *)(iVar13 + 0x20)" (* "*") (cast_expression "(double *)(iVar13 + 0x20)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x20)" (( "(") (binary_expression "iVar13 + 0x20" (identifier "iVar13") (+ "+") (number_literal "0x20")) () ")")))))) (; ";")) (expression_statement "*(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);" (assignment_expression "*(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28)" (pointer_expression "*(double *)(iVar11 + 0x28)" (* "*") (cast_expression "(double *)(iVar11 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x28)" (( "(") (binary_expression "iVar11 + 0x28" (identifier "iVar11") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "local_60[1] * dVar1 + *(double *)(iVar11 + 0x28)" (binary_expression "local_60[1] * dVar1" (subscript_expression "local_60[1]" (identifier "local_60") ([ "[") (number_literal "1") (] "]")) (* "*") (identifier "dVar1")) (+ "+") (pointer_expression "*(double *)(iVar11 + 0x28)" (* "*") (cast_expression "(double *)(iVar11 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x28)" (( "(") (binary_expression "iVar11 + 0x28" (identifier "iVar11") (+ "+") (number_literal "0x28")) () ")")))))) (; ";")) (expression_statement "*(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);" (assignment_expression "*(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28)" (pointer_expression "*(double *)(iVar13 + 0x28)" (* "*") (cast_expression "(double *)(iVar13 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x28)" (( "(") (binary_expression "iVar13 + 0x28" (identifier "iVar13") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "local_60[1] * dVar19 + *(double *)(iVar13 + 0x28)" (binary_expression "local_60[1] * dVar19" (subscript_expression "local_60[1]" (identifier "local_60") ([ "[") (number_literal "1") (] "]")) (* "*") (identifier "dVar19")) (+ "+") (pointer_expression "*(double *)(iVar13 + 0x28)" (* "*") (cast_expression "(double *)(iVar13 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x28)" (( "(") (binary_expression "iVar13 + 0x28" (identifier "iVar13") (+ "+") (number_literal "0x28")) () ")")))))) (; ";")) (expression_statement "*(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);" (assignment_expression "*(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30)" (pointer_expression "*(double *)(iVar11 + 0x30)" (* "*") (cast_expression "(double *)(iVar11 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x30)" (( "(") (binary_expression "iVar11 + 0x30" (identifier "iVar11") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (binary_expression "local_60[2] * dVar1 + *(double *)(iVar11 + 0x30)" (binary_expression "local_60[2] * dVar1" (subscript_expression "local_60[2]" (identifier "local_60") ([ "[") (number_literal "2") (] "]")) (* "*") (identifier "dVar1")) (+ "+") (pointer_expression "*(double *)(iVar11 + 0x30)" (* "*") (cast_expression "(double *)(iVar11 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x30)" (( "(") (binary_expression "iVar11 + 0x30" (identifier "iVar11") (+ "+") (number_literal "0x30")) () ")")))))) (; ";")) (expression_statement "*(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);" (assignment_expression "*(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30)" (pointer_expression "*(double *)(iVar13 + 0x30)" (* "*") (cast_expression "(double *)(iVar13 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x30)" (( "(") (binary_expression "iVar13 + 0x30" (identifier "iVar13") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (binary_expression "local_60[2] * dVar19 + *(double *)(iVar13 + 0x30)" (binary_expression "local_60[2] * dVar19" (subscript_expression "local_60[2]" (identifier "local_60") ([ "[") (number_literal "2") (] "]")) (* "*") (identifier "dVar19")) (+ "+") (pointer_expression "*(double *)(iVar13 + 0x30)" (* "*") (cast_expression "(double *)(iVar13 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x30)" (( "(") (binary_expression "iVar13 + 0x30" (identifier "iVar13") (+ "+") (number_literal "0x30")) () ")")))))) (; ";")) (if_statement "if (iVar12 == 2) {\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }" (if "if") (parenthesized_expression "(iVar12 == 2)" (( "(") (binary_expression "iVar12 == 2" (identifier "iVar12") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);\n            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);\n          }" ({ "{") (expression_statement "*(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);" (assignment_expression "*(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38)" (pointer_expression "*(double *)(iVar11 + 0x38)" (* "*") (cast_expression "(double *)(iVar11 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x38)" (( "(") (binary_expression "iVar11 + 0x38" (identifier "iVar11") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (binary_expression "local_60[3] * dVar1 + *(double *)(iVar11 + 0x38)" (binary_expression "local_60[3] * dVar1" (subscript_expression "local_60[3]" (identifier "local_60") ([ "[") (number_literal "3") (] "]")) (* "*") (identifier "dVar1")) (+ "+") (pointer_expression "*(double *)(iVar11 + 0x38)" (* "*") (cast_expression "(double *)(iVar11 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x38)" (( "(") (binary_expression "iVar11 + 0x38" (identifier "iVar11") (+ "+") (number_literal "0x38")) () ")")))))) (; ";")) (expression_statement "*(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);" (assignment_expression "*(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38)" (pointer_expression "*(double *)(iVar13 + 0x38)" (* "*") (cast_expression "(double *)(iVar13 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x38)" (( "(") (binary_expression "iVar13 + 0x38" (identifier "iVar13") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (binary_expression "local_60[3] * dVar19 + *(double *)(iVar13 + 0x38)" (binary_expression "local_60[3] * dVar19" (subscript_expression "local_60[3]" (identifier "local_60") ([ "[") (number_literal "3") (] "]")) (* "*") (identifier "dVar19")) (+ "+") (pointer_expression "*(double *)(iVar13 + 0x38)" (* "*") (cast_expression "(double *)(iVar13 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x38)" (( "(") (binary_expression "iVar13 + 0x38" (identifier "iVar13") (+ "+") (number_literal "0x38")) () ")")))))) (; ";")) (} "}"))) (if_statement "if (iVar15 != 0) {\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }" (if "if") (parenthesized_expression "(iVar15 != 0)" (( "(") (binary_expression "iVar15 != 0" (identifier "iVar15") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);\n            *(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);\n          }" ({ "{") (expression_statement "*(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);" (assignment_expression "*(double *)(iVar7 + iVar10 + 0x40) =\n                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40)" (pointer_expression "*(double *)(iVar7 + iVar10 + 0x40)" (* "*") (cast_expression "(double *)(iVar7 + iVar10 + 0x40)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + iVar10 + 0x40)" (( "(") (binary_expression "iVar7 + iVar10 + 0x40" (binary_expression "iVar7 + iVar10" (identifier "iVar7") (+ "+") (identifier "iVar10")) (+ "+") (number_literal "0x40")) () ")")))) (= "=") (binary_expression "dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40)" (binary_expression "dVar1 * local_60[4]" (identifier "dVar1") (* "*") (subscript_expression "local_60[4]" (identifier "local_60") ([ "[") (number_literal "4") (] "]"))) (+ "+") (pointer_expression "*(double *)(iVar7 + iVar10 + 0x40)" (* "*") (cast_expression "(double *)(iVar7 + iVar10 + 0x40)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + iVar10 + 0x40)" (( "(") (binary_expression "iVar7 + iVar10 + 0x40" (binary_expression "iVar7 + iVar10" (identifier "iVar7") (+ "+") (identifier "iVar10")) (+ "+") (number_literal "0x40")) () ")")))))) (; ";")) (expression_statement "*(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);" (assignment_expression "*(double *)(iVar14 + iVar10 + 0x40) =\n                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40)" (pointer_expression "*(double *)(iVar14 + iVar10 + 0x40)" (* "*") (cast_expression "(double *)(iVar14 + iVar10 + 0x40)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + iVar10 + 0x40)" (( "(") (binary_expression "iVar14 + iVar10 + 0x40" (binary_expression "iVar14 + iVar10" (identifier "iVar14") (+ "+") (identifier "iVar10")) (+ "+") (number_literal "0x40")) () ")")))) (= "=") (binary_expression "dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40)" (binary_expression "dVar19 * local_60[4]" (identifier "dVar19") (* "*") (subscript_expression "local_60[4]" (identifier "local_60") ([ "[") (number_literal "4") (] "]"))) (+ "+") (pointer_expression "*(double *)(iVar14 + iVar10 + 0x40)" (* "*") (cast_expression "(double *)(iVar14 + iVar10 + 0x40)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + iVar10 + 0x40)" (( "(") (binary_expression "iVar14 + iVar10 + 0x40" (binary_expression "iVar14 + iVar10" (identifier "iVar14") (+ "+") (identifier "iVar10")) (+ "+") (number_literal "0x40")) () ")")))))) (; ";")) (} "}"))) (expression_statement "local_50 = local_50 + 1;" (assignment_expression "local_50 = local_50 + 1" (identifier "local_50") (= "=") (binary_expression "local_50 + 1" (identifier "local_50") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_60 = local_60 + 0x28;" (assignment_expression "local_60 = local_60 + 0x28" (identifier "local_60") (= "=") (binary_expression "local_60 + 0x28" (identifier "local_60") (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "local_4c = local_4c + 0x28;" (assignment_expression "local_4c = local_4c + 0x28" (identifier "local_4c") (= "=") (binary_expression "local_4c + 0x28" (identifier "local_4c") (+ "+") (number_literal "0x28"))) (; ";")) (expression_statement "local_3c = local_3c + 0x28;" (assignment_expression "local_3c = local_3c + 0x28" (identifier "local_3c") (= "=") (binary_expression "local_3c + 0x28" (identifier "local_3c") (+ "+") (number_literal "0x28"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_50 != iVar8)" (( "(") (binary_expression "local_50 != iVar8" (identifier "local_50") (!= "!=") (identifier "iVar8")) () ")")) (; ";")) (} "}")))) (expression_statement "iVar12 = param_1[3];" (assignment_expression "iVar12 = param_1[3]" (identifier "iVar12") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "iVar18 = local_38 * 0x50;" (assignment_expression "iVar18 = local_38 * 0x50" (identifier "iVar18") (= "=") (binary_expression "local_38 * 0x50" (identifier "local_38") (* "*") (number_literal "0x50"))) (; ";")) (expression_statement "dVar1 = *(double *)(iVar7 + 0x20 + iVar18);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x20 + iVar18)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar7 + 0x20 + iVar18)" (* "*") (cast_expression "(double *)(iVar7 + 0x20 + iVar18)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x20 + iVar18)" (( "(") (binary_expression "iVar7 + 0x20 + iVar18" (binary_expression "iVar7 + 0x20" (identifier "iVar7") (+ "+") (number_literal "0x20")) (+ "+") (identifier "iVar18")) () ")"))))) (; ";")) (expression_statement "dVar1 = dVar1 * dVar1;" (assignment_expression "dVar1 = dVar1 * dVar1" (identifier "dVar1") (= "=") (binary_expression "dVar1 * dVar1" (identifier "dVar1") (* "*") (identifier "dVar1"))) (; ";")) (expression_statement "dVar19 = *(double *)(iVar12 + 0x20 + iVar18);" (assignment_expression "dVar19 = *(double *)(iVar12 + 0x20 + iVar18)" (identifier "dVar19") (= "=") (pointer_expression "*(double *)(iVar12 + 0x20 + iVar18)" (* "*") (cast_expression "(double *)(iVar12 + 0x20 + iVar18)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x20 + iVar18)" (( "(") (binary_expression "iVar12 + 0x20 + iVar18" (binary_expression "iVar12 + 0x20" (identifier "iVar12") (+ "+") (number_literal "0x20")) (+ "+") (identifier "iVar18")) () ")"))))) (; ";")) (expression_statement "dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;" (assignment_expression "dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1" (identifier "dVar5") (= "=") (binary_expression "*(double *)(iVar14 + 0x20 + iVar18) - dVar1" (pointer_expression "*(double *)(iVar14 + 0x20 + iVar18)" (* "*") (cast_expression "(double *)(iVar14 + 0x20 + iVar18)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x20 + iVar18)" (( "(") (binary_expression "iVar14 + 0x20 + iVar18" (binary_expression "iVar14 + 0x20" (identifier "iVar14") (+ "+") (number_literal "0x20")) (+ "+") (identifier "iVar18")) () ")")))) (- "-") (identifier "dVar1"))) (; ";")) (expression_statement "dVar2 = SQRT(dVar5);" (assignment_expression "dVar2 = SQRT(dVar5)" (identifier "dVar2") (= "=") (call_expression "SQRT(dVar5)" (identifier "SQRT") (argument_list "(dVar5)" (( "(") (identifier "dVar5") () ")")))) (; ";")) (if_statement "if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }" (if "if") (parenthesized_expression "(dVar5 < 0.0)" (( "(") (binary_expression "dVar5 < 0.0" (identifier "dVar5") (< "<") (number_literal "0.0")) () ")")) (compound_statement "{\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }" ({ "{") (expression_statement "sqrt(dVar5);" (call_expression "sqrt(dVar5)" (identifier "sqrt") (argument_list "(dVar5)" (( "(") (identifier "dVar5") () ")"))) (; ";")) (expression_statement "iVar7 = param_1[7];" (assignment_expression "iVar7 = param_1[7]" (identifier "iVar7") (= "=") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "iVar14 = param_1[9];" (assignment_expression "iVar14 = param_1[9]" (identifier "iVar14") (= "=") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "dVar2 = *(double *)(iVar7 + 0x20 + iVar18);" (assignment_expression "dVar2 = *(double *)(iVar7 + 0x20 + iVar18)" (identifier "dVar2") (= "=") (pointer_expression "*(double *)(iVar7 + 0x20 + iVar18)" (* "*") (cast_expression "(double *)(iVar7 + 0x20 + iVar18)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x20 + iVar18)" (( "(") (binary_expression "iVar7 + 0x20 + iVar18" (binary_expression "iVar7 + 0x20" (identifier "iVar7") (+ "+") (number_literal "0x20")) (+ "+") (identifier "iVar18")) () ")"))))) (; ";")) (expression_statement "dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;" (assignment_expression "dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2" (identifier "dVar6") (= "=") (binary_expression "*(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2" (pointer_expression "*(double *)(iVar14 + 0x20 + iVar18)" (* "*") (cast_expression "(double *)(iVar14 + 0x20 + iVar18)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x20 + iVar18)" (( "(") (binary_expression "iVar14 + 0x20 + iVar18" (binary_expression "iVar14 + 0x20" (identifier "iVar14") (+ "+") (number_literal "0x20")) (+ "+") (identifier "iVar18")) () ")")))) (- "-") (binary_expression "dVar2 * dVar2" (identifier "dVar2") (* "*") (identifier "dVar2")))) (; ";")) (expression_statement "dVar2 = SQRT(dVar6);" (assignment_expression "dVar2 = SQRT(dVar6)" (identifier "dVar2") (= "=") (call_expression "SQRT(dVar6)" (identifier "SQRT") (argument_list "(dVar6)" (( "(") (identifier "dVar6") () ")")))) (; ";")) (if_statement "if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }" (if "if") (parenthesized_expression "(0.0 <= dVar6)" (( "(") (binary_expression "0.0 <= dVar6" (number_literal "0.0") (<= "<=") (identifier "dVar6")) () ")")) (compound_statement "{\n          iVar12 = param_1[3];\n        }" ({ "{") (expression_statement "iVar12 = param_1[3];" (assignment_expression "iVar12 = param_1[3]" (identifier "iVar12") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }" (else "else") (compound_statement "{\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }" ({ "{") (expression_statement "sqrt(dVar6);" (call_expression "sqrt(dVar6)" (identifier "sqrt") (argument_list "(dVar6)" (( "(") (identifier "dVar6") () ")"))) (; ";")) (expression_statement "iVar7 = param_1[7];" (assignment_expression "iVar7 = param_1[7]" (identifier "iVar7") (= "=") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "iVar12 = param_1[3];" (assignment_expression "iVar12 = param_1[3]" (identifier "iVar12") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "iVar14 = param_1[9];" (assignment_expression "iVar14 = param_1[9]" (identifier "iVar14") (= "=") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]"))) (; ";")) (} "}")))) (} "}"))) (expression_statement "iVar18 = local_38 * 0x50;" (assignment_expression "iVar18 = local_38 * 0x50" (identifier "iVar18") (= "=") (binary_expression "local_38 * 0x50" (identifier "local_38") (* "*") (number_literal "0x50"))) (; ";")) (expression_statement "pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));" (assignment_expression "pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (subscript_expression "pdVar16[8]" (identifier "pdVar16") ([ "[") (number_literal "8") (] "]")) (= "=") (binary_expression "(dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (parenthesized_expression "(dVar19 - dVar1)" (( "(") (binary_expression "dVar19 - dVar1" (identifier "dVar19") (- "-") (identifier "dVar1")) () ")")) (/ "/") (parenthesized_expression "(dVar2 * SQRT(dVar5))" (( "(") (binary_expression "dVar2 * SQRT(dVar5)" (identifier "dVar2") (* "*") (call_expression "SQRT(dVar5)" (identifier "SQRT") (argument_list "(dVar5)" (( "(") (identifier "dVar5") () ")")))) () ")")))) (; ";")) (expression_statement "dVar1 = *(double *)(iVar7 + 0x28 + iVar18);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x28 + iVar18)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar7 + 0x28 + iVar18)" (* "*") (cast_expression "(double *)(iVar7 + 0x28 + iVar18)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x28 + iVar18)" (( "(") (binary_expression "iVar7 + 0x28 + iVar18" (binary_expression "iVar7 + 0x28" (identifier "iVar7") (+ "+") (number_literal "0x28")) (+ "+") (identifier "iVar18")) () ")"))))) (; ";")) (expression_statement "dVar1 = dVar1 * dVar1;" (assignment_expression "dVar1 = dVar1 * dVar1" (identifier "dVar1") (= "=") (binary_expression "dVar1 * dVar1" (identifier "dVar1") (* "*") (identifier "dVar1"))) (; ";")) (expression_statement "dVar19 = *(double *)(iVar12 + 0x28 + iVar18);" (assignment_expression "dVar19 = *(double *)(iVar12 + 0x28 + iVar18)" (identifier "dVar19") (= "=") (pointer_expression "*(double *)(iVar12 + 0x28 + iVar18)" (* "*") (cast_expression "(double *)(iVar12 + 0x28 + iVar18)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x28 + iVar18)" (( "(") (binary_expression "iVar12 + 0x28 + iVar18" (binary_expression "iVar12 + 0x28" (identifier "iVar12") (+ "+") (number_literal "0x28")) (+ "+") (identifier "iVar18")) () ")"))))) (; ";")) (expression_statement "dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;" (assignment_expression "dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1" (identifier "dVar5") (= "=") (binary_expression "*(double *)(iVar14 + 0x28 + iVar18) - dVar1" (pointer_expression "*(double *)(iVar14 + 0x28 + iVar18)" (* "*") (cast_expression "(double *)(iVar14 + 0x28 + iVar18)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x28 + iVar18)" (( "(") (binary_expression "iVar14 + 0x28 + iVar18" (binary_expression "iVar14 + 0x28" (identifier "iVar14") (+ "+") (number_literal "0x28")) (+ "+") (identifier "iVar18")) () ")")))) (- "-") (identifier "dVar1"))) (; ";")) (expression_statement "dVar2 = SQRT(dVar5);" (assignment_expression "dVar2 = SQRT(dVar5)" (identifier "dVar2") (= "=") (call_expression "SQRT(dVar5)" (identifier "SQRT") (argument_list "(dVar5)" (( "(") (identifier "dVar5") () ")")))) (; ";")) (if_statement "if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }" (if "if") (parenthesized_expression "(dVar5 < 0.0)" (( "(") (binary_expression "dVar5 < 0.0" (identifier "dVar5") (< "<") (number_literal "0.0")) () ")")) (compound_statement "{\n        sqrt(dVar5);\n        iVar7 = param_1[7];\n        iVar14 = param_1[9];\n        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);\n        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }\n      }" ({ "{") (expression_statement "sqrt(dVar5);" (call_expression "sqrt(dVar5)" (identifier "sqrt") (argument_list "(dVar5)" (( "(") (identifier "dVar5") () ")"))) (; ";")) (expression_statement "iVar7 = param_1[7];" (assignment_expression "iVar7 = param_1[7]" (identifier "iVar7") (= "=") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "iVar14 = param_1[9];" (assignment_expression "iVar14 = param_1[9]" (identifier "iVar14") (= "=") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "dVar2 = *(double *)(iVar7 + 0x28 + iVar18);" (assignment_expression "dVar2 = *(double *)(iVar7 + 0x28 + iVar18)" (identifier "dVar2") (= "=") (pointer_expression "*(double *)(iVar7 + 0x28 + iVar18)" (* "*") (cast_expression "(double *)(iVar7 + 0x28 + iVar18)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x28 + iVar18)" (( "(") (binary_expression "iVar7 + 0x28 + iVar18" (binary_expression "iVar7 + 0x28" (identifier "iVar7") (+ "+") (number_literal "0x28")) (+ "+") (identifier "iVar18")) () ")"))))) (; ";")) (expression_statement "dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;" (assignment_expression "dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2" (identifier "dVar6") (= "=") (binary_expression "*(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2" (pointer_expression "*(double *)(iVar14 + 0x28 + iVar18)" (* "*") (cast_expression "(double *)(iVar14 + 0x28 + iVar18)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x28 + iVar18)" (( "(") (binary_expression "iVar14 + 0x28 + iVar18" (binary_expression "iVar14 + 0x28" (identifier "iVar14") (+ "+") (number_literal "0x28")) (+ "+") (identifier "iVar18")) () ")")))) (- "-") (binary_expression "dVar2 * dVar2" (identifier "dVar2") (* "*") (identifier "dVar2")))) (; ";")) (expression_statement "dVar2 = SQRT(dVar6);" (assignment_expression "dVar2 = SQRT(dVar6)" (identifier "dVar2") (= "=") (call_expression "SQRT(dVar6)" (identifier "SQRT") (argument_list "(dVar6)" (( "(") (identifier "dVar6") () ")")))) (; ";")) (if_statement "if (0.0 <= dVar6) {\n          iVar12 = param_1[3];\n        }\n        else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }" (if "if") (parenthesized_expression "(0.0 <= dVar6)" (( "(") (binary_expression "0.0 <= dVar6" (number_literal "0.0") (<= "<=") (identifier "dVar6")) () ")")) (compound_statement "{\n          iVar12 = param_1[3];\n        }" ({ "{") (expression_statement "iVar12 = param_1[3];" (assignment_expression "iVar12 = param_1[3]" (identifier "iVar12") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }" (else "else") (compound_statement "{\n          sqrt(dVar6);\n          iVar7 = param_1[7];\n          iVar12 = param_1[3];\n          iVar14 = param_1[9];\n        }" ({ "{") (expression_statement "sqrt(dVar6);" (call_expression "sqrt(dVar6)" (identifier "sqrt") (argument_list "(dVar6)" (( "(") (identifier "dVar6") () ")"))) (; ";")) (expression_statement "iVar7 = param_1[7];" (assignment_expression "iVar7 = param_1[7]" (identifier "iVar7") (= "=") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "iVar12 = param_1[3];" (assignment_expression "iVar12 = param_1[3]" (identifier "iVar12") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "iVar14 = param_1[9];" (assignment_expression "iVar14 = param_1[9]" (identifier "iVar14") (= "=") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]"))) (; ";")) (} "}")))) (} "}"))) (expression_statement "iVar18 = local_38 * 0x50;" (assignment_expression "iVar18 = local_38 * 0x50" (identifier "iVar18") (= "=") (binary_expression "local_38 * 0x50" (identifier "local_38") (* "*") (number_literal "0x50"))) (; ";")) (expression_statement "pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));" (assignment_expression "pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (subscript_expression "pdVar16[0x40]" (identifier "pdVar16") ([ "[") (number_literal "0x40") (] "]")) (= "=") (binary_expression "(dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (parenthesized_expression "(dVar19 - dVar1)" (( "(") (binary_expression "dVar19 - dVar1" (identifier "dVar19") (- "-") (identifier "dVar1")) () ")")) (/ "/") (parenthesized_expression "(dVar2 * SQRT(dVar5))" (( "(") (binary_expression "dVar2 * SQRT(dVar5)" (identifier "dVar2") (* "*") (call_expression "SQRT(dVar5)" (identifier "SQRT") (argument_list "(dVar5)" (( "(") (identifier "dVar5") () ")")))) () ")")))) (; ";")) (expression_statement "dVar1 = *(double *)(iVar7 + 0x30 + iVar18);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x30 + iVar18)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar7 + 0x30 + iVar18)" (* "*") (cast_expression "(double *)(iVar7 + 0x30 + iVar18)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x30 + iVar18)" (( "(") (binary_expression "iVar7 + 0x30 + iVar18" (binary_expression "iVar7 + 0x30" (identifier "iVar7") (+ "+") (number_literal "0x30")) (+ "+") (identifier "iVar18")) () ")"))))) (; ";")) (expression_statement "dVar1 = dVar1 * dVar1;" (assignment_expression "dVar1 = dVar1 * dVar1" (identifier "dVar1") (= "=") (binary_expression "dVar1 * dVar1" (identifier "dVar1") (* "*") (identifier "dVar1"))) (; ";")) (expression_statement "dVar19 = *(double *)(iVar12 + 0x30 + iVar18);" (assignment_expression "dVar19 = *(double *)(iVar12 + 0x30 + iVar18)" (identifier "dVar19") (= "=") (pointer_expression "*(double *)(iVar12 + 0x30 + iVar18)" (* "*") (cast_expression "(double *)(iVar12 + 0x30 + iVar18)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0x30 + iVar18)" (( "(") (binary_expression "iVar12 + 0x30 + iVar18" (binary_expression "iVar12 + 0x30" (identifier "iVar12") (+ "+") (number_literal "0x30")) (+ "+") (identifier "iVar18")) () ")"))))) (; ";")) (expression_statement "dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;" (assignment_expression "dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1" (identifier "dVar5") (= "=") (binary_expression "*(double *)(iVar14 + 0x30 + iVar18) - dVar1" (pointer_expression "*(double *)(iVar14 + 0x30 + iVar18)" (* "*") (cast_expression "(double *)(iVar14 + 0x30 + iVar18)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x30 + iVar18)" (( "(") (binary_expression "iVar14 + 0x30 + iVar18" (binary_expression "iVar14 + 0x30" (identifier "iVar14") (+ "+") (number_literal "0x30")) (+ "+") (identifier "iVar18")) () ")")))) (- "-") (identifier "dVar1"))) (; ";")) (expression_statement "dVar2 = SQRT(dVar5);" (assignment_expression "dVar2 = SQRT(dVar5)" (identifier "dVar2") (= "=") (call_expression "SQRT(dVar5)" (identifier "SQRT") (argument_list "(dVar5)" (( "(") (identifier "dVar5") () ")")))) (; ";")) (if_statement "if (dVar5 < 0.0) {\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }" (if "if") (parenthesized_expression "(dVar5 < 0.0)" (( "(") (binary_expression "dVar5 < 0.0" (identifier "dVar5") (< "<") (number_literal "0.0")) () ")")) (compound_statement "{\n        sqrt(dVar5);\n        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);\n        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;\n        dVar2 = SQRT(dVar6);\n        if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }\n      }" ({ "{") (expression_statement "sqrt(dVar5);" (call_expression "sqrt(dVar5)" (identifier "sqrt") (argument_list "(dVar5)" (( "(") (identifier "dVar5") () ")"))) (; ";")) (expression_statement "dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);" (assignment_expression "dVar2 = *(double *)(param_1[7] + iVar18 + 0x30)" (identifier "dVar2") (= "=") (pointer_expression "*(double *)(param_1[7] + iVar18 + 0x30)" (* "*") (cast_expression "(double *)(param_1[7] + iVar18 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[7] + iVar18 + 0x30)" (( "(") (binary_expression "param_1[7] + iVar18 + 0x30" (binary_expression "param_1[7] + iVar18" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (+ "+") (identifier "iVar18")) (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;" (assignment_expression "dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2" (identifier "dVar6") (= "=") (binary_expression "*(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2" (pointer_expression "*(double *)(iVar18 + param_1[9] + 0x30)" (* "*") (cast_expression "(double *)(iVar18 + param_1[9] + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + param_1[9] + 0x30)" (( "(") (binary_expression "iVar18 + param_1[9] + 0x30" (binary_expression "iVar18 + param_1[9]" (identifier "iVar18") (+ "+") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]"))) (+ "+") (number_literal "0x30")) () ")")))) (- "-") (binary_expression "dVar2 * dVar2" (identifier "dVar2") (* "*") (identifier "dVar2")))) (; ";")) (expression_statement "dVar2 = SQRT(dVar6);" (assignment_expression "dVar2 = SQRT(dVar6)" (identifier "dVar2") (= "=") (call_expression "SQRT(dVar6)" (identifier "SQRT") (argument_list "(dVar6)" (( "(") (identifier "dVar6") () ")")))) (; ";")) (if_statement "if (dVar6 < 0.0) {\n          sqrt(dVar6);\n        }" (if "if") (parenthesized_expression "(dVar6 < 0.0)" (( "(") (binary_expression "dVar6 < 0.0" (identifier "dVar6") (< "<") (number_literal "0.0")) () ")")) (compound_statement "{\n          sqrt(dVar6);\n        }" ({ "{") (expression_statement "sqrt(dVar6);" (call_expression "sqrt(dVar6)" (identifier "sqrt") (argument_list "(dVar6)" (( "(") (identifier "dVar6") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar7 = *(int *)(iVar4 + 4);" (assignment_expression "iVar7 = *(int *)(iVar4 + 4)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(iVar4 + 4)" (* "*") (cast_expression "(int *)(iVar4 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 4)" (( "(") (binary_expression "iVar4 + 4" (identifier "iVar4") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));" (assignment_expression "pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (subscript_expression "pdVar16[0x78]" (identifier "pdVar16") ([ "[") (number_literal "0x78") (] "]")) (= "=") (binary_expression "(dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (parenthesized_expression "(dVar19 - dVar1)" (( "(") (binary_expression "dVar19 - dVar1" (identifier "dVar19") (- "-") (identifier "dVar1")) () ")")) (/ "/") (parenthesized_expression "(dVar2 * SQRT(dVar5))" (( "(") (binary_expression "dVar2 * SQRT(dVar5)" (identifier "dVar2") (* "*") (call_expression "SQRT(dVar5)" (identifier "SQRT") (argument_list "(dVar5)" (( "(") (identifier "dVar5") () ")")))) () ")")))) (; ";")) (if_statement "if (iVar7 == 2) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }" (if "if") (parenthesized_expression "(iVar7 == 2)" (( "(") (binary_expression "iVar7 == 2" (identifier "iVar7") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }" ({ "{") (expression_statement "iVar7 = local_38 * 0x50;" (assignment_expression "iVar7 = local_38 * 0x50" (identifier "iVar7") (= "=") (binary_expression "local_38 * 0x50" (identifier "local_38") (* "*") (number_literal "0x50"))) (; ";")) (expression_statement "dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);" (assignment_expression "dVar1 = *(double *)(param_1[7] + iVar7 + 0x38)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(param_1[7] + iVar7 + 0x38)" (* "*") (cast_expression "(double *)(param_1[7] + iVar7 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[7] + iVar7 + 0x38)" (( "(") (binary_expression "param_1[7] + iVar7 + 0x38" (binary_expression "param_1[7] + iVar7" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (+ "+") (identifier "iVar7")) (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "dVar1 = dVar1 * dVar1;" (assignment_expression "dVar1 = dVar1 * dVar1" (identifier "dVar1") (= "=") (binary_expression "dVar1 * dVar1" (identifier "dVar1") (* "*") (identifier "dVar1"))) (; ";")) (expression_statement "dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);" (assignment_expression "dVar19 = *(double *)(param_1[3] + iVar7 + 0x38)" (identifier "dVar19") (= "=") (pointer_expression "*(double *)(param_1[3] + iVar7 + 0x38)" (* "*") (cast_expression "(double *)(param_1[3] + iVar7 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[3] + iVar7 + 0x38)" (( "(") (binary_expression "param_1[3] + iVar7 + 0x38" (binary_expression "param_1[3] + iVar7" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (+ "+") (identifier "iVar7")) (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;" (assignment_expression "dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1" (identifier "dVar5") (= "=") (binary_expression "*(double *)(param_1[9] + iVar7 + 0x38) - dVar1" (pointer_expression "*(double *)(param_1[9] + iVar7 + 0x38)" (* "*") (cast_expression "(double *)(param_1[9] + iVar7 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[9] + iVar7 + 0x38)" (( "(") (binary_expression "param_1[9] + iVar7 + 0x38" (binary_expression "param_1[9] + iVar7" (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (+ "+") (identifier "iVar7")) (+ "+") (number_literal "0x38")) () ")")))) (- "-") (identifier "dVar1"))) (; ";")) (expression_statement "dVar2 = SQRT(dVar5);" (assignment_expression "dVar2 = SQRT(dVar5)" (identifier "dVar2") (= "=") (call_expression "SQRT(dVar5)" (identifier "SQRT") (argument_list "(dVar5)" (( "(") (identifier "dVar5") () ")")))) (; ";")) (if_statement "if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }" (if "if") (parenthesized_expression "(dVar5 < 0.0)" (( "(") (binary_expression "dVar5 < 0.0" (identifier "dVar5") (< "<") (number_literal "0.0")) () ")")) (compound_statement "{\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }" ({ "{") (expression_statement "sqrt(dVar5);" (call_expression "sqrt(dVar5)" (identifier "sqrt") (argument_list "(dVar5)" (( "(") (identifier "dVar5") () ")"))) (; ";")) (expression_statement "dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);" (assignment_expression "dVar2 = *(double *)(param_1[7] + iVar7 + 0x38)" (identifier "dVar2") (= "=") (pointer_expression "*(double *)(param_1[7] + iVar7 + 0x38)" (* "*") (cast_expression "(double *)(param_1[7] + iVar7 + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[7] + iVar7 + 0x38)" (( "(") (binary_expression "param_1[7] + iVar7 + 0x38" (binary_expression "param_1[7] + iVar7" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (+ "+") (identifier "iVar7")) (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;" (assignment_expression "dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2" (identifier "dVar6") (= "=") (binary_expression "*(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2" (pointer_expression "*(double *)(iVar7 + param_1[9] + 0x38)" (* "*") (cast_expression "(double *)(iVar7 + param_1[9] + 0x38)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + param_1[9] + 0x38)" (( "(") (binary_expression "iVar7 + param_1[9] + 0x38" (binary_expression "iVar7 + param_1[9]" (identifier "iVar7") (+ "+") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]"))) (+ "+") (number_literal "0x38")) () ")")))) (- "-") (binary_expression "dVar2 * dVar2" (identifier "dVar2") (* "*") (identifier "dVar2")))) (; ";")) (expression_statement "dVar2 = SQRT(dVar6);" (assignment_expression "dVar2 = SQRT(dVar6)" (identifier "dVar2") (= "=") (call_expression "SQRT(dVar6)" (identifier "SQRT") (argument_list "(dVar6)" (( "(") (identifier "dVar6") () ")")))) (; ";")) (if_statement "if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }" (if "if") (parenthesized_expression "(dVar6 < 0.0)" (( "(") (binary_expression "dVar6 < 0.0" (identifier "dVar6") (< "<") (number_literal "0.0")) () ")")) (compound_statement "{\n            sqrt(dVar6);\n          }" ({ "{") (expression_statement "sqrt(dVar6);" (call_expression "sqrt(dVar6)" (identifier "sqrt") (argument_list "(dVar6)" (( "(") (identifier "dVar6") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));" (assignment_expression "pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (subscript_expression "pdVar16[0xb0]" (identifier "pdVar16") ([ "[") (number_literal "0xb0") (] "]")) (= "=") (binary_expression "(dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (parenthesized_expression "(dVar19 - dVar1)" (( "(") (binary_expression "dVar19 - dVar1" (identifier "dVar19") (- "-") (identifier "dVar1")) () ")")) (/ "/") (parenthesized_expression "(dVar2 * SQRT(dVar5))" (( "(") (binary_expression "dVar2 * SQRT(dVar5)" (identifier "dVar2") (* "*") (call_expression "SQRT(dVar5)" (identifier "SQRT") (argument_list "(dVar5)" (( "(") (identifier "dVar5") () ")")))) () ")")))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar4 + 0x294) != 0) {\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x294) != 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x294) != 0" (pointer_expression "*(int *)(iVar4 + 0x294)" (* "*") (cast_expression "(int *)(iVar4 + 0x294)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x294)" (( "(") (binary_expression "iVar4 + 0x294" (identifier "iVar4") (+ "+") (number_literal "0x294")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar7 = local_38 * 0x50;\n        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);\n        dVar1 = dVar1 * dVar1;\n        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);\n        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;\n        dVar2 = SQRT(dVar5);\n        if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }\n        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));\n      }" ({ "{") (expression_statement "iVar7 = local_38 * 0x50;" (assignment_expression "iVar7 = local_38 * 0x50" (identifier "iVar7") (= "=") (binary_expression "local_38 * 0x50" (identifier "local_38") (* "*") (number_literal "0x50"))) (; ";")) (expression_statement "dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);" (assignment_expression "dVar1 = *(double *)(param_1[7] + iVar7 + 0x40)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(param_1[7] + iVar7 + 0x40)" (* "*") (cast_expression "(double *)(param_1[7] + iVar7 + 0x40)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[7] + iVar7 + 0x40)" (( "(") (binary_expression "param_1[7] + iVar7 + 0x40" (binary_expression "param_1[7] + iVar7" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (+ "+") (identifier "iVar7")) (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "dVar1 = dVar1 * dVar1;" (assignment_expression "dVar1 = dVar1 * dVar1" (identifier "dVar1") (= "=") (binary_expression "dVar1 * dVar1" (identifier "dVar1") (* "*") (identifier "dVar1"))) (; ";")) (expression_statement "dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);" (assignment_expression "dVar19 = *(double *)(param_1[3] + iVar7 + 0x40)" (identifier "dVar19") (= "=") (pointer_expression "*(double *)(param_1[3] + iVar7 + 0x40)" (* "*") (cast_expression "(double *)(param_1[3] + iVar7 + 0x40)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[3] + iVar7 + 0x40)" (( "(") (binary_expression "param_1[3] + iVar7 + 0x40" (binary_expression "param_1[3] + iVar7" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (+ "+") (identifier "iVar7")) (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;" (assignment_expression "dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1" (identifier "dVar5") (= "=") (binary_expression "*(double *)(param_1[9] + iVar7 + 0x40) - dVar1" (pointer_expression "*(double *)(param_1[9] + iVar7 + 0x40)" (* "*") (cast_expression "(double *)(param_1[9] + iVar7 + 0x40)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[9] + iVar7 + 0x40)" (( "(") (binary_expression "param_1[9] + iVar7 + 0x40" (binary_expression "param_1[9] + iVar7" (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (+ "+") (identifier "iVar7")) (+ "+") (number_literal "0x40")) () ")")))) (- "-") (identifier "dVar1"))) (; ";")) (expression_statement "dVar2 = SQRT(dVar5);" (assignment_expression "dVar2 = SQRT(dVar5)" (identifier "dVar2") (= "=") (call_expression "SQRT(dVar5)" (identifier "SQRT") (argument_list "(dVar5)" (( "(") (identifier "dVar5") () ")")))) (; ";")) (if_statement "if (dVar5 < 0.0) {\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }" (if "if") (parenthesized_expression "(dVar5 < 0.0)" (( "(") (binary_expression "dVar5 < 0.0" (identifier "dVar5") (< "<") (number_literal "0.0")) () ")")) (compound_statement "{\n          sqrt(dVar5);\n          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);\n          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;\n          dVar2 = SQRT(dVar6);\n          if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }\n        }" ({ "{") (expression_statement "sqrt(dVar5);" (call_expression "sqrt(dVar5)" (identifier "sqrt") (argument_list "(dVar5)" (( "(") (identifier "dVar5") () ")"))) (; ";")) (expression_statement "dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);" (assignment_expression "dVar2 = *(double *)(param_1[7] + iVar7 + 0x40)" (identifier "dVar2") (= "=") (pointer_expression "*(double *)(param_1[7] + iVar7 + 0x40)" (* "*") (cast_expression "(double *)(param_1[7] + iVar7 + 0x40)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[7] + iVar7 + 0x40)" (( "(") (binary_expression "param_1[7] + iVar7 + 0x40" (binary_expression "param_1[7] + iVar7" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (+ "+") (identifier "iVar7")) (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;" (assignment_expression "dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2" (identifier "dVar6") (= "=") (binary_expression "*(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2" (pointer_expression "*(double *)(iVar7 + param_1[9] + 0x40)" (* "*") (cast_expression "(double *)(iVar7 + param_1[9] + 0x40)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + param_1[9] + 0x40)" (( "(") (binary_expression "iVar7 + param_1[9] + 0x40" (binary_expression "iVar7 + param_1[9]" (identifier "iVar7") (+ "+") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]"))) (+ "+") (number_literal "0x40")) () ")")))) (- "-") (binary_expression "dVar2 * dVar2" (identifier "dVar2") (* "*") (identifier "dVar2")))) (; ";")) (expression_statement "dVar2 = SQRT(dVar6);" (assignment_expression "dVar2 = SQRT(dVar6)" (identifier "dVar2") (= "=") (call_expression "SQRT(dVar6)" (identifier "SQRT") (argument_list "(dVar6)" (( "(") (identifier "dVar6") () ")")))) (; ";")) (if_statement "if (dVar6 < 0.0) {\n            sqrt(dVar6);\n          }" (if "if") (parenthesized_expression "(dVar6 < 0.0)" (( "(") (binary_expression "dVar6 < 0.0" (identifier "dVar6") (< "<") (number_literal "0.0")) () ")")) (compound_statement "{\n            sqrt(dVar6);\n          }" ({ "{") (expression_statement "sqrt(dVar6);" (call_expression "sqrt(dVar6)" (identifier "sqrt") (argument_list "(dVar6)" (( "(") (identifier "dVar6") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));" (assignment_expression "pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (subscript_expression "pdVar16[0xe8]" (identifier "pdVar16") ([ "[") (number_literal "0xe8") (] "]")) (= "=") (binary_expression "(dVar19 - dVar1) / (dVar2 * SQRT(dVar5))" (parenthesized_expression "(dVar19 - dVar1)" (( "(") (binary_expression "dVar19 - dVar1" (identifier "dVar19") (- "-") (identifier "dVar1")) () ")")) (/ "/") (parenthesized_expression "(dVar2 * SQRT(dVar5))" (( "(") (binary_expression "dVar2 * SQRT(dVar5)" (identifier "dVar2") (* "*") (call_expression "SQRT(dVar5)" (identifier "SQRT") (argument_list "(dVar5)" (( "(") (identifier "dVar5") () ")")))) () ")")))) (; ";")) (} "}"))) (expression_statement "local_38 = local_38 + 1;" (assignment_expression "local_38 = local_38 + 1" (identifier "local_38") (= "=") (binary_expression "local_38 + 1" (identifier "local_38") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pdVar16 = pdVar16 + 1;" (assignment_expression "pdVar16 = pdVar16 + 1" (identifier "pdVar16") (= "=") (binary_expression "pdVar16 + 1" (identifier "pdVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_34 = local_34 + 10;" (assignment_expression "local_34 = local_34 + 10" (identifier "local_34") (= "=") (binary_expression "local_34 + 10" (identifier "local_34") (+ "+") (number_literal "10"))) (; ";")) (expression_statement "local_24 = local_24 + 10;" (assignment_expression "local_24 = local_24 + 10" (identifier "local_24") (= "=") (binary_expression "local_24 + 10" (identifier "local_24") (+ "+") (number_literal "10"))) (; ";")) (expression_statement "local_28 = local_28 + 10;" (assignment_expression "local_28 = local_28 + 10" (identifier "local_28") (= "=") (binary_expression "local_28 + 10" (identifier "local_28") (+ "+") (number_literal "10"))) (; ";")) (expression_statement "local_2c = local_2c + 10;" (assignment_expression "local_2c = local_2c + 10" (identifier "local_2c") (= "=") (binary_expression "local_2c + 10" (identifier "local_2c") (+ "+") (number_literal "10"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar9 != local_38)" (( "(") (binary_expression "iVar9 != local_38" (identifier "iVar9") (!= "!=") (identifier "local_38")) () ")")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* DWARF original prototype: void GetImageFeatures._omp_fn.3(anon_struct_44_11_6a408822 * param_0)
    */

void __thiscall function_1(type_1 *this)

{
  double var_7;
  double var_29;
  type_2 var_22;
  type_3 **ppCVar4;
  type_4 *pIVar5;
  type_5 var_9;
  type_6 var_11;
  double var_27;
  double var_30;
  int iVar10;
  int var_3;
  int var_5;
  type_3 *pCVar13;
  type_3 *pCVar14;
  type_3 *pCVar15;
  type_6 var_17;
  double *var_31;
  type_7 *var_18;
  double var_8;
  type_2 var_13;
  type_3 **var_19;
  type_7 *var_20;
  type_7 *var_23;
  int var_21;
  type_2 var_6;
  type_7 *var_24;
  type_7 *var_25;
  int var_4;
  type_7 *var_32;
  type_7 *var_35;
  type_7 *var_34;
  type_7 *var_33;
  
  iVar10 = var_1();
  var_3 = var_2();
  var_5 = (int)(4 / (type_8)iVar10);
  var_4 = (int)(4 % (type_8)iVar10);
  if (var_3 < var_4) {
    var_5 = var_5 + 1;
    var_4 = 0;
  }
  var_4 = var_3 * var_5 + var_4;
  var_5 = var_5 + var_4;
  if (var_4 < var_5) {
    var_22 = this->number_grays;
    ppCVar4 = this->cooccurrence;
    pIVar5 = this->image;
    var_31 = this->channel_features->angular_second_moment + var_4;
    var_32 = &this->density_x->direction[var_4].red;
    var_33 = &this->sum->direction[var_4].red;
    var_34 = &this->density_y->direction[var_4].red;
    var_35 = &this->density_xy[2].direction[var_4].red;
    do {
      if ((int)var_22 < 1) {
        pCVar13 = this->mean;
        pCVar15 = this->sum_squares;
      }
      else {
        var_6 = 0;
        var_9 = pIVar5->colorspace;
        var_11 = pIVar5->alpha_trait;
        var_25 = var_35;
        var_24 = var_34;
        var_23 = var_33;
        do {
          var_21 = 0;
          var_13 = var_6;
          var_20 = var_25;
          var_18 = var_32;
          var_19 = ppCVar4;
          do {
            pCVar13 = *var_19 + var_6;
            var_7 = pCVar13->direction[var_4].red;
            *var_31 = var_7 * var_7 + *var_31;
            var_8 = pCVar13->direction[var_4].green;
            var_31[0x38] = var_8 * var_8 + var_31[0x38];
            var_8 = pCVar13->direction[var_4].blue;
            var_31[0x70] = var_8 * var_8 + var_31[0x70];
            if (var_9 == var_10) {
              var_8 = pCVar13->direction[var_4].black;
              var_31[0xa8] = var_8 * var_8 + var_31[0xa8];
            }
            if (var_11 != var_12) {
              var_8 = pCVar13->direction[var_4].alpha;
              var_31[0xe0] = var_8 * var_8 + var_31[0xe0];
            }
            *var_23 = var_7 + *var_23;
            var_23[1] = var_23[1] + pCVar13->direction[var_4].green;
            var_23[2] = var_23[2] + pCVar13->direction[var_4].blue;
            if (var_9 == var_10) {
              var_23[3] = var_23[3] + pCVar13->direction[var_4].black;
            }
            if (var_11 != var_12) {
              var_23[4] = var_23[4] + pCVar13->direction[var_4].alpha;
            }
            var_7 = (double)var_21;
            pCVar15 = this->correlation;
            pCVar15->direction[var_4].red =
                 pCVar13->direction[var_4].red * var_7 + pCVar15->direction[var_4].red;
            pCVar15->direction[var_4].green =
                 pCVar13->direction[var_4].green * var_7 + pCVar15->direction[var_4].green;
            pCVar15->direction[var_4].blue =
                 pCVar13->direction[var_4].blue * var_7 + pCVar15->direction[var_4].blue;
            if (var_9 == var_10) {
              pCVar15->direction[var_4].black =
                   pCVar13->direction[var_4].black * var_7 + pCVar15->direction[var_4].black;
            }
            if (var_11 != var_12) {
              pCVar15->direction[var_4].alpha =
                   var_7 * pCVar13->direction[var_4].alpha + pCVar15->direction[var_4].alpha;
            }
            var_7 = pCVar13->direction[var_4].red;
            var_8 = (double)(int)(var_13 * var_13 + 1);
            var_31[0x10] = var_7 / var_8 + var_31[0x10];
            var_31[0x48] = pCVar13->direction[var_4].green / var_8 + var_31[0x48];
            var_31[0x80] = pCVar13->direction[var_4].blue / var_8 + var_31[0x80];
            if (var_9 == var_10) {
              var_31[0xb8] = pCVar13->direction[var_4].black / var_8 + var_31[0xb8];
            }
            if (var_11 != var_12) {
              var_31[0xf0] = pCVar13->direction[var_4].alpha / var_8 + var_31[0xf0];
            }
            *var_20 = var_7 + *var_20;
            var_20[1] = var_20[1] + pCVar13->direction[var_4].green;
            var_20[2] = var_20[2] + pCVar13->direction[var_4].blue;
            if (var_9 == var_10) {
              var_20[3] = var_20[3] + pCVar13->direction[var_4].black;
            }
            if (var_11 != var_12) {
              var_20[4] = var_20[4] + pCVar13->direction[var_4].alpha;
            }
            var_7 = pCVar13->direction[var_4].red;
            var_8 = var_14(var_7);
            if (var_15 <= var_8) {
              var_8 = var_16(var_8);
              pCVar13 = *var_19 + var_6;
            }
            else {
              var_8 = (double)DAT_002f4200;
            }
            var_31[0x20] = var_31[0x20] - var_8 * var_7;
            var_7 = pCVar13->direction[var_4].green;
            var_8 = var_14(var_7);
            if (var_15 <= var_8) {
              var_8 = var_16(var_8);
              pCVar13 = *var_19 + var_6;
            }
            else {
              var_8 = (double)DAT_002f4200;
            }
            var_31[0x58] = var_31[0x58] - var_8 * var_7;
            var_7 = pCVar13->direction[var_4].blue;
            var_8 = var_14(var_7);
            if (var_15 <= var_8) {
              var_8 = var_16(var_8);
              pCVar13 = *var_19 + var_6;
            }
            else {
              var_8 = (double)DAT_002f4200;
            }
            var_9 = pIVar5->colorspace;
            var_31[0x90] = var_31[0x90] - var_8 * var_7;
            if (var_9 == var_10) {
              var_7 = pCVar13->direction[var_4].black;
              var_8 = var_14(var_7);
              if (var_15 <= var_8) {
                var_8 = var_16(var_8);
                pCVar13 = *var_19 + var_6;
              }
              else {
                var_8 = (double)DAT_002f4200;
              }
              var_31[200] = var_31[200] - var_8 * var_7;
            }
            var_17 = pIVar5->alpha_trait;
            if (var_17 != var_12) {
              var_7 = pCVar13->direction[var_4].alpha;
              var_8 = var_14(var_7);
              if (var_15 <= var_8) {
                var_8 = var_16(var_8);
                pCVar13 = *var_19 + var_6;
                var_17 = pIVar5->alpha_trait;
              }
              else {
                var_8 = (double)DAT_002f4200;
              }
              var_31[0x100] = var_31[0x100] - var_8 * var_7;
            }
            *var_18 = *var_18 + pCVar13->direction[var_4].red;
            var_18[1] = var_18[1] + pCVar13->direction[var_4].green;
            var_18[2] = var_18[2] + pCVar13->direction[var_4].blue;
            if (var_17 != var_12) {
              var_18[4] = var_18[4] + pCVar13->direction[var_4].alpha;
            }
            if (pIVar5->colorspace == var_10) {
              var_18[3] = var_18[3] + pCVar13->direction[var_4].black;
              *var_24 = *var_24 + pCVar13->direction[var_4].red;
              var_24[1] = var_24[1] + pCVar13->direction[var_4].green;
              var_24[2] = var_24[2] + pCVar13->direction[var_4].blue;
              var_24[3] = var_24[3] + pCVar13->direction[var_4].black;
            }
            else {
              *var_24 = *var_24 + pCVar13->direction[var_4].red;
              var_24[1] = var_24[1] + pCVar13->direction[var_4].green;
              var_24[2] = var_24[2] + pCVar13->direction[var_4].blue;
            }
            if (var_17 == var_12) {
              var_11 = var_12;
              var_9 = pIVar5->colorspace;
            }
            else {
              var_9 = pIVar5->colorspace;
              var_24[4] = var_24[4] + pCVar13->direction[var_4].alpha;
              var_11 = var_17;
            }
            var_13 = var_13 - 1;
            var_18 = var_18 + 0x28;
            var_19 = var_19 + 1;
            var_20 = var_20 + 0x28;
            var_21 = var_21 + var_6;
          } while (var_6 - var_22 != var_13);
          var_7 = (double)(int)var_6;
          pCVar13 = this->mean;
          pCVar15 = this->sum_squares;
          pCVar13->direction[var_4].red = *var_23 * var_7 + pCVar13->direction[var_4].red;
          var_8 = (double)(int)(var_6 * var_6);
          pCVar15->direction[var_4].red = *var_23 * var_8 + pCVar15->direction[var_4].red;
          pCVar13->direction[var_4].green =
               var_23[1] * var_7 + pCVar13->direction[var_4].green;
          pCVar15->direction[var_4].green =
               var_23[1] * var_8 + pCVar15->direction[var_4].green;
          pCVar13->direction[var_4].blue =
               var_23[2] * var_7 + pCVar13->direction[var_4].blue;
          pCVar15->direction[var_4].blue =
               var_23[2] * var_8 + pCVar15->direction[var_4].blue;
          if (var_9 == var_10) {
            pCVar13->direction[var_4].black =
                 var_23[3] * var_7 + pCVar13->direction[var_4].black;
            pCVar15->direction[var_4].black =
                 var_23[3] * var_8 + pCVar15->direction[var_4].black;
          }
          if (var_17 != var_12) {
            pCVar13->direction[var_4].alpha =
                 var_7 * var_23[4] + pCVar13->direction[var_4].alpha;
            pCVar15->direction[var_4].alpha =
                 var_8 * var_23[4] + pCVar15->direction[var_4].alpha;
          }
          var_6 = var_6 + 1;
          var_23 = var_23 + 0x28;
          var_24 = var_24 + 0x28;
          var_25 = var_25 + 0x28;
        } while (var_6 != var_22);
      }
      pCVar14 = this->correlation;
      var_7 = pCVar13->direction[var_4].red;
      var_7 = var_7 * var_7;
      var_8 = pCVar14->direction[var_4].red;
      var_27 = pCVar15->direction[var_4].red - var_7;
      var_29 = var_26(var_27);
      if (var_27 < 0.0) {
        var_28(var_27);
        pCVar13 = this->mean;
        pCVar15 = this->sum_squares;
        var_29 = pCVar13->direction[var_4].red;
        var_30 = pCVar15->direction[var_4].red - var_29 * var_29;
        var_29 = var_26(var_30);
        if (0.0 <= var_30) {
          pCVar14 = this->correlation;
        }
        else {
          var_28(var_30);
          pCVar13 = this->mean;
          pCVar14 = this->correlation;
          pCVar15 = this->sum_squares;
        }
      }
      var_31[8] = (var_8 - var_7) / (var_29 * var_26(var_27));
      var_7 = pCVar13->direction[var_4].green;
      var_7 = var_7 * var_7;
      var_8 = pCVar14->direction[var_4].green;
      var_27 = pCVar15->direction[var_4].green - var_7;
      var_29 = var_26(var_27);
      if (var_27 < 0.0) {
        var_28(var_27);
        pCVar13 = this->mean;
        pCVar15 = this->sum_squares;
        var_29 = pCVar13->direction[var_4].green;
        var_30 = pCVar15->direction[var_4].green - var_29 * var_29;
        var_29 = var_26(var_30);
        if (0.0 <= var_30) {
          pCVar14 = this->correlation;
        }
        else {
          var_28(var_30);
          pCVar13 = this->mean;
          pCVar14 = this->correlation;
          pCVar15 = this->sum_squares;
        }
      }
      var_31[0x40] = (var_8 - var_7) / (var_29 * var_26(var_27));
      var_7 = pCVar13->direction[var_4].blue;
      var_7 = var_7 * var_7;
      var_8 = pCVar14->direction[var_4].blue;
      var_27 = pCVar15->direction[var_4].blue - var_7;
      var_29 = var_26(var_27);
      if (var_27 < 0.0) {
        var_28(var_27);
        var_29 = this->mean->direction[var_4].blue;
        var_30 = this->sum_squares->direction[var_4].blue - var_29 * var_29;
        var_29 = var_26(var_30);
        if (var_30 < 0.0) {
          var_28(var_30);
        }
      }
      var_9 = pIVar5->colorspace;
      var_31[0x78] = (var_8 - var_7) / (var_29 * var_26(var_27));
      if (var_9 == var_10) {
        var_7 = this->mean->direction[var_4].black;
        var_7 = var_7 * var_7;
        var_8 = this->correlation->direction[var_4].black;
        var_27 = this->sum_squares->direction[var_4].black - var_7;
        var_29 = var_26(var_27);
        if (var_27 < 0.0) {
          var_28(var_27);
          var_29 = this->mean->direction[var_4].black;
          var_30 = this->sum_squares->direction[var_4].black - var_29 * var_29;
          var_29 = var_26(var_30);
          if (var_30 < 0.0) {
            var_28(var_30);
          }
        }
        var_31[0xb0] = (var_8 - var_7) / (var_29 * var_26(var_27));
      }
      if (pIVar5->alpha_trait != var_12) {
        var_7 = this->mean->direction[var_4].alpha;
        var_7 = var_7 * var_7;
        var_8 = this->correlation->direction[var_4].alpha;
        var_27 = this->sum_squares->direction[var_4].alpha - var_7;
        var_29 = var_26(var_27);
        if (var_27 < 0.0) {
          var_28(var_27);
          var_29 = this->mean->direction[var_4].alpha;
          var_30 = this->sum_squares->direction[var_4].alpha - var_29 * var_29;
          var_29 = var_26(var_30);
          if (var_30 < 0.0) {
            var_28(var_30);
          }
        }
        var_31[0xe8] = (var_8 - var_7) / (var_29 * var_26(var_27));
      }
      var_4 = var_4 + 1;
      var_31 = var_31 + 1;
      var_32 = var_32 + 10;
      var_33 = var_33 + 10;
      var_34 = var_34 + 10;
      var_35 = var_35 + 10;
    } while (var_5 != var_4);
  }
  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: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (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: (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: (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: (pointer_declarator 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))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) 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: (subscript_expression argument: (identifier) index: (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: (subscript_expression argument: (identifier) index: (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: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) alternative: (else_clause (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)) 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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_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: (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: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (subscript_expression argument: (identifier) index: (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: (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: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (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: (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: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (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: (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: (subscript_expression argument: (identifier) index: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) 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: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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: (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: (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: (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: (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: (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: (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: (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: (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: (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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: (number_literal))))) right: (binary_expression left: (binary_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: (binary_expression left: (identifier) right: (number_literal)) right: (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: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (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: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (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: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (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: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (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: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))) right: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) 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: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) 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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (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: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_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)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (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: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (identifier)) right: (binary_expression left: (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (number_literal))) 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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) 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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))))))) (expression_statement (assignment_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)))) (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))))) condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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: (number_literal))))) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (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: (identifier)) right: (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: (number_literal))))) right: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (number_literal))))) right: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (number_literal))))) right: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (number_literal))))) right: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (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: (number_literal))))) right: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (number_literal))))) right: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (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: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (pointer_expression argument: (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: (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: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (pointer_expression argument: (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: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (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: (binary_expression left: (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: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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 (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (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: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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: (binary_expression left: (identifier) right: (number_literal)) 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: (binary_expression left: (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: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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 (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (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: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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: (binary_expression left: (identifier) right: (number_literal)) 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: (binary_expression left: (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: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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 (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (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: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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 (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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 (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (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: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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 (identifier)))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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: (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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 (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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (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: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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 (identifier)))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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: (identifier) right: (identifier)))))) (return_statement))))

/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

void MASKED(int *param_1)

{
  double dVar1;
  double dVar2;
  int *piVar3;
  int iVar4;
  double dVar5;
  double dVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  int iVar12;
  int iVar13;
  int iVar14;
  int iVar15;
  double *pdVar16;
  double *pdVar17;
  int iVar18;
  double dVar19;
  int local_74;
  int *local_6c;
  double *local_64;
  double *local_60;
  int local_58;
  int local_50;
  double *local_4c;
  double *local_3c;
  int local_38;
  double *local_34;
  double *local_2c;
  double *local_28;
  double *local_24;
  
  iVar7 = omp_get_num_threads();
  iVar8 = omp_get_thread_num();
  iVar9 = (int)(4 / (longlong)iVar7);
  local_38 = (int)(4 % (longlong)iVar7);
  if (iVar8 < local_38) {
    iVar9 = iVar9 + 1;
    local_38 = 0;
  }
  local_38 = iVar8 * iVar9 + local_38;
  iVar9 = iVar9 + local_38;
  if (local_38 < iVar9) {
    iVar8 = param_1[10];
    piVar3 = (int *)param_1[2];
    iVar4 = *param_1;
    pdVar16 = (double *)(param_1[1] + local_38 * 8);
    iVar7 = local_38 * 0x50 + 0x20;
    local_34 = (double *)(param_1[4] + iVar7);
    local_24 = (double *)(param_1[8] + iVar7);
    local_28 = (double *)(iVar7 + param_1[6]);
    local_2c = (double *)(param_1[5] + 0x2a0 + local_38 * 0x50);
    do {
      if (iVar8 < 1) {
        iVar7 = param_1[7];
        iVar14 = param_1[9];
      }
      else {
        local_50 = 0;
        iVar12 = *(int *)(iVar4 + 4);
        iVar18 = *(int *)(iVar4 + 0x294);
        local_3c = local_2c;
        local_4c = local_28;
        local_60 = local_24;
        iVar10 = local_38 * 0x50;
        do {
          local_58 = 0;
          local_74 = local_50;
          iVar7 = local_50 * 0x140;
          local_64 = local_3c;
          pdVar17 = local_34;
          local_6c = piVar3;
          do {
            iVar11 = iVar7 + *local_6c;
            iVar14 = iVar11 + iVar10;
            dVar1 = *(double *)(iVar14 + 0x20);
            *pdVar16 = dVar1 * dVar1 + *pdVar16;
            pdVar16[0x38] = *(double *)(iVar14 + 0x28) * *(double *)(iVar14 + 0x28) + pdVar16[0x38];
            pdVar16[0x70] = *(double *)(iVar14 + 0x30) * *(double *)(iVar14 + 0x30) + pdVar16[0x70];
            if (iVar12 == 2) {
              pdVar16[0xa8] =
                   *(double *)(iVar14 + 0x38) * *(double *)(iVar14 + 0x38) + pdVar16[0xa8];
            }
            if (iVar18 != 0) {
              dVar19 = *(double *)(iVar11 + 0x40 + iVar10);
              pdVar16[0xe0] = dVar19 * dVar19 + pdVar16[0xe0];
            }
            iVar14 = iVar11 + iVar10;
            *local_60 = dVar1 + *local_60;
            local_60[1] = local_60[1] + *(double *)(iVar14 + 0x28);
            local_60[2] = local_60[2] + *(double *)(iVar14 + 0x30);
            if (iVar12 == 2) {
              local_60[3] = local_60[3] + *(double *)(iVar14 + 0x38);
            }
            if (iVar18 != 0) {
              local_60[4] = local_60[4] + *(double *)(iVar11 + 0x40 + iVar10);
            }
            dVar1 = (double)local_58;
            iVar15 = param_1[3];
            iVar14 = iVar11 + iVar10;
            iVar13 = iVar15 + iVar10;
            *(double *)(iVar13 + 0x20) =
                 *(double *)(iVar14 + 0x20) * dVar1 + *(double *)(iVar13 + 0x20);
            *(double *)(iVar13 + 0x28) =
                 *(double *)(iVar14 + 0x28) * dVar1 + *(double *)(iVar13 + 0x28);
            *(double *)(iVar13 + 0x30) =
                 *(double *)(iVar14 + 0x30) * dVar1 + *(double *)(iVar13 + 0x30);
            if (iVar12 == 2) {
              *(double *)(iVar13 + 0x38) =
                   *(double *)(iVar14 + 0x38) * dVar1 + *(double *)(iVar13 + 0x38);
            }
            if (iVar18 != 0) {
              iVar15 = iVar15 + iVar10;
              *(double *)(iVar15 + 0x40) =
                   dVar1 * *(double *)(iVar11 + 0x40 + iVar10) + *(double *)(iVar15 + 0x40);
            }
            iVar14 = iVar11 + iVar10;
            dVar1 = *(double *)(iVar14 + 0x20);
            dVar19 = (double)(local_74 * local_74 + 1);
            pdVar16[0x10] = dVar1 / dVar19 + pdVar16[0x10];
            pdVar16[0x48] = *(double *)(iVar14 + 0x28) / dVar19 + pdVar16[0x48];
            pdVar16[0x80] = *(double *)(iVar14 + 0x30) / dVar19 + pdVar16[0x80];
            if (iVar12 == 2) {
              pdVar16[0xb8] = *(double *)(iVar14 + 0x38) / dVar19 + pdVar16[0xb8];
            }
            if (iVar18 != 0) {
              pdVar16[0xf0] = *(double *)(iVar11 + 0x40 + iVar10) / dVar19 + pdVar16[0xf0];
            }
            iVar14 = iVar11 + iVar10;
            *local_64 = dVar1 + *local_64;
            local_64[1] = local_64[1] + *(double *)(iVar14 + 0x28);
            local_64[2] = local_64[2] + *(double *)(iVar14 + 0x30);
            if (iVar12 == 2) {
              local_64[3] = local_64[3] + *(double *)(iVar14 + 0x38);
            }
            if (iVar18 != 0) {
              local_64[4] = local_64[4] + *(double *)(iVar11 + 0x40 + iVar10);
            }
            dVar1 = *(double *)(iVar11 + 0x20 + iVar10);
            dVar19 = ABS(dVar1);
            if (DAT_002ea690 <= dVar19) {
              dVar19 = log10(dVar19);
              iVar11 = iVar7 + *local_6c;
            }
            else {
              dVar19 = (double)DAT_002f4200;
            }
            pdVar16[0x20] = pdVar16[0x20] - dVar19 * dVar1;
            dVar1 = *(double *)(iVar11 + 0x28 + iVar10);
            dVar19 = ABS(dVar1);
            if (DAT_002ea690 <= dVar19) {
              dVar19 = log10(dVar19);
              iVar11 = iVar7 + *local_6c;
            }
            else {
              dVar19 = (double)DAT_002f4200;
            }
            pdVar16[0x58] = pdVar16[0x58] - dVar19 * dVar1;
            dVar1 = *(double *)(iVar11 + 0x30 + iVar10);
            dVar19 = ABS(dVar1);
            if (DAT_002ea690 <= dVar19) {
              dVar19 = log10(dVar19);
              iVar11 = iVar7 + *local_6c;
            }
            else {
              dVar19 = (double)DAT_002f4200;
            }
            iVar14 = *(int *)(iVar4 + 4);
            pdVar16[0x90] = pdVar16[0x90] - dVar19 * dVar1;
            if (iVar14 == 2) {
              dVar1 = *(double *)(iVar11 + 0x38 + iVar10);
              dVar19 = ABS(dVar1);
              if (DAT_002ea690 <= dVar19) {
                dVar19 = log10(dVar19);
                iVar11 = iVar7 + *local_6c;
              }
              else {
                dVar19 = (double)DAT_002f4200;
              }
              pdVar16[200] = pdVar16[200] - dVar19 * dVar1;
            }
            iVar15 = *(int *)(iVar4 + 0x294);
            if (iVar15 != 0) {
              dVar1 = *(double *)(iVar11 + 0x40 + iVar10);
              dVar19 = ABS(dVar1);
              if (DAT_002ea690 <= dVar19) {
                dVar19 = log10(dVar19);
                iVar11 = iVar7 + *local_6c;
                iVar15 = *(int *)(iVar4 + 0x294);
              }
              else {
                dVar19 = (double)DAT_002f4200;
              }
              pdVar16[0x100] = pdVar16[0x100] - dVar19 * dVar1;
            }
            iVar14 = iVar11 + iVar10;
            *pdVar17 = *pdVar17 + *(double *)(iVar14 + 0x20);
            pdVar17[1] = pdVar17[1] + *(double *)(iVar14 + 0x28);
            pdVar17[2] = pdVar17[2] + *(double *)(iVar14 + 0x30);
            if (iVar15 != 0) {
              pdVar17[4] = pdVar17[4] + *(double *)(iVar14 + 0x40);
            }
            if (*(int *)(iVar4 + 4) == 2) {
              iVar14 = iVar11 + iVar10;
              pdVar17[3] = pdVar17[3] + *(double *)(iVar14 + 0x38);
              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);
              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);
              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);
              local_4c[3] = local_4c[3] + *(double *)(iVar14 + 0x38);
            }
            else {
              iVar14 = iVar11 + iVar10;
              *local_4c = *local_4c + *(double *)(iVar14 + 0x20);
              local_4c[1] = local_4c[1] + *(double *)(iVar14 + 0x28);
              local_4c[2] = local_4c[2] + *(double *)(iVar14 + 0x30);
            }
            if (iVar15 == 0) {
              iVar18 = 0;
              iVar12 = *(int *)(iVar4 + 4);
            }
            else {
              iVar12 = *(int *)(iVar4 + 4);
              local_4c[4] = local_4c[4] + *(double *)(iVar11 + 0x40 + iVar10);
              iVar18 = iVar15;
            }
            local_74 = local_74 + -1;
            pdVar17 = pdVar17 + 0x28;
            local_6c = local_6c + 1;
            local_64 = local_64 + 0x28;
            local_58 = local_58 + local_50;
          } while (local_50 - iVar8 != local_74);
          dVar1 = (double)local_50;
          iVar7 = param_1[7];
          iVar14 = param_1[9];
          iVar11 = iVar7 + iVar10;
          *(double *)(iVar11 + 0x20) = *local_60 * dVar1 + *(double *)(iVar11 + 0x20);
          dVar19 = (double)(local_50 * local_50);
          iVar13 = iVar14 + iVar10;
          *(double *)(iVar13 + 0x20) = *local_60 * dVar19 + *(double *)(iVar13 + 0x20);
          *(double *)(iVar11 + 0x28) = local_60[1] * dVar1 + *(double *)(iVar11 + 0x28);
          *(double *)(iVar13 + 0x28) = local_60[1] * dVar19 + *(double *)(iVar13 + 0x28);
          *(double *)(iVar11 + 0x30) = local_60[2] * dVar1 + *(double *)(iVar11 + 0x30);
          *(double *)(iVar13 + 0x30) = local_60[2] * dVar19 + *(double *)(iVar13 + 0x30);
          if (iVar12 == 2) {
            *(double *)(iVar11 + 0x38) = local_60[3] * dVar1 + *(double *)(iVar11 + 0x38);
            *(double *)(iVar13 + 0x38) = local_60[3] * dVar19 + *(double *)(iVar13 + 0x38);
          }
          if (iVar15 != 0) {
            *(double *)(iVar7 + iVar10 + 0x40) =
                 dVar1 * local_60[4] + *(double *)(iVar7 + iVar10 + 0x40);
            *(double *)(iVar14 + iVar10 + 0x40) =
                 dVar19 * local_60[4] + *(double *)(iVar14 + iVar10 + 0x40);
          }
          local_50 = local_50 + 1;
          local_60 = local_60 + 0x28;
          local_4c = local_4c + 0x28;
          local_3c = local_3c + 0x28;
        } while (local_50 != iVar8);
      }
      iVar12 = param_1[3];
      iVar18 = local_38 * 0x50;
      dVar1 = *(double *)(iVar7 + 0x20 + iVar18);
      dVar1 = dVar1 * dVar1;
      dVar19 = *(double *)(iVar12 + 0x20 + iVar18);
      dVar5 = *(double *)(iVar14 + 0x20 + iVar18) - dVar1;
      dVar2 = SQRT(dVar5);
      if (dVar5 < 0.0) {
        sqrt(dVar5);
        iVar7 = param_1[7];
        iVar14 = param_1[9];
        dVar2 = *(double *)(iVar7 + 0x20 + iVar18);
        dVar6 = *(double *)(iVar14 + 0x20 + iVar18) - dVar2 * dVar2;
        dVar2 = SQRT(dVar6);
        if (0.0 <= dVar6) {
          iVar12 = param_1[3];
        }
        else {
          sqrt(dVar6);
          iVar7 = param_1[7];
          iVar12 = param_1[3];
          iVar14 = param_1[9];
        }
      }
      iVar18 = local_38 * 0x50;
      pdVar16[8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));
      dVar1 = *(double *)(iVar7 + 0x28 + iVar18);
      dVar1 = dVar1 * dVar1;
      dVar19 = *(double *)(iVar12 + 0x28 + iVar18);
      dVar5 = *(double *)(iVar14 + 0x28 + iVar18) - dVar1;
      dVar2 = SQRT(dVar5);
      if (dVar5 < 0.0) {
        sqrt(dVar5);
        iVar7 = param_1[7];
        iVar14 = param_1[9];
        dVar2 = *(double *)(iVar7 + 0x28 + iVar18);
        dVar6 = *(double *)(iVar14 + 0x28 + iVar18) - dVar2 * dVar2;
        dVar2 = SQRT(dVar6);
        if (0.0 <= dVar6) {
          iVar12 = param_1[3];
        }
        else {
          sqrt(dVar6);
          iVar7 = param_1[7];
          iVar12 = param_1[3];
          iVar14 = param_1[9];
        }
      }
      iVar18 = local_38 * 0x50;
      pdVar16[0x40] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));
      dVar1 = *(double *)(iVar7 + 0x30 + iVar18);
      dVar1 = dVar1 * dVar1;
      dVar19 = *(double *)(iVar12 + 0x30 + iVar18);
      dVar5 = *(double *)(iVar14 + 0x30 + iVar18) - dVar1;
      dVar2 = SQRT(dVar5);
      if (dVar5 < 0.0) {
        sqrt(dVar5);
        dVar2 = *(double *)(param_1[7] + iVar18 + 0x30);
        dVar6 = *(double *)(iVar18 + param_1[9] + 0x30) - dVar2 * dVar2;
        dVar2 = SQRT(dVar6);
        if (dVar6 < 0.0) {
          sqrt(dVar6);
        }
      }
      iVar7 = *(int *)(iVar4 + 4);
      pdVar16[0x78] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));
      if (iVar7 == 2) {
        iVar7 = local_38 * 0x50;
        dVar1 = *(double *)(param_1[7] + iVar7 + 0x38);
        dVar1 = dVar1 * dVar1;
        dVar19 = *(double *)(param_1[3] + iVar7 + 0x38);
        dVar5 = *(double *)(param_1[9] + iVar7 + 0x38) - dVar1;
        dVar2 = SQRT(dVar5);
        if (dVar5 < 0.0) {
          sqrt(dVar5);
          dVar2 = *(double *)(param_1[7] + iVar7 + 0x38);
          dVar6 = *(double *)(iVar7 + param_1[9] + 0x38) - dVar2 * dVar2;
          dVar2 = SQRT(dVar6);
          if (dVar6 < 0.0) {
            sqrt(dVar6);
          }
        }
        pdVar16[0xb0] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));
      }
      if (*(int *)(iVar4 + 0x294) != 0) {
        iVar7 = local_38 * 0x50;
        dVar1 = *(double *)(param_1[7] + iVar7 + 0x40);
        dVar1 = dVar1 * dVar1;
        dVar19 = *(double *)(param_1[3] + iVar7 + 0x40);
        dVar5 = *(double *)(param_1[9] + iVar7 + 0x40) - dVar1;
        dVar2 = SQRT(dVar5);
        if (dVar5 < 0.0) {
          sqrt(dVar5);
          dVar2 = *(double *)(param_1[7] + iVar7 + 0x40);
          dVar6 = *(double *)(iVar7 + param_1[9] + 0x40) - dVar2 * dVar2;
          dVar2 = SQRT(dVar6);
          if (dVar6 < 0.0) {
            sqrt(dVar6);
          }
        }
        pdVar16[0xe8] = (dVar19 - dVar1) / (dVar2 * SQRT(dVar5));
      }
      local_38 = local_38 + 1;
      pdVar16 = pdVar16 + 1;
      local_34 = local_34 + 10;
      local_24 = local_24 + 10;
      local_28 = local_28 + 10;
      local_2c = local_2c + 10;
    } while (iVar9 != local_38);
  }
  return;
}

